473,569 Members | 3,063 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 4481
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.co m

"pagates" <pa*****@discus sions.microsoft .com> wrote in message
news:6B******** *************** ***********@mic rosoft.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.co m

"pagates" <pa*****@discus sions.microsoft .com> wrote in message
news:6B******** *************** ***********@mic rosoft.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
4510
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 handful of problems : 1) Oracle complained that it could not set the file permissions on four files. They were
1
8659
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 Edition is Selected and only Software is Selected) throws an exception, during the installation by 11 Percent installation progress!
1
3030
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
2278
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 fine, but problems occur when I need to reference a thirdparty's component. In my case I am talking about Interop.ShDocVw and AxInterop.ShDocVw. If
0
1579
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 interop.SQLDMO.dll has a dependancy on my local sqldmo.dll and appears in the dependencies box as "C:\Program Files\Microsoft SQL Server......"
2
11447
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, where, after adding a reference to Microsoft.Office.Core and a reference to Microsoft Word I declare objects as follows: Dim oWordApp As New...
8
2687
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 is the last argument (e.g., "out obj" in C#) that is returned corrupted. It should be an array of integers. In one simple test App this argument...
5
2262
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, ByVal e As System.EventArgs) Handles btnTechServAccred.Click Dim AcredDT As DataTable = UserSession.Current.AcredTable Dim aExcel As New...
2
1719
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 did install a VB.Net program on my desktop computer and lately its been acting very strangely. It could also be the result of something else, but...
0
7619
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7930
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
6290
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5514
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5228
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 then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3651
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2118
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1229
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
950
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 can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

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.