473,395 Members | 1,458 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Deploying .NET COM class library

Hi All,

The company I work for has traditionally used COM/ActiveX for the
solutions that it provides. We are in the process of moving to .NET and
a few applications have been written in VB.NET up to this point.

Some of the applications are class libraries which need to be callable
via the COM interface from some of the older applications. Could
someone please explain to me the issues involved in deploying such a
class library?

On the developer machines it is easy to /deploy/ since you just mark
the project as "Register for COM interop", but what is the equivelant
of this process on a client's machine?

You can assume that we will deploy the .NET runtime.
Friendly Regards
Pieter Breed

Jul 21 '05 #1
2 6425
Hello Pieter,

I didnt got the chance to work with COM-.net interopratbility in a
professional env...But i had spent lil bit of my time with this for the sake
of learning. I think the only thing that we have to make sure is that. the
assemblies and the corresponding type libraries generated from these
assemblies are residing in the same folder, Suppose your assembly is having
a class that contains a method that returns or accepts a type (say a class
residing in another .net assembly), you should create the tlbs for those
types as well, and it should be present at the same folder where these
assemblies are residing.

Nothing esle i can remember at thsi time..
:)

regards
Sujith S.Varier
<pi**********@gmail.com> wrote in message
news:10*********************@f14g2000cwb.googlegro ups.com...
Hi All,

The company I work for has traditionally used COM/ActiveX for the
solutions that it provides. We are in the process of moving to .NET and
a few applications have been written in VB.NET up to this point.

Some of the applications are class libraries which need to be callable
via the COM interface from some of the older applications. Could
someone please explain to me the issues involved in deploying such a
class library?

On the developer machines it is easy to /deploy/ since you just mark
the project as "Register for COM interop", but what is the equivelant
of this process on a client's machine?

You can assume that we will deploy the .NET runtime.
Friendly Regards
Pieter Breed

Jul 21 '05 #2
"pi**********@gmail.com" <pi**********@gmail.com> wrote:
Hi All,

The company I work for has traditionally used COM/ActiveX for the
solutions that it provides. We are in the process of moving to .NET and
a few applications have been written in VB.NET up to this point.

Some of the applications are class libraries which need to be callable
via the COM interface from some of the older applications. Could
someone please explain to me the issues involved in deploying such a
class library?

On the developer machines it is easy to /deploy/ since you just mark
the project as "Register for COM interop", but what is the equivelant
of this process on a client's machine?

You can assume that we will deploy the .NET runtime.
Friendly Regards
Pieter Breed

To make .NET assemblies available to applications that use
COM you need to use this:

NET Framework Tools Assembly Registration Tool (Regasm.exe)
http://msdn.microsoft.com/library/de...lregasmexe.asp

..NET Framework Developer's Guide Registering Assemblies
with COM
http://msdn.microsoft.com/library/de...ieswithcom.asp
see also
..NET Framework Tools Type Library Exporter (Tlbexp.exe)
http://msdn.microsoft.com/library/de...rTlbExpexe.asp

You may also have to add some code/attributes to the .NET
code to supply additional COM metadata/functionality.

To have a .NET application access a COM component you create
a Runtime Callable Wrapper (RCW). Visual Studio can do it
for you. However this is the tool to create one
independently:
..NET Framework Tools Type Library Importer (Tlbimp.exe)
http://msdn.microsoft.com/library/de...rtlbimpexe.asp

For ActiveX components see
NET Framework Tools Windows Forms ActiveX Control Importer
(Aximp.exe)
http://msdn.microsoft.com/library/de...erAximpexe.asp
Use Visual Studio .NET only to create the RCW if your
project is the only one that uses that COM library.

If the COM component is used by multiple .NET projects and
was developed in house create a Primary Interop Assembly
(PIA) and include it in a setup merge module.

..NET Framework Developer's Guide Primary Interop Assemblies
http://msdn.microsoft.com/library/de...assemblies.asp

..NET Framework Developer's Guide Registering Primary Interop
Assemblies
http://msdn.microsoft.com/library/de...assemblies.asp

if the COM library was developed by a vendor, obtain the PIA
from them.

In General

C# Programmer's Reference COM Interop Tutorials
http://msdn.microsoft.com/library/de...opTutorial.asp

Visual Basic Language Concepts Introduction to COM Interop
http://msdn.microsoft.com/library/de...opTutorial.asp

Microsoft .NET/COM Migration and Interoperability
http://msdn.microsoft.com/library/de...cominterop.asp

..NET Framework Developer's Guide Building .NET Framework
Components for Interoperation
http://msdn.microsoft.com/library/de...roperation.asp
Jul 21 '05 #3

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

Similar topics

2
by: Brant | last post by:
I have an EXE that I want to deploy to approx 200 PCs. Is there a way to create a setup package that executes my EXE after the framework has been installed? I want to perform a silent install of...
3
by: Chris Dunaway | last post by:
A quick scan of the group did not immediately reveal an answer to my questions so here goes. First let me describe my app and then I'll ask the questions. I am writing a Windows Forms App (not...
7
by: Egghead | last post by:
Hi all, Is there a way to deploy a web application to a live server without using the windows installer (not following the "Walkthrough: Deploying a Web Solution" in the VS.net's help). The...
3
by: Rachel | last post by:
Hi, I am using the data access application block successfully in our development environment, however when I deploy to our testing server as Private Assemblies I keep getting the following ...
1
by: Gary Dunne | last post by:
I have a class library that contains Com objects, they were added as COM Class and contain all the necessary GUIDs etc. The class library is flagged to "Register for COM interop" ... The library...
1
by: pieter.breed | last post by:
Hi All, The company I work for has traditionally used COM/ActiveX for the solutions that it provides. We are in the process of moving to .NET and a few applications have been written in VB.NET...
10
by: Bryan Dickerson | last post by:
I fairly have my Web Service working the way that I want, so my next step will be to deploy it on a server. Do I just add a deployment/install project, build it and install it on the server? ...
8
by: Afshar | last post by:
Hi Group, Please help ending my Nightmare! There's a Windows Service written in VC++ and I have an ASP.NET project that uses this sevice as a COM library. It just works fine in VS Internal Web...
6
by: Ryan | last post by:
Is there any way to save a VB 2005 created application as an .MSI install file? The only method I see is to publish as a .EXE. Curious because I want to push out an application with Group Policy....
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
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
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
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...
0
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
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...

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.