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
- :
- Registering DLL components
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
Nov 19, 2014
04:31 AM
Registering DLL components
Hello Everyone,
I have some questions to do with registration of DLLs and OCX files in Installshield. I have some fairly serious gaps in my knowledge and was hoping someone could help fill in the gaps.
If some components within a feature are not selected as 'self-registration' do any of the DLLs and OCX files get registered? Is it necessary to build your own custom action to perform the registration process? Also, if the DLLs and OCX files are some how registered without a custom action, how would you change the order of registration? I am concerned that a component which uses another component is being registered before its dependent component is registered and so think I may need the freedom to change the order of registration. How would this apply for self-registering DLLs? How do I check if registration of a component was successful?
Any links to tutorials, guides or references would be useful.
Thanks,
CoolSwarvy
I have some questions to do with registration of DLLs and OCX files in Installshield. I have some fairly serious gaps in my knowledge and was hoping someone could help fill in the gaps.
If some components within a feature are not selected as 'self-registration' do any of the DLLs and OCX files get registered? Is it necessary to build your own custom action to perform the registration process? Also, if the DLLs and OCX files are some how registered without a custom action, how would you change the order of registration? I am concerned that a component which uses another component is being registered before its dependent component is registered and so think I may need the freedom to change the order of registration. How would this apply for self-registering DLLs? How do I check if registration of a component was successful?
Any links to tutorials, guides or references would be useful.
Thanks,
CoolSwarvy
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Dec 15, 2014
11:06 AM
CoolSwarvy wrote:
Hello Everyone,
I have some questions to do with registration of DLLs and OCX files in Installshield. I have some fairly serious gaps in my knowledge and was hoping someone could help fill in the gaps.
If some components within a feature are not selected as 'self-registration' do any of the DLLs and OCX files get registered? Is it necessary to build your own custom action to perform the registration process? Also, if the DLLs and OCX files are some how registered without a custom action, how would you change the order of registration? I am concerned that a component which uses another component is being registered before its dependent component is registered and so think I may need the freedom to change the order of registration. How would this apply for self-registering DLLs? How do I check if registration of a component was successful?
Any links to tutorials, guides or references would be useful.
Thanks,
CoolSwarvy
Self-registration of objects is a violation of Windows Installer best practices and is not recommended as it is not reliable. See Windows Installer Best Practices in InstallShield help.
If you use the Component Wizard when adding a new component, you will see that it allows you to optionally “Extract COM Info Immediately”. With this selected, you will notice that the static COM properties are filled in for the component after the wizard completes.
If you look at the components “COM Extract at Build” property, you will notice that it is set to “No” when you use the above method to acquire static values for the COM registration. If you wish to re-extract (refresh) the COM data each time you build your project, you will want to set this value to “Yes”.
As to the “what” will be registered, several factors are considered, but basically if the component that contains the COM object is installed or updated, then the COM data is updated. In execution sequence, you notice that unregister processes occur first, then file removal, then moving new files to the target, and then registration of the new files. Remember to use Best Practices, i.e., only one object (.dll, .exe, .ocx, etc.) per component.
Order of registration is not specified. For a discussion of self-registering dlls in this regard, see https://community.flexerasoftware.com/showthread.php?23855-DLL-OCX-Install-Order