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 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
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 This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
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...
|
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...
|
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
|
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...
|
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...
| |
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,...
|
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...
|
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,...
|
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...
|
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...
|
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,...
| |
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...
|
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...
|
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...
|
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...
|
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...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
| |
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...
| |