Error with interop dll

Posted on 2004-11-22
Last Modified: 2010-04-23
When running a application installed on another machine than the dev machine  the application gives me the following error:

Com object with CLSID {blabla} is ether not valid or not registered

It happens whenever the app calls an interop com object (eg creates an instance).

Is it really necessary to register the interop com dll, or are there other ways so that registration is not necessary?

If I have to register, do I have to use gacutil or how do I do it?

If the interop.blabla.dll does not have a strong name (name, version, public key), how can I change it so that it has a strong name and can be added to the gac (if necessary at all)?
Question by:netslt

    Author Comment

    Additional Question: do I have to register the interop.blabla.dll or the original .dll?
    LVL 96

    Expert Comment

    by:Bob Learned
    The original DLL needs to be registered, just like in the past with COM libraries.  The Interop DLL is a wrapper class that transforms the calls into .NET-understandable calls.  The Interop library can be in the GAC, but the COM library can be anywhere you want it to be, since the location is determined from the Windows Registry.


    Author Comment

    So there is no other way than registering these dll's?
    LVL 96

    Accepted Solution

    When working with COM libraries, the answer is No.


    Author Comment

    OK, I configured the installer to register the dll, the app works fine now.


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    What Security Threats Are You Missing?

    Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

    If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
    The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (…
    This video discusses moving either the default database or any database to a new volume.
    In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor ( If you're interested in additional methods for monitoring bandwidt…

    737 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

    Need Help in Real-Time?

    Connect with top rated Experts

    19 Experts available now in Live!

    Get 1:1 Help Now