473,508 Members | 2,104 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Installation Problems with COM Interop

Hello All,

I have created a C# project that sets "Register for COM Interop" to true,
and sets the ProgId and Guid attributes for the class. I then use this
control inside VB6.

This all works correctly on my development machine (oh no, one of those!),
creating a DLL and a tlb on each compile, and setting the entries in the
registry. It also appears to work correctly on a separate Build machine,
where the output then gets packaged for installation using InstallShield 11.
The .NET output gets packaged in a merge module, which is then included in a
number of installations (both .NET and COM).

When it gets installed, there are no installation errors. However, the
registry settings (ProgID and CLSID, for example) are not being set, and
therefore the control cannot be seen from a COM-based project using late
binding. It works fine for a .NET test container, but since that's not
registry-dependant, I am not surprised.

I am not sure if this is a problem with the way I am setting up
InstallShield, if there is an InstallShield issue, or if it is in the .NET
code itself.

If anybody has any ideas or experience with this, I'd appreciate any ideas.

Thanks,
pagates
Jan 10 '06 #1
2 4475
pagates,

You said that you are using this "control" inside of VB6. By that, do
you mean an ActiveX control? If so, you should be warned that MS doesn't
support exporting ActiveX controls from .NET.

That being said, the registry settings are created when you run the
assembly through regasm, which will read the attributes and create the
assembly. That being said, you probably need to direct InstallShield to do
the same, assuming it doesn't have any facility to do it already.

Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"pagates" <pa*****@discussions.microsoft.com> wrote in message
news:6B**********************************@microsof t.com...
Hello All,

I have created a C# project that sets "Register for COM Interop" to true,
and sets the ProgId and Guid attributes for the class. I then use this
control inside VB6.

This all works correctly on my development machine (oh no, one of those!),
creating a DLL and a tlb on each compile, and setting the entries in the
registry. It also appears to work correctly on a separate Build machine,
where the output then gets packaged for installation using InstallShield
11.
The .NET output gets packaged in a merge module, which is then included in
a
number of installations (both .NET and COM).

When it gets installed, there are no installation errors. However, the
registry settings (ProgID and CLSID, for example) are not being set, and
therefore the control cannot be seen from a COM-based project using late
binding. It works fine for a .NET test container, but since that's not
registry-dependant, I am not surprised.

I am not sure if this is a problem with the way I am setting up
InstallShield, if there is an InstallShield issue, or if it is in the .NET
code itself.

If anybody has any ideas or experience with this, I'd appreciate any
ideas.

Thanks,
pagates

Jan 10 '06 #2
Hi Nick,

Thanks. After trying many combinations of "Self Register" (which will
always fail) and "Extract COM at Build" in InstallShield, I finally found a
setting called ".NET COM Interop" in InstallShield. After setting that to
"Yes", the components registered correctly.

Thanks Again,
PAGates

"Nicholas Paldino [.NET/C# MVP]" wrote:
pagates,

You said that you are using this "control" inside of VB6. By that, do
you mean an ActiveX control? If so, you should be warned that MS doesn't
support exporting ActiveX controls from .NET.

That being said, the registry settings are created when you run the
assembly through regasm, which will read the attributes and create the
assembly. That being said, you probably need to direct InstallShield to do
the same, assuming it doesn't have any facility to do it already.

Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"pagates" <pa*****@discussions.microsoft.com> wrote in message
news:6B**********************************@microsof t.com...
Hello All,

I have created a C# project that sets "Register for COM Interop" to true,
and sets the ProgId and Guid attributes for the class. I then use this
control inside VB6.

This all works correctly on my development machine (oh no, one of those!),
creating a DLL and a tlb on each compile, and setting the entries in the
registry. It also appears to work correctly on a separate Build machine,
where the output then gets packaged for installation using InstallShield
11.
The .NET output gets packaged in a merge module, which is then included in
a
number of installations (both .NET and COM).

When it gets installed, there are no installation errors. However, the
registry settings (ProgID and CLSID, for example) are not being set, and
therefore the control cannot be seen from a COM-based project using late
binding. It works fine for a .NET test container, but since that's not
registry-dependant, I am not surprised.

I am not sure if this is a problem with the way I am setting up
InstallShield, if there is an InstallShield issue, or if it is in the .NET
code itself.

If anybody has any ideas or experience with this, I'd appreciate any
ideas.

Thanks,
pagates


Jan 10 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
4505
by: Si | last post by:
Hi, I am having trouble with an install of Oracle 9i Release 2 on Linux Mandrake 9.1. I have 512 MB DDR RAM and a Duron 850 CPU. The install appeared to run fairly seamlessly except for a...
1
8649
by: black hawk | last post by:
Hello, i have a big problems, to install oracle 9i v9.2 Server to my "Windows XP" with Service Pack 2 and all security and other updates from Microsoft. The "Universall Installer" (Standard...
1
3024
by: 3f | last post by:
Hello; We have made a web application that people can download from our web site and installed on: Windows XP Windows 2000 Professional Windows 2003 Server Windows 2000 Server
1
2272
by: Shiro | last post by:
Hi I have read the various postings relating to Interop strong name signing and cannot find an example similar to mine. I have stringly named my AxInterops/Interops and they all work just...
0
1575
by: Craig G | last post by:
i have a small application that uses the SQLDMO com object when i build a setup package to distribute it adds both the Interop.SQLDMO.dll assembly & sqldmo.dll File the problem is that the...
2
11437
by: William LaMartin | last post by:
I have created a program that allows for the automation of things in Word documents, like changing the values of DocVariables and the links to Excel Sheets. I did it using interoperoperatability,...
8
2676
by: John Olbert | last post by:
Subject: Problems with Interop in C# We are having problems using Interop with a Vb6 ActiveX Dll in C# code in Net2 using Vs2005. Below are the signatures of the method that is the problem. It...
5
2261
by: =?Utf-8?B?U3R1YXJ0?= | last post by:
Hi There I have been having a play around with the following code to display a datagrid in Excel (all from Steve Orr's site): Private Sub btnTechServAccred_Click(ByVal sender As System.Object,...
2
1718
by: =?Utf-8?B?R3JlZw==?= | last post by:
I have no idea where to post this question, or even if its appropriate for me to post it here. I don't know if installing a VB.Net program has caused the problem I'm having or not. All I know is I...
0
7125
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7328
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7388
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7049
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7499
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
4709
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3199
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3186
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
422
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.