Hi all,
Has anyone had any sucsess using COM objects that they install during uninstallation? When I uninstall, my InstallScript code creates a reference to an installed COM component, uses it and then explicitly de-references the object (using "set o = nothing;"). The uninstall continues running without error but the file that houses the COM object is left behind and the uninstall asks the user to reboot.
The custom action that runs the InstallScript code is set as a deferred action and is sequenced before the "SelfUnRegModules" standard action.
Thanks in advance,
J
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.
Using COM objects during uninstall
Started by
joephayes
, Oct 06 2003 20:50
3 replies to this topic
Posted 06 October 2003 - 23:59
I have seen something similar happening with me. The reason that figured out is that when msiexec calls your CA, it creates a separate thread and loads your COM DLL/OCX to run the CA. But it doesn't unload that even though you do Set obj=Nothing.
It only deletes the file when you either finish running the installer or may be after reboot. This doesn't happen with CA of type 1.
I ended up writing CA in C++ rather than VB.
paracha3
It only deletes the file when you either finish running the installer or may be after reboot. This doesn't happen with CA of type 1.
I ended up writing CA in C++ rather than VB.
paracha3
Posted 07 October 2003 - 08:12
Do not use a deferred action, it will be executed during InstallFinalize, after all files etc. are moved.
Instead, use a normal action, schedule it before InstallValidate. You may need to do something about rollbacks.
Instead, use a normal action, schedule it before InstallValidate. You may need to do something about rollbacks.
Posted 22 October 2003 - 20:08
I rewrote the custom action as a C DLL. Now it works like a charm.
Thanks for the commentts!
Thanks for the commentts!