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
- :
- Re: COM Interop = 'Yes' does not work
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 20, 2012
10:54 AM
COM Interop = 'Yes' does not work
I'm trying to install a .Net com interop dll for use with VB6. On the 'Components' page I've set the '.NET Com Interop' value to 'Yes'.
I run the setup file on the machine with VB6 and I don't see the control in the VB6 selection dialog. If I manually run regasm.exe on the installed dll then the VB6 dialog shows the component and all works well.
Is there something else I need to do to get installshield to run regasm against the dll after it installs?
Doug.
I run the setup file on the machine with VB6 and I don't see the control in the VB6 selection dialog. If I manually run regasm.exe on the installed dll then the VB6 dialog shows the component and all works well.
Is there something else I need to do to get installshield to run regasm against the dll after it installs?
Doug.
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 21, 2012
09:22 PM
Usually when I have problems like this it's because of a (bad) behavior in RegAsm. InstallShield calls regasm /regfile during the build then pushes the data into the registry table. But there is a limitation:
http://msdn.microsoft.com/en-us/library/tzat5yw6(v=vs.71).aspx
-----
Use a registry snapshot / differencing tool to indentify the additional registry entries that are created when you run regasm without /regfile on the machine after the install. Then take that data and author it into your installer.
Rebuild, reset test platform and redeploy... it generally should work now.
http://msdn.microsoft.com/en-us/library/tzat5yw6(v=vs.71).aspx
Remarks
You can use the /regfile option to generate a .reg file that contains the registry entries instead of making the changes directly to the registry. You can update the registry on a computer by importing the .reg file with the Registry Editor tool (Regedit.exe). Note that the .reg file does not contain any registry updates that can be made by user-defined register functions.
-----
Use a registry snapshot / differencing tool to indentify the additional registry entries that are created when you run regasm without /regfile on the machine after the install. Then take that data and author it into your installer.
Rebuild, reset test platform and redeploy... it generally should work now.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 22, 2012
01:08 PM
Makes me wonder why IS does not simply shell out the dll to regasm instead of using the /regfile method - I figure that would solve the issue?
In any case, I guess I will have to figure out some way to tell IS to do this (via script?).
Doug.
In any case, I guess I will have to figure out some way to tell IS to do this (via script?).
Doug.
Christopher Painter wrote:
Usually when I have problems like this it's because of a (bad) behavior in RegAsm. InstallShield calls regasm /regfile during the build then pushes the data into the registry table. But there is a limitation:
http://msdn.microsoft.com/en-us/library/tzat5yw6(v=vs.71).aspx
-----
Use a registry snapshot / differencing tool to indentify the additional registry entries that are created when you run regasm without /regfile on the machine after the install. Then take that data and author it into your installer.
Rebuild, reset test platform and redeploy... it generally should work now.