Search code examples
c#visual-studio-2008api32bit-64bitclearquest

On a server works on the other it does not. ¿API dll isn't registered? ErrNo: 80040154


I have installed on a 32bit server a IBM Rational ClearQuest and made a process which uses the api that they provide. And there works perfectly.

When I migrate this to another server (64bit) it throws

Retrieving the COM class factory for component with CLSID {94773112-72E8-11D0-A42E-00A024DED613} failed due to the following error: 80040154.

I went to the registry to see what was there, (in both servers) and in the first one, there were some keys regarding where this API dll is placed that in the 64bit server weren't. (Also there were a key about the framework)

I did a research on the web to see this.

My options then (at least the only ones I could think of) where:

  • Uninstall CQ and Reinstall it (Which I did and after some installation and uninstallation crashes of the product It was back up without any changes to my actual problem)
  • Register the dlls I needed with regsrv32 (didn't work)
  • Add the keys myself (also didn't work)

I've seen today this cscript, here using Windows Script Host but it does not work with c#.

Supposely c# .Net2008 when the compiler says "Any" machine it clearly means both... but just in case I've changed it to 64bit exclusively...

And guess what... yes you are right... that didn't work also.

I hope you can help me. Thanks in advance.-


Edit:

  • InstallUtil on C:\Windows\Microsoft.Net\v2.050727\ on the base dll didn't work
  • asp_regiis (Which I've tried just in case) didn't work

Solution

  • The problem was Windows Server 2008 UAT Protection

    Searching on the web I've found that when I've tried to do a registration it was throwing error 5 Access Denied

    This is the solution

    Go to Control Panel --> User Accounts --> "Tune User Account Control on or off". Turn off "Use User Account Control (UAC) to help protect your computer", and restart the computer. Run "the process with the API" again and it worked.