如何在Windows 2008 R2上注册32位.DLL COM +应用程序

时间:2012-07-06 21:15:51

标签: windows-server-2008-r2 com+ dcom dllregistration

我已经阅读了所有类似的问题,但我没有找到我的确切问题。我尝试了所有类似的建议。

我被迫从Windows Server 2003环境迁移到运行IIS 7.5的Windows Server 2008 R2环境。我有一个Web应用程序,它在32位DLL中调用COM对象。 COM对象是从VB6创建的。以下是我迄今为止所做的事情:

  1. 我在IIS应用程序池上启用了32位。
  2. 我已使用C:/windows/syswow64/regsvr32.exe注册.DLL及其依赖.DLL - 注册成功。
  3. 我已验证使用C:/ windows / syswow64 / regedit
  4. 在注册表中找到.DLL及其组件
  5. 我在组件服务中创建了一个COM +对象(使用syswow64 / dcomcnfg)并启动它们。
  6. 我创建了一个角色“用户”,并将“Everyone”组添加到其中。
  7. 当我运行我的应用程序时,网页会挂起。我可以在COM对象的日志文件中找到以下错误:

      

    ActiveX组件无法创建对象错误:[429]:CDataAdministrator :: OpenCatalog

    我比较了新服务器和旧服务器之间的设置。我注意到的一件事是,在旧服务器上,DataAdministrator对象(DataAdministrator.CDataAdministrator)列在DCOM Config的扩展下,但在新服务器上却没有。我似乎无法让它出现在那里。

    我在事件历史记录或IIS网络日志中没有错误。对我来说,似乎所有东西都已注册,但它不会运行。我可以在我指定的帐户下运行的任务管理器中看到DLLHOST.EXE * 32。

    我在这里不知所措....帮助?

2 个答案:

答案 0 :(得分:3)

在64位服务器上注册32位COM应用程序

•开始...运行... C:\ WINDOWS \ SysWOW64 \ mmc comexp.msc / 32

如此处所述http://msdn.microsoft.com...dcomcnfg.exe_and_64-bit_applications

基本上这会运行32位版本的dcomcnfg.exe,以便您可以在64位计算机上为32位应用程序设置DCOM设置。

答案 1 :(得分:0)

您是否仅为x86编译了应用程序?