Hello,
I am relatively new to WiX. It is a great tool, but I still need some time to learn it better. I have encountered a problem with registration and unregistration of a COM component. I have created installers for two applications, lets call them A and B. Both are using the same COM component. I have used the heat tool, as recommended. When installing A or B, the component is registered without any problems.
But when I install A and B, then remove A (with Add/Remove programs) the COM class gets unregistered and B cannot use it anymore. Is there a clean solution to prevent this from happening? I would like to unregister the COM when BOTH A and B are uninstalled.
Any help would be appreciated,
Best regards, madbadger
EDIT: Thanks for your responses. I set the GUID to the same value in the both installers and now the registry keys are being removed properly, that is when the last program is removed from system.
Hovewer, the problem persists for one reason. I have checked the registry under HKEY_CLASSES_ROOT/CLSID/[appropriate COM GUID]. This is what happens:
- I install A and the path to COM is set to [path to A/component.dll]
- I install B and the path to COM is set to [path to B/component.dll]
- I remove B and the path to COM remains [path to B/component.dll]
- Now A cannot access the COM component althrough it is registered, because [path to B/component.dll] does not exist anymore
Now I assume it is obligatory to put the COM component in the same directory for both applications. Is Windows Installer not able to revert to the old path, or is it something I am missing?