cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
nkinstall
Level 3

Problem with advertised COM information (Darwin descriptors)

We are using Installshield 2018 (basic msi) for our application which includes COM dlls. These are registered using “COM extract at build”. After installation the registry includes an additional property InprocServer32 for each COM object holding a “Darwin descriptor”. This is probably because the COM information is advertised. When running the application on Windows 10 the initialization of each COM object is very slow. Monitoring the registry shows that registry is queried for information about all the dlls installed by the msi each time a COM object is initialized. (There are no messages in the event log when this happens.) Deleting the extra InprocServer32 property or registering the dlls manually with regsvr32 after installation solves the problem. How can we in InstallShield avoid having Darwin descriptors included in the registry for COM dlls (turn off advertising)? The Feature has the Advertise property set to "Disallow advertise".
0 Kudos
(4) Replies
shunt
Revenera Moderator Revenera Moderator
Revenera Moderator

There are a 3 different monitoring methods for COM extraction, and we can alter which one Installshield uses from a registry key.
This might give you a different result in your extracted COM data, so it might be worth a try.

Information on how to alter this can be found in the following document under the title: "Improvements for COM Extraction"
https://helpnet.flexerasoftware.com/installshield24helplib/helplibrary/whats_newIS2012.htm

0 Kudos

Thanks shunt, The registry key UseAPIRegistryHooks was already defined with the value of 1. Changing it to 0 or 2 makes "COM Extract at Build" fail. Switching from "COM Extract at Build" to "Self register" solves our problem, and we will now try to self register all COM dlls despite tha fact that it is not recommended in "Best practices"... Do you know if the UseAPIRegistryHooks setting has any impact when self registering COM dll's?
Jenifer
Flexera Alumni

Hi,

 

In addition to those methods which relies on registry key,you can give a try with Self-registration method as well.

You can find self register option on right clicking properties of file added under Files and Folders view

 

Thanks,

Jenifer

0 Kudos

Thanks Jennifer,

Self registration probably solves our problem, but we have tried to avoid this because it violates "Best practices". But now we'll give it a try!
0 Kudos