Hi there,
I am working on a Basic MSI project with IS 2012 Spring.
Our installation package must install a COM DLL on the target PC and register it.
So until recently I only set the "COM Extract at Build" to "Yes" and it did its magic. It extracted the corresponding COM entries in the Registry table, and the installed application ran smoothly.
But we recently upgraded our build servers, and we have got one that we have never used to actually build our application. Its only purpose it to build the installation package with IS 2012 Spring Standalone Build. So, the COM DLL has never been registered on this server.
We found out that the "COM Extract at Build" does not properly extract all the entries to the Registry table when building the installation package on this server. Some entries are missing, while other contain some wrong GUID's.
If we build the installation package on a server where the DLL was registered, all the COM info is correctly extracted.
So, here are my questions:
I am working on a Basic MSI project with IS 2012 Spring.
Our installation package must install a COM DLL on the target PC and register it.
So until recently I only set the "COM Extract at Build" to "Yes" and it did its magic. It extracted the corresponding COM entries in the Registry table, and the installed application ran smoothly.
But we recently upgraded our build servers, and we have got one that we have never used to actually build our application. Its only purpose it to build the installation package with IS 2012 Spring Standalone Build. So, the COM DLL has never been registered on this server.
We found out that the "COM Extract at Build" does not properly extract all the entries to the Registry table when building the installation package on this server. Some entries are missing, while other contain some wrong GUID's.
If we build the installation package on a server where the DLL was registered, all the COM info is correctly extracted.
So, here are my questions:
- Is that a known issue?
- Is there a way to make this work without registering the DLL on the build server?
- I thought of setting the DLL file to self-register, but it doesn't work. It displays an error message "Error 1904. Module C:\Program Files (x86)\My Company\My Product\MyCOM.dll failed to register. HRESULT -2147220473. Contact your support personnel.".
If I register the DLL by hand with regsvr32, it works fine.- How does Self-Reg differ from regsvr32?