EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Helper-DLLs uninstall and reinstall bug?

Also by EldoS: SecureBlackbox
200+ components and classes for digital security, signing, encryption and secure networking.
Posted: 11/03/2009 12:21:14
by Bastian Moldenhauer (Standard support level)
Joined: 06/04/2009
Posts: 40


I think I just found a bug in the UninstallHelperDll-function.
Steps to reproduce:
1. make sure helper-dlls are installed and have been used
2. uninstall the driver + helper-dlls. do not restart pc.
3. install driver + helper-dlls
4. restart
5. mount drive with driveletter

You will probably see that the drive is labeled like "Disconnected Network Drive". When you look into "windows/system32" you will see that both helper-dlls are missing.

What I figured out so far is that you use some RenameFileEx() calls in the uninstall routines of your helper-dlls to delay uninstall/delete until the next reboot. If you look into the registry under the key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations" after step 3 you will see something like this





This has the effect that you delete all dlls, the old ones(.dll_) and the new ones (.dll).

I just tried it with the current build and found the entry "\??\C:\Windows\system32\VSNetRdr.dll" in the registry which is still wrong.

Hopes this helps you reproduce and fix the bug.
For those who need a work around I attached my simple C# workaround. Simply execute the code while you are installing the driver.


[ Download ]
Posted: 11/03/2009 13:29:04
by Eugene Mayevski (EldoS Corp.)

Thank you for detailed feedback. I am moving your message to HelpDesk so that developers can investigate the issue deeper.

Sincerely yours
Eugene Mayevski



Topic viewed 1284 times

Number of guests: 1, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!