问题解决了,应用程序池,高级设置,启用32位应用程序项设置为True(默认False)解决了,谢谢各位的回答。
注册所有dll
开始——运行——cmd,如下命令
for %1 in (%WinDir%\SYSTEM32\*.DLL) Do RegSvr32.EXE /s %1
用你的方法注册过了还是不行,报上图中的错误,但是我本地电脑可以注册成功,会不会和服务器的原因有关呢?
以管理员权限运行 regsvr32。
注册完后在注册表中查一下此 CLSID 的相关项,只有在 LOCAL_MACHINE 有此组件才算成功。
注册了好多次了一直提示注册成功,但是在程序运行时一直报上面的错误。我本地电脑注册成功了,会不会和服务器有关,windows server2012的服务器,或者是权限问题?
@放羊娃:
是“以管理员权限运行 regsvr32 ”的吗?
“注册完后在注册表中查一下此 CLSID 的相关项,只有在 LOCAL_MACHINE 有此组件才算成功。” 这个验证过了吗?
@Launcher: 是以管理员身份运行的,搜索了注册表,能找到
BE4D10EB-FD6B-474C-96B3-C5E70BC5EFB5这一项
@放羊娃: 你用 Excel 写一段 VBA 的宏运行下:
Dim icbc As Object
icbc = CreateObject("Component Interface Name")
icbc = Nothing
Component Interface Name 你可以通过 CLSID 在注册表中查询到。运行上面宏看是否能创建成功。
然后关闭 excel,以管理员权限启动 excel.exe,然后再运行一遍上面的宏,检查结果。