我正在尝试在Windows Server 2008标准盒子上注册一个基本的COM DLL。
我运行regsvr32 capicom.dll ,它报告DllRegisterServer in capicom.dll succeeded 。 这与我们在Windows Server 2003上使用多年的过程是一样的。
不幸的是,当我尝试通过非常非常基本的Microsoft VBScript示例Set oStore = CreateObject("CAPICOM.Store")创build对象时,会抛出“ActiveX组件无法创build对象”错误。
思考也许这是这个DLL的问题,我尝试了一些其他的DLL我们使用相同的结果。 我尝试使用regsvr32在系统,system32和syswow64都具有相同的结果。 我不太了解每个人之间的差异,但认为这是值得一试的。
该dll被存储在d:\, 似乎有正确的权限(尽pipe这将是一个完全不同的错误)。
*更新:通过额外的testing,我们已经确定(通过依赖沃克)ieshims.dll和linkinfo.dll丢失。 他们在机器上,但报告为无法find。 capicom.dll和内部开发的dll都是如此。
感谢您可能有的任何帮助或想法!
看来,wscript是在64位模式下运行,无法看到注册…按照http://forums.iis.net/t/1154189.aspx上的说明我能够运行在32位模式创build对象(通过经典的ASP)和组件工作,他们应该。 感谢所有的帮助!
你可以尝试用Dependency Walker打开你的DLL。 如果你有capicom.dll依赖的任何缺less的DLL,Dependency Walker将帮助你find它们。
在64位Windows操作系统中,有两个版本的Regsv32.exe文件:
The 64 bits is %systemroot%\System32\regsvr32.exe. The 32 bits is %systemroot%\SysWoW64\regsvr32.exe.
尝试复制这两个可执行文件中的任何一个,以及要注册的OCX或DLL文件。 以pipe理员模式运行,或将兼容性选项卡中的可执行文件的属性更改为“以pipe理员身份运行此程序”。 注册ActiveX(ocx)或DLL或运行RegSvr32.exe nombre_dll nombre_activeX RegSvr32.exe。
确保您以pipe理员身份在命令提示符下运行regsvr32。 此外,在那里运行可执行文件时,请尝试将DLL放在system32目录中。
右键单击命令提示符图标,然后select“以pipe理员身份运行”,然后尝试注册您的DLL。 请记住,您拥有Windows上的pipe理员权限。
卡帕
这是我必须做的:
安装Capicom SDK
将capicom.dll复制到%SYSTEMROOT%\ syswow64文件夹中
寄存器DLL
%systemroot%\syswow64\regsvr32.exe "%systemroot%\system32\capicom.dll"
%systemroot%\syswow64\wscript camonitor.vbs /cacrlok /smtp /smtpserver:your_server /smptto:your_email