在服务器 2012 中注册 dll 时出错

在服务器 2012 中注册 dll 时出错

我正在尝试在 sysWOW64 中注册一个 32 位 com.dll

C:\Windows\SysWOW64>regsvr32 xxx.dll 我已将 dll 复制到 SysWOW64 和 System32 文件夹中

它显示类似错误

模块“xxx.dll”加载失败。请确保二进制文件存储在指定路径中,或对其进行调试以检查二进制文件或相关 .DLL 文件是否存在问题

如果我检查依赖项遍历器,它会显示一些丢失的文件,这些文件是什么?

ATL110.DLL、MSVCR110.DLL、IESHIMS.DLL、MFPLAT.DLL、WLANAPI.DLL

这些文件真的有必要吗?我已经下载了 redist 文件来解决这个问题,但失败了,安装 redist 文件后仍然显示相同的错误

我已经安装了相同的dllWindows 7 x64并且它成功注册了系统但没有Windows 2012 服务器 x64什么原因导致错误?如何解决该问题

答案1

您正在尝试在 Windows Server Core 安装上注册一个 DLL,但该 DLL 需要完整桌面 GUI 的组件存在。

对我来说,这很有意义(也是我问你它是哪个版本的原因),因为我从以前的生活中认出了其中一些 DLL 名称。例如:

  • IESHIMS.dll 是一个用于代理对 Internet Explorer 的某些调用的 DLL,但服务器核心没有 Internet Explorer

基本上,您的 DLL 与 Windows Core 不兼容。即使您能够使这些 DLL 可用,它仍然可能无法工作,因为这些 DLL 反过来会依赖于其他不可用的功能。

相关内容