?
Solved

How to make interop registration free?

Posted on 2012-03-12
8
Medium Priority
?
265 Views
Last Modified: 2012-03-20
In my application we have COM component, .Net components and there are tlbs for which the interop gets generated. These tlbs get register at the time of installation. We need to make it application to run registration free. I am able to run it for COM components and .net components.
Now I need to make the tlbs also registration free, anyone knows how to achieve it.

Thanks in advance.
0
Comment
Question by:MrunalM
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
8 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 37710937
If you have .NET 4.0, it has the ability to embedded COM interop type libraries.  If you don't have it, then I have no idea how you would achieve that.
0
 

Author Comment

by:MrunalM
ID: 37712955
Hi TheLearnedOne,
Thanks for your reply.
I want to know how side by side configuration works for interop?
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 37714273
Can you give me an example of what you mean by "side-by-side" with COM?  Are you talking about something like Word 2007 and Word 2010?  These are distinct type libraries, and each one would have a different reference in a .NET project, and would be embedded differently.  Embedding interop type libraries within a .NET assembly is not 100% perfect.  There are times when you are suggested to turn off embedded interop references.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 

Author Comment

by:MrunalM
ID: 37718432
COM components gets registered in system registry. In side by side configuration we remove the dependency on registry by adding all the details in manifest file. Basically side by side configuration is used to overcome the problem of DLL hell.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 37722577
With embedded COM interop, the type libraries are loaded into the assembly, and that removes the need for registration in the system registry.  Therefore, you should be able to use any COM component that can be embedded.

Advanced COM Interoperability
http://msdn.microsoft.com/en-us/library/bd9cdfyx.aspx

There are references to side-by-side and embedded COM.
0
 

Accepted Solution

by:
MrunalM earned 0 total points
ID: 37728043
I have added my tlb details in my application manifest (i.e. app_name.exe.manifest) as follows.

 <file name="tlb_name.tlb">
    <typelib tlbid="{D897017D-EC6A-4E42-8D89-245BBCDB446F}" version="1.0" helpdir="1.0 Type Library"/>
  </file>
  <comInterfaceExternalProxyStub name="InterfaceName" iid="{FB0FF818-0FF9-67AB-BFAE-35CB56E10851}" tlbid="{D897017D-EC6A-4E42-8D89-245BBCDB446F}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub>

If I unregister my tlb, my application is working.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 37728738
How is that any different from embedding a COM reference in the assembly?  Are you saying that you don't have 4.0?  COM references in 4.0 are added with Embedded COM Interop = true by default.
0
 

Author Closing Comment

by:MrunalM
ID: 37741301
My application is working with this solution
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
Suggested Courses
Course of the Month14 days, 7 hours left to enroll

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question