Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

How to remove a DLL from the System32 folder?


1 reply to this topic

RothmansUA

RothmansUA
  • Full Members
  • 24 posts

Posted 09 August 2006 - 18:16

Hi everybody,

I am struggling with my MSI package, which I am creating using WiX toolset.
The package must perform some custom actions and put one DLL file to the Windows System32 folder.

So far so good and my installation works fine.
The uninstallation ends successfully too, but leaves behind the DLL file in the System32 folder. Uninstallation does not remove it.

The DLL file is used by the print spooler process during its operation and I have suspiction, that the spooler process holds the file and does not allow Installer to clean up it during uninstallation.

I used StopService action in order to stop spooler before uninstallation. I also used my custom action, where I stop spooler process manually. Nothing helps, the DLL file is being left in the System32 folder, although other files of the package located in non-system folders are deleted well.

The uninstallation log file contains no mentions about my orphaned DLL file. According to this log, the RemoveFile action ends up with "Return value 0" (failure as I understand).

Also it is strange for me, that the log says, that StopServices action and RemoveFiles action start almost simultaneousely, although I have specified 51 in Event column of the ServiceControl table (wait untill service stops). Are Stop/StartService actions postponed till the "deferred" execution, or they execute immediately during "script generation"?

Please help me to remove my DLL from the system folder!

Thank you.


RothmansUA

RothmansUA
  • Full Members
  • 24 posts

Posted 10 August 2006 - 13:36

Removing orphaned reference in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
registry key before correct instllation solved my problem.