dokan-dev / dokany

User mode file system library for windows with FUSE Wrapper
http://dokan-dev.github.io
5.15k stars 657 forks source link

Error Installing version 2.1.0.1000 #1200

Closed lbr77 closed 4 months ago

lbr77 commented 5 months ago

Feature request can skip this form. Bug report must complete it. Check List must be 100% match or it will be automatically closed without further discussion. Please remove this line.

Environment

Check List

Description

Failed Installing Dokan Library for many times. It shows up the error 0x80070643,but checking the Install Log I can't decide what to do.

Logs

Here's Log. Dokan_Library_2.1.0.1000_Bundle_20240130125757_000_Dokan_x64.msi.log

Liryna commented 5 months ago

Hi @lbr77 , Thanks for the logs. Seems like somehow the driver is already installed on the system. Was it manually install previously maybe ? dokanctl output : "DokanServiceInstall: Service (Dokan2) is already installed

dfirsec-au commented 5 months ago

Hi, I also get the same 0x80070643 error trying to install via .exe or .msi. I tried installing via the .exe first, but did not have the "DokanServiceInstall: Service (Dokan2) is already installed" message in my logs, so I tried the .msi package and I now get the same error and message you posted above. I am able to reinstall 2.0.6.1000 without any issues but if I uninstall 2.0.6.1000 and try to install 2.1.0.1000 I get the 0x80070643 error.

Please see my logs attached. Dokan_Library_2.1.0.1000_Bundle_20240201140437_000_Dokan_x64.msi.log

I can see dokan2.sys located in C:\Windows\System32\drivers\ even after an uninstall, but what is the best way to clean this up and reinstall? I assume this is why the error is occurring. image

dfirsec-au commented 5 months ago

Hi, I was able to rectify the issue, I had to manually delete the registry entry - HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\dokan2 then reboot. Once that was complete I was able to delete dokan2.sys from C:\Windows\System32\drivers\ and successfully install 2.1.0.1000.

LTRData commented 5 months ago

Hi, I was able to rectify the issue, I had to manually delete the registry entry - HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\dokan2 then reboot. Once that was complete I was able to delete dokan2.sys from C:\Windows\System32\drivers\ and successfully install 2.1.0.1000.

The registry should be deleted automatically at next reboot. The registry key stays present as long as the driver is loaded and because it is marked for deletion, it will be removed along with the registry key at next reboot.

You always need to reboot after having uninstalled Dokan driver before you can install it again.

dfirsec-au commented 5 months ago

Hi LTRData, I did reboot after uninstall and before attempting to install 2.1.0.1000 but the issue persisted. The only way to resolve it was the steps I followed above, I am not sure why but it stayed there until I manually removed the registry entry and driver.

LTRData commented 5 months ago

Hi LTRData, I did reboot after uninstall and before attempting to install 2.1.0.1000 but the issue persisted. The only way to resolve it was the steps I followed above, I am not sure why but it stayed there until I manually removed the registry entry and driver.

Are you sure that you really rebooted and not just shut down and boot up again?

dfirsec-au commented 5 months ago

Yes I rebooted and not just shut down

LTRData commented 5 months ago

Yes I rebooted and not just shut down

Okay. Not sure what happened then. I have not seen that exact behavior during any tests. It usually just work after reboot.

lbr77 commented 5 months ago

Hi, I was able to rectify the issue, I had to manually delete the registry entry - HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\dokan2 then reboot. Once that was complete I was able to delete dokan2.sys from C:\Windows\System32\drivers\ and successfully install 2.1.0.1000.

Thanks,that really works!

Liryna commented 5 months ago

Hum I agree with @LTRData , it should just work. If this can be repro, that would be nice to investigate but otherwise I don't know what we can do here.

algj commented 5 months ago

I have the same problem, I installed both DokanSetup.exe and DokanSetupDbg.exe. I am not sure if installing both of them causes this problem.

Liryna commented 5 months ago

I wasn't aware you could install both at the same time 😮 We shouldn't allow that. Can you share your install logs ?

algj commented 5 months ago

Oh, that's crazy - I tried it on a brand new Windows 11 VM and install has failed! Sadly, I do not have the old logs since I have deleted the Win10 VM :(

I failed to install 2.1.0.1699 (from appveyor) on a brand new Windows 11 (Tiny11) install - got 0x80070643 error: Dokan_Library_2.1.0.1699_Bundle_20240217193853_000_Dokan_x64.msi.log

I immediately tried to install 2.1.0.1000 after failure with 1699 and had an error too.

Liryna commented 5 months ago

This is normal the driver from appveyor is signed with a debug certificate. See the wiki how to enable debug cert drivers on the vm

algj commented 5 months ago

This is normal the driver from appveyor is signed with a debug certificate. See the wiki how to enable debug cert drivers on the vm

My mistake! :sweat_smile: What is weird that I'm unable to install version 2.1.0.1000 from GitHub Releases... I have a suspicion that it's because I tried to install the driver with a debug certificate, which may have left the drivers partially installed. On my previous W10 VM the installation problems have started when I tried to install signed with a debug cert too. Screenshot_20240217_202306

Dokan_Library_2.1.0.1699_Bundle_20240217203226_000_Dokan_x64.msi.log

ExecuteInstall:  dokanctl output : "DokanServiceInstall: Service (Dokan2) is already installed
Driver install failed
Driver path: 'C:\Windows\system32\drivers\dokan2.sys'
Installing driver...
"
ExecuteInstall:  dokanctl return an error (1)
LTRData commented 5 months ago

Yes if you have manually installed a driver somehow, or replaced the driver sys file with another file and then uninstalled the package, then the driver file with be left in place and will cause future setup packages to fail. If you have manually installed or replaced the driver sys file, you need to first remove it (or rename it if it cannot be removed) and use sc delete dokan2 and reboot to remove the driver registration from registry.

algj commented 5 months ago

That really makes sense!! Thank you, it worked @LTRData! I guess that means if you try to install dokany and it fails to install, it will continue failing...