我已经阅读了所有类似的问题,但没有找到我的确切问题的答案。我已经尝试了所有类似的建议。
我被迫从 Windows Server 2003 环境迁移到运行 IIS 7.5 的 Windows Server 2008 R2 环境。我有一个在 32 位 DLL 中调用 COM 对象的 Web 应用程序。COM 对象是从 VB6 创建的。这是我迄今为止所做的:
- 我在我的 IIS 应用程序池上启用了 32 位。
- 我已经使用 C:/windows/syswow64/regsvr32.exe 注册了 .DLL 及其依赖的 .DLL - 注册成功。
- 我已经使用 C:/windows/syswow64/regedit 在注册表中验证了 .DLL 及其组件
- 我在组件服务中创建了一个 COM+ 对象(使用 syswow64/dcomcnfg)并启动了它们。
- 我创建了一个角色“用户”并将组“每个人”添加到其中。
当我运行我的应用程序时,网页挂起。我可以在 COM 对象的日志文件中找到以下错误:
ActiveX 组件无法创建对象错误:[429]:CDataAdministrator::OpenCatalog
我已经比较了新服务器和旧服务器之间的设置。我注意到的一件事是,在旧服务器上,DataAdministrator 对象 (DataAdministrator.CDataAdministrator) 列在 DCOM Config 的扩展下,但在新服务器上却没有。而且我似乎无法让它出现在那里。
我在事件历史记录或 IIS Web 日志中没有错误。在我看来,一切都已注册,但它不会运行。我可以在我指定的帐户下运行的任务管理器中看到一个 DLLHOST.EXE*32。
我在这里不知所措....帮助?