无法在 Server 2012 上注册 DLL

无法在 Server 2012 上注册 DLL

我们有一个旧的经典 ASP 网站,我正尝试将其托管在新的 Server 2012 机器上。它使用内部开发的 VB6 DLL。

我复制了安装程序文件,但出现错误。我尝试使用“regsvr32 pathToDll\theDll.dll”手动注册 DLL,但返回错误 0x80004005。Google 建议我从提升的命令提示符运行该命令。所以我照做了,但还是出现同样的错误。我还尝试从 SYSWOW64 目录运行相同的命令,但还是出现同样的错误。

通过谷歌搜索,我还发现这可能是由于缺少依赖项。我使用了 Dependency Walker,果然它缺少了一些东西。所以我发现我必须安装 VB6 运行时文件,并启用一些功能,这样所有的依赖项就都解决了。所以我尝试重新注册 DLL,但仍然出现同样的错误。

有什么想法吗?我知道它是 64 位机器上的 32 位 dll,但它至少应该注册。

答案1

好的,经过更多搜索后,我通过 Dependency Walker 发现该 dll 正在通过其他 dll 链引用 API-MS-WIN-CORE-SYNCH-L1-1-0.DLL。

根据微软提供的信息,看起来这不兼容。看来我必须重新编译 DLL 才能通过更改引用使其工作。

解决方案:我将为这个旧版应用程序启动一个虚拟机。

相关内容