I created an installer in wise, for a Delphi application which using an in-proc (DLL) COM-Server. I configured the DLL in the Wise project as "Do not register", but after a test installation it is registered anyway?
Is this an "undocumented feature" of WISE or am I doing something wrong?
Does anyone have a workaround or a fix for this issue?
P.S. The reason that I don't want to register the DLL is that on target PC that COM server already may be registered for another application with specific settings (threading model, path, etc) which I don't want to touch.
I found a possible solution or workaround (possible because I did't understand it till the end, but it's working).
COM DLL will be registered on target PC, even if it is marked with "Do not register", in case if it is registered on deployment PC. Solution:
After these steps it works as expected - DLL is not registered on target PC.
It seems this is happening because of windows installer advertising (which still i didn't understand properly), but from WISE documentation I found:
"How Self-Registration Information is Captured When you add a .DLL or .OCX file containing COM self-registration information to an installation, its registration information is scanned and the appropriate registry keys are added to the installation. This system of registration is more robust than letting the file self-register at installation time because it does not depend on the presence of other files on the destination computer or on how well the .OCX or .DLL file adheres to self-registration conventions."
For this reason as additional measure, before above described steps, I changed WISE Advertising options:
For Advertising Setting:
selected Do not scan advertising information
option.
Unchecked option Automatically add self-registration
.
All this written is actual solution, but thanks to @Christopher Painter response I was introduced in "DLL Hell" terminology, especially for COM DLLs, so that as LONG-TERM solution (in perspective) i would check for Registration-Free Activation of COM Components (link).