我试图在Windows 2008服务器上安装一个软件包。 该软件包拒绝安装。 我已经运行安装与以下命令行切换到获取日志文件:
/ lxv InstallLog.txt
这是我在文件中看到的错误:
错误2738.不能访问自定义操作的VBScript运行时
我环顾四周,发现有人说这是需要的:
Regsvr32 vbscript.dll
这是因为在Windows Server 2008系统上,由于安全问题,VBScript.dll没有为HKeyCurrent_User注册HKeyLocal_Machine。 这不太“闻”正确。
我最初尝试以pipe理员身份运行安装,但没有运气。
我写了一个小的VBScript程序,显示一个消息框,它似乎运行正常。 在文件:Test.VBS我有这个:
msgbox("Hello world")
当我双击它时,出现一个消息框,意味着VBScript确实是function性的。
我已经禁用UAC在机器上,我仍然得到错误。
正如埃文build议我已经核实了以下注册:
HKCU\SOFTWARE\Classes\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8}
它确实存在,看起来不错。
作为另一个testing,我从pipe理员控制台运行了Regsvr32 vbscript.dll并再次尝试。 还是没有运气,我得到了和以前一样的错误。
自定义操作的VBScript是不好的forms。 你应该打谁做安装程序包。
您是否仔细检查了以下registry项不存在:
HKCU\SOFTWARE\Classes\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8}
其次,当您运行“REGSVR32 vbscript.dll”命令时,是否从提升的命令提示符处执行此操作?
MSIEXEC不会加载在HKEY_CURRENT_USER中注册的VBscript.dll的原因是MSIEXEC正在运行提升,而未授权的用户可能会注册一个特洛伊木马的VBscript.dll并将其作为一种机制在高架上下文。 这是一个安全function,而不是一个错误。
您是以“pipe理员”还是“pipe理员”身份运行安装? 如果前者那么可能是UAC干扰。 以pipe理员身份login并重新运行安装。
现在这个问题在ServerFault上出现了很多。 如果您坚持在(非terminal)服务器上使用UAC,那么以pipe理员身份login是避免此类问题的最简单方法。
JR