5 Replies Latest reply on Apr 5, 2013 10:10 PM by beyerch2


      I am using

      cClient = New HSXCLIENTLib.HsxClient

      in a .Net application, everthing compiles fine, it runs on the server. But localy on my laptop in Visual Studios it errs with -
      Retrieving the COM class factory for component with CLSID {7C7670ED-8AB0-4CDF-B138-14342C6EFCBC} failed due to the following error: 80040154.

      I believe I have the same dll on the server, I copied it from there.

      What to look at?

        • 1. Re: HSXCLIENTLib.HsxClient
          Did you register the client DLL on your machine? Try registering the DLL, re-import into VS, then re-compile.
          • 2. Re: HSXCLIENTLib.HsxClient
            Any chance your client computer is 64 bit? Perhaps change the target processor to "Any CPU"
            • 3. Re: HSXCLIENTLib.HsxClient
              I have tried both the Any CPU and x86 configurations, I get the same either way.
              • 4. Re: HSXCLIENTLib.HsxClient
                I did not have to register the dll before, or any of them. Do the still need registered if running inside visual studios in debug?
                • 5. Re: HSXCLIENTLib.HsxClient
                  Ok, I meant to reply earlier, but it's been crazy around the office the past week...... More things to consider.

                  - Dependencies. If the DLL you are trying to register is dependent on other DLL/files, it will fail to register. Use a tool such as dependencywalker to see what DLL files that file is dependent on.
                  - Register as Administrator. Make sure that the command prompt you are using to attempt to register is 'run as Administrator' so that it has the proper permissions; otherwise, registration will fail.
                  - Registering the wrong DLL... Search the registry for the object ID referenced in the error. When you find it, drill into the details and one of the keys will reference the DLL name associated with it. Register that DLL if you already haven't.
                  - 64 bit vs 32 bit : In some circumstances, the GUID will be in the registry; however, it may be in the wrong spot due to differences in registry locations on 64 bit machines. Try making a copy of it in both locations. (i.e. HKCR\Wow6432Node\CLSID)
                  - Use Corsflag.exe utility to force the .NET program into 32 bit mode as sometimes the projects settings don't work. (use the flag /32bit+ )
                  - Make sure you are not registering the Interop.HSXClient file, but the actual DLL. I've done that a couple times..... :)

                  Hope one of those gets you in the right spot.