Windows Server 2008 上的 regsvr32 问题

Windows Server 2008 上的 regsvr32 问题

我正在尝试在 Windows Server 2008 标准框上注册一个基本的 COM dll。

我运行regsvr32 capicom.dll它并报告DllRegisterServer in capicom.dll succeeded。这是我们多年来在 Windows Server 2003 上使用的相同过程。

遗憾的是,当我尝试通过一个非常基本的 Microsoft vbscript 示例创建对象时,Set oStore = CreateObject("CAPICOM.Store")它会抛出“ActiveX 组件无法创建对象”错误。

我觉得可能是这个 dll 有问题,于是我尝试了我们使用的其他几个 DLL,结果相同。我尝试在系统、system32 和 syswow64 中使用 regsvr32,结果都一样。我不太了解它们之间的区别,但我觉得值得一试。

该 dll 存储在 d:\ 中,并且似乎拥有正确的权限(尽管那将是完全不同的错误)。

*更新:通过额外的测试,我们已确定(通过依赖项遍历器)ieshims.dll 和 linkinfo.dll 缺失。它们在机器上,但报告为无法找到。capicom.dll 和内部开发的 dll 都是如此。

感谢您提供的任何帮助或想法!

答案1

看来 wscript 在 64 位模式下运行,无法看到注册信息...按照http://forums.iis.net/t/1154189.aspx我能够在 32 位模式下运行 createobjects(通过经典 asp),并且组件正常工作。感谢大家的帮助!

答案2

您可以尝试使用以下方式打开 DLL依赖性遍历器。如果您缺少 capicom.dll 所依赖的任何 DLL,Dependency Walker 将帮助您找到它们。

答案3

在64位Windows操作系统中,文件Regsv32.exe有两个版本:

The 64 bits is %systemroot%\System32\regsvr32.exe.
The 32 bits is %systemroot%\SysWoW64\regsvr32.exe. 

尝试复制这两个可执行文件中的任何一个,以及 OCX 或 DLL 文件进行注册。以管理员模式运行,或将兼容性选项卡中的可执行文件的属性更改为“以管理员身份运行此程序”。注册 ActiveX (ocx) 或 DLL 或运行 RegSvr32.exe nombre_dll nombre_activeX RegSvr32.exe。

答案4

右键单击命令提示符图标,并选择“以管理员身份运行”,然后尝试注册您的 DLL。请记住,您在 Windows 上具有管理员权限。

卡帕

相关内容