When uninstalling the package, my ActiveX-DLLs are not unregistered in reverse order?
Another InstallShield bug in IS2008?
Anyone has a workaround?
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.
ISSelfReg order problem
Started by
Patrick Simons
, Apr 28 2008 08:14
3 replies to this topic
Posted 28 April 2008 - 22:04
Windows Installer doesn't guarantee any specific order for registering or unregistering ActiveX controls. Not sure if InstallShield's selfreg custom action is supposed to do that.
The recommended way is not to use selfreg but instead extract the registration data from the ActiveX file, either statically in your project, or at build.
The recommended way is not to use selfreg but instead extract the registration data from the ActiveX file, either statically in your project, or at build.
Stefan Krüger
InstallSite.org twitter facebook
Posted 29 April 2008 - 07:51
QUOTE (Stefan Krueger @ 2008-04-28 22:04) |
The recommended way is not to use selfreg but instead extract the registration data from the ActiveX file, either statically in your project, or at build. |
I know that "Com Extract at Build" is recommended as best practice. But my ActiveX-DLLs change a lot and I want get rid of the VAL0009 warnings (and I don't have the time to insert hundreds of entries in the RemoveRegistry table), so SelfReg works fine.
The ISSelfReg contains an order-column which is used while installing. So for me, not to reverse this order while uninstalling is a InstallShield bug...
Tx,
Patrick, MCP
Patrick, MCP
Posted 29 April 2008 - 10:30
While Uninstalling Time Ececute this function ...
it will unregister the dll ..
after that delete the dll .
i think this is usefull to you.
nResult = LaunchAppAndWait(SUPPORTDIR^"regsvr32.exe", WINSYSDIR^YourActiveXDLLName+ " \/u /\s",WAIT);
it will unregister the dll ..
after that delete the dll .
i think this is usefull to you.
nResult = LaunchAppAndWait(SUPPORTDIR^"regsvr32.exe", WINSYSDIR^YourActiveXDLLName+ " \/u /\s",WAIT);