Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ship dokan1.dll #173

Open
Rondom opened this issue Apr 25, 2018 · 5 comments
Open

Ship dokan1.dll #173

Rondom opened this issue Apr 25, 2018 · 5 comments

Comments

@Rondom
Copy link

Rondom commented Apr 25, 2018

Given that applications are supposed to have their own copy of dokan1.dll, I am wondering whether the nuget-package should ship dokan1.dll or whether there should be a separate nuget-package or vcpkg-package with dokan1.dll that the .NET nuget-package depends on.

What are the best practices regarding this? What do other C# libraries with dependencies on C-libraries do?

@Liryna
Copy link
Member

Liryna commented Apr 25, 2018

Hi @Rondom ,

From my experience, nuget has never been really great to handle native dependencies. It is possible but feel more like a hack than a nuget feature.
https://stackoverflow.com/questions/40104838/automatic-native-and-managed-dlls-extracting-from-nuget-package
Also if we do this, it means that we would need to update the packet each time there is a new version of dokany even if the API/C# Wrapper did not change and still work.

After if there is a real request from the community, I would understand it and I would be alright to make it happen.

@kyanha
Copy link
Contributor

kyanha commented May 13, 2018

I think the question is, "can we reasonably expect developers to have Dokan installed on their machines?" If people get it from nuget, I think it's safe to say "no, we can't." But on the flip side, if they try to run their code even in the presence of the DLL but without the driver, they won't get too far either. Would it be reasonable to put the requirement ("You must have Dokan installed, or else your filesystem will not load due to a missing DLL") in the license or other information dialog box that can optionally pop up when the Dokan.Net nuget package is installed?

@Liryna
Copy link
Member

Liryna commented May 13, 2018

This can be an idea ! I do not know if it is possible at the nuget install to detect the presence of a dll (dokan1.dll).

edit: Just seems to need to embed a Init.ps1

@kyanha
Copy link
Contributor

kyanha commented May 13, 2018

Please remember that Init.ps1 needs to be separately signed in order to operate on machines with the default PowerShell security profile.

@icnocop
Copy link
Contributor

icnocop commented Jan 14, 2021

I'm thinking this will prevent the exception DokanNet.DokanException: 'Version error' if I try to use an old version of this NuGet package with a newer version of Dokany.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants