Microsoft Developer Network > 论坛主页 > .NET Platform Architecture Development Discussions > CAPICOM on Windows Server 2008 64Bit: Error 80040154 ('Class not registered')

问题 CAPICOM on Windows Server 2008 64Bit: Error 80040154 ('Class not registered')

  • 2009年3月18日 10:53
     
     
    Hi,

    I have been trying to get a web application which we wrote a while ago working on Windows Server 2008 64Bit (SP1) I have tried this on 3 different servers and I always get the same message:

    Retrieving the COM class factory for component with CLSID {8C3E4934-9FA4-4693-9253-A29A05F99186} failed due to the following error: 80040154.

    Visual C++ Error Lookup says that this error means 'Class not registered.' I have tried the following steps:

    Installing CAPICOM and patching it to version 2.1.0.2.
    Registering the dll with regsvr32.
    Registering the dll with c:\Windows\SysWOW64\regsvr32.exe.
    Installing Windows SDK.
    Putting capicom.dll in the same directory as signtool.exe, registering it and adding it to the path.
    Running tlbimp capicom.dll /out:Interop.CAPICOM.dll and replacing the Interop.CAPICOM.dll in the app.

    I'm now out of ideas. I still get the same error message. Does anyone have any tips on how to get this working?

    Thanks,

    Joe

全部回复

  • 2009年3月18日 11:10
    版主
     
     
    Your problem is indeed CapiCom.dll.  You went about it in the wrong way though, you are registering the 32-bit version.  You need the 64-bit version.  The 64-bit version of Regsvr32.exe is in c:\windows\system32, syswow64 contains the 32-bit version.

    I have this 64-bit DLL on my x64 Vista workstation, located in C:\Program Files\Common Files\Microsoft Shared\CAPICOM\CapiCom.dll.  It is registered properly in HKCR\CLSID.  It also has the 32-bit version in c:\program files (x86), also properly registered in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID.

    Hans Passant.
  • 2009年3月18日 15:37
     
     
    Thanks for your response nobugz. Ive tried registering it with both the 64bit and 32bit versions of regsvr32.exe. I still get the same message.

    Joe
  • 2009年8月17日 14:12
     
     
    Hey Joe..

    Do what Hans said plus do the job in a 64bists environment.
    ie.
    C:\Program Files (x86)\Windows Resource Kits\Tools>

    Viggo
  • 2011年6月17日 23:27
     
     

    Joe,

    have you been able to resolve this problem?

    2 years later and there aren't simple answers on the Net..