Vbscript Windows update downloader.Download()失败
我在微软网站上看到一个关于Windows Update的vbscript示例程序(名为WUA_SearchDownloadInstall.vbs) 他的脚本运行良好,直到达到Vbscript Windows update downloader.Download()失败,vbscript,jscript,windows-update,Vbscript,Jscript,Windows Update,我在微软网站上看到一个关于Windows Update的vbscript示例程序(名为WUA_SearchDownloadInstall.vbs) 他的脚本运行良好,直到达到 downloader.Download() 在该行上,CMD窗口输出 C:\wu-install\WUA_SearchDownloadInstall.vbs(37, 1) (null): 0x80240044 通过在downloader.Download()之前添加printf行,我可以看到在Download()中立
downloader.Download()
在该行上,CMD窗口输出
C:\wu-install\WUA_SearchDownloadInstall.vbs(37, 1) (null): 0x80240044
通过在downloader.Download()之前添加printf行,我可以看到在Download()中立即断言错误
我的问题是:如何找到线索来知道错误原因?可能有办法捕获异常并让输出一些详细的错误消息
我在这篇文章()的帮助下尝试了,并围绕问题行写了以下内容:
On Error Resume Next
downloader.Download()
If Err.Number <> 0 Then
WScript.Echo Err.Description
WScript.Quit 4
End If
On Error Goto 0
剩下的问题是:如何从Download()获取错误代码,以便检查错误原因。这一页看起来太粗糙了,我找不到答案
再次等待你的帮助。谢谢。您收到此错误,因为Windows Updater API需要提升权限。在提升的命令提示符下启动脚本应该可以解决这个问题 请注意,您应该确保已连接到internet,Windows Update服务已启用,并且没有挂起的更新安装(即在关机时等待安装)。这些事情也会导致错误 [编辑] 您应该能够从库内部检索状态。
Download
方法返回一个值。将其结果指定给变量可以防止脚本崩溃。如果没有,请尝试使用“错误转到下一步”上的来绕过它。您可以在下面找到各种结果代码和错误代码
谢谢。你说得对。在Win7上以管理员身份运行可以解决此问题。但如果程序提供一种方法告诉用户是什么导致了错误,那就更好了。如果没有,我们必须逐个检查遇到的3+个案例中的哪一个。一个合适的脚本将检查所有三个实例,以便彻底检查。然而,这个特殊的错误仅仅是因为没有提升权限。那么将来会有第四个权限呢?应该有办法从库中获取错误描述。我强烈建议您开始一个新问题,而不是编辑这个问题。你原来的问题已经解决了。您可以包含指向此问题的链接作为背景信息。
On Error Resume Next
downloader.Download()
If Err.Number <> 0 Then
WScript.Echo Err.Description
WScript.Quit 4
End If
On Error Goto 0
var downloader = updsession.CreateUpdateDownloader()
downloader.Updates = updatesToDownload
try {
downloader.Download()
}
catch(err) {
WScript.Echo("Oops, Download error.")
WScript.Echo("Possible reason:")
WScript.Echo("* On Windows Vista/7, This requires you Run as Administrator.")
WScript.Quit(3)
}