This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- COM Server Registration Sequence
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 12, 2008
01:48 AM
COM Server Registration Sequence
I am using Basic MSI project to create setup for my application, and this will need to register some DLLs specifically after all other DLLs have been registered.
In the setup, I launched the component wizard to extract the COM info immediately. By default, the COM is not extract at build. I put the DLL into different subfeature. Let's say the component under subFeature1 need to be register before component subfeature2. I was thinking to make the component subfeature2 to be extracted at build. But this will not help me to make sure the COMs are registered later than subfeature1 during installation.
Is it possible to set the COM server registration order during installation?
In the setup, I launched the component wizard to extract the COM info immediately. By default, the COM is not extract at build. I put the DLL into different subfeature. Let's say the component under subFeature1 need to be register before component subfeature2. I was thinking to make the component subfeature2 to be extracted at build. But this will not help me to make sure the COMs are registered later than subfeature1 during installation.
Is it possible to set the COM server registration order during installation?
(6) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 12, 2008
08:46 AM
If you extract the COM information, either immediately or at build, the registration entries are entered into the Registry and related tables and written directly, without the need to call the registration functions. Consequently, you don't have to worry about the order of the dlls because they aren't actually being accessed during the install. Unless I misunderstood your question?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 14, 2008
09:40 PM
Hi KathyMorey, thank you for your reply 🙂
Previously the application is using installscript project to create the setup, and the we call the registration function, hence we can set the sequence of DLL to be register in the target computer during installation. This is important as some of the COM information may overwrite others, so we need to make sure these certain DLL registries are written at last of the installation.
Now in Basic MSI project, as we can extract the COM information while adding these DLLs (as you said the registration entries are entered into the Registry and related tables) and I am not sure when these information written into target machine, the registry information that should be written at last (to overwrite others) is in the correct sequence.
Do you think is able to control on this? Or I have misunderstanding on the COM registration?
Previously the application is using installscript project to create the setup, and the we call the registration function, hence we can set the sequence of DLL to be register in the target computer during installation. This is important as some of the COM information may overwrite others, so we need to make sure these certain DLL registries are written at last of the installation.
Now in Basic MSI project, as we can extract the COM information while adding these DLLs (as you said the registration entries are entered into the Registry and related tables) and I am not sure when these information written into target machine, the registry information that should be written at last (to overwrite others) is in the correct sequence.
Do you think is able to control on this? Or I have misunderstanding on the COM registration?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 15, 2008
08:29 AM
If you use COM extraction, the information is written to the registry during the Registerxxx and WriteRegistry actions (between 4600 and 5000 in the InstallExecute sequence). There isn't any way I know of to control the order of those entries.
If there is no way to amend your code so that the COM entries are not overwritten, you may have to extract the entries for the dlls that need to be registered first, then self-register the ones that have to go last. I've never tried that, but the SelfRegModules custom action is performed after all the actions that write to the registry.
If there is no way to amend your code so that the COM entries are not overwritten, you may have to extract the entries for the dlls that need to be registered first, then self-register the ones that have to go last. I've never tried that, but the SelfRegModules custom action is performed after all the actions that write to the registry.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 16, 2008
01:07 AM
Okay, I will try the self-register for those files that need to be register at last.
But I still open to other suggestions if possible 😛
But I still open to other suggestions if possible 😛
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 16, 2008
06:07 AM
After I changed the properties of some files to be able to self register, it will add the entry in "ISSelfReg" table. In addition, I also fill up the the "Order" column in this table.
However, I read another statement which specifies "you cannot specify the order in which the installer registers or unregisters self-registering DLLs by using the SelfRegModules and SelfUnRegModules actions. These actions register all the modules listed in the SelfReg table. (refer to http://msdn.microsoft.com/en-us/library/aa372020(VS.85).aspx)
I am confused on this. Any guide?
However, I read another statement which specifies "you cannot specify the order in which the installer registers or unregisters self-registering DLLs by using the SelfRegModules and SelfUnRegModules actions. These actions register all the modules listed in the SelfReg table. (refer to http://msdn.microsoft.com/en-us/library/aa372020(VS.85).aspx)
I am confused on this. Any guide?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 16, 2008
10:17 AM
The MSDN article references the SelfReg table and the corresponding actions built in to Windows Installer. The ISSelfReg table is an alternative provided by InstallShield; it has additional options including ordering by the Order column.