Hi,
First of all, I'm evaluating InstallAware 6.06 before buying it, to replace my (buggy) InstallShield 7.04. So far, I'm pleased with it (even wrote some extension plug-ins), but I have some questions:
For my installer, I need to register some COM libraries, and I use the command Register Library (after Apply Install) for this, and it works fine.
Now, when I uninstall the app, I unregister the COM DLL's with the command Unregister Library, right befor Apply Uninstall. When the uninstall is complete, the COM DLL's are still there...
To narrow this down, I logged the uninstall (/l=log.txt), and it appears that the installer itself is holding the COM DLL's open, and only can remove it on reboot. And indeed, after a reboot, they are gone. Strange thing is, that the variable SUCCESS is set to COMPLETE, and not to REBOOT, so the user isn't notified to reboot the machine...
I know for sure that the registered DLL's are not used by any other application, so their ref count is 0 after the Unregister Library command, and therefore they should be deletable.
Now, I replaced the Unregister Library command with a Run Program regsvr32 <com dll> /s /u, and this works perfectly, the files are removed after uninstall, and the registry is cleaned as well.
I could use this method, but I prefer the clean method of Uninstall Library. Another solution is to create a plugin which does the unreg, but I figure Unregister Library have to work properly.
Anybody suggestions, idea's?
ps. I test everything on a clean WinXP install on VMWare
Unregister Library issue
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
I guess what's happening is that the InstallAware setup is loading these files when that command is used, and is unable to "release" them until actually exiting.
Its interesting the MSI engine doesn't return a need for a reboot, perhaps that is because the files can be directly overwritten without a reboot right after setup ends?
Its interesting the MSI engine doesn't return a need for a reboot, perhaps that is because the files can be directly overwritten without a reboot right after setup ends?
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
Its interesting the MSI engine doesn't return a need for a reboot, perhaps that is because the files can be directly overwritten without a reboot right after setup ends?
That's possible, I'll try that. I will also create a small plug-in to unregister the DLL's, and see what happen after an uninstall. I prefer that over a regsvr32 run because I don't know how that will react on different OS's.
Who is online
Users browsing this forum: No registered users and 33 guests