首页 > 解决方案 > VB6 dll 不会安装在服务器 2012r2 上

问题描述

我正在尝试通过组件服务向导为旧应用程序安装在 VB6 中创建的新 dll。在我尝试访问相关的 asp 网页并收到服务器 500 错误之前,这一切似乎都正常工作。检查事件日志显示以下内容:

将以下组件安装到 COM+ 应用程序时更改了注册表值。如果您遇到此组件的激活问题,请检查以下注册表项的注册表值。

Component: dllpath\mydll.dll

Registry Key: CLSID\{D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}\InProcServer32

Process Name: RunDll32.exe Comsvcs.dll file version:  not loaded

我一直在四处寻找解决方案,据我所知,这是由于我试图在 64 位操作系统上放置 32 位 dll 造成的……但如果我错了,请纠正我。

到目前为止,我已经尝试过:

使用提升的命令提示符:

REGSVR32 "mydll.dll"

给出错误消息“模块“mydll”可能与您正在运行的 Windows 版本不兼容。检查该模块是否与 regsvr32 的 x86(32 位)或 x64(64 位)版本兼容。可执行程序”

C:\Windows\SysWOW64\REGSVR32 "mydll.dll"

弹出消息说这已经成功,但是组件没有显示在组件服务中,并且仍然出现服务器 500 错误。

使用组件服务管理单元通过 MMC -32 添加它也不起作用。

我也发现了这一点,但作为一个对修改注册表项几乎一无所知的人,我并不热衷于尝试。

真正奇怪的是,我在大约 6m 前对该系统进行了更改,并以相同的方式添加了两个新的 dll,没有任何问题。

任何帮助或想法表示赞赏。

编辑:我尝试添加的 dll 是对我在 6m 前编辑的没有问题的更新,当我尝试重新安装此版本时,我也会收到相同的错误消息。

开发环境 - 带有 VB 6.0 的 Windows Server 2003 VM

标签: vb632bit-64bitwindows-server-2012-r2com+

解决方案


推荐阅读