Unregister Library issue

Got a problem you cannot solve? Try here.
Gunter
Posts: 13
Joined: Wed Nov 22, 2006 7:36 am

Unregister Library issue

Postby Gunter » Wed Nov 22, 2006 7:57 am

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

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Wed Nov 22, 2006 11:23 am

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?
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/

Gunter
Posts: 13
Joined: Wed Nov 22, 2006 7:36 am

Postby Gunter » Wed Nov 22, 2006 5:28 pm

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.


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 33 guests