4

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

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

  1. 我在我的 IIS 应用程序池上启用了 32 位。
  2. 我已经使用 C:/windows/syswow64/regsvr32.exe 注册了 .DLL 及其依赖的 .DLL - 注册成功。
  3. 我已经使用 C:/windows/syswow64/regedit 在注册表中验证了 .DLL 及其组件
  4. 我在组件服务中创建了一个 COM+ 对象(使用 syswow64/dcomcnfg)并启动了它们。
  5. 我创建了一个角色“用户”并将组“每个人”添加到其中。

当我运行我的应用程序时,网页挂起。我可以在 COM 对象的日志文件中找到以下错误:

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

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

我在事件历史记录或 IIS Web 日志中没有错误。在我看来,一切都已注册,但它不会运行。我可以在我指定的帐户下运行的任务管理器中看到一个 DLLHOST.EXE*32。

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

4

2 回答 2

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 设置。

于 2012-07-17T14:47:25.290 回答
0

您是否仅针对 x86 编译过您的应用程序?

于 2012-07-06T21:26:23.010 回答