2009-04-30 47 views
2

我有一個COM DLL,我通過RegSvr32註冊,但它並沒有顯示在DComCnfg中。DCOMCNFG:爲什麼不顯示出來?

任何幫助至於爲什麼?

我想我錯過了一些註冊表鍵,但我不明白爲什麼我會,我認爲RegSvr32爲我做了。

感謝您的任何幫助。

回答

1

regsvr32僅運行您的DLL公開的註冊函數。如果DLL中的註冊信息有誤,regsvr32將無能爲力。如果您不確定要查找什麼,則可以嘗試運行Regmon(通過sysinternals),將過濾器設置爲* regsvr32 *左右,然後查找已註冊的GUID。然後在DCOMCNFG的詳細信息視圖中查找它們。如果regsvr32成功,您可能會在那裏找到它。這會給你一個關於問題根源的想法,儘管實際的解決方案取決於你的註冊信息有什麼問題。

另一個遠程選項是,您有32-64位衝突,其中regsvr32在32位運行,DCOMCNFG在64位運行,反之亦然。我不確定DCOMCNFG在這種情況下顯示的是什麼 - 我從來沒有遇到過這個問題,但是32位和64位有不同的註冊表配置單元,也許你沒有找到正確的位置。

1

適用於大多數32個COM應用程序

  • 安裝服務器系統文件到C:\ WINDOWS \ SysWOW64中
  • 安裝.UDL文件到c:\程序文件(x86)\共同文件\系統\ OLE DB \數據鏈接\
  • 安裝所有應用程序文件到c:\程序文件(x86)\ ...
  • 安裝32位SQL Server 2005/2008到c:\程序文件(x86)\ ...

註冊通過DCOMCNFG(DCOM配置)32個COM應用

  • 開始...運行... MMC -32
  • 轉到文件→添加/刪除管理單元,並添加 「組件服務」
  • 條目將自動添加。一旦條目被添加,您可以再次使用64位DCOMCNFG。