windows-installer – 如何在安装MSI时以编程方式检测成功或失败
发布时间:2020-12-14 02:10:34 所属栏目:Windows 来源:网络整理
导读:我有一个bootstrapper应用程序,它安装了几个MSI包.但是,如果安装失败,Windows安装程序似乎不会返回任何错误代码.例如,如果我点击“取消”,则以下命令行测试不会打
我有一个bootstrapper应用程序,它安装了几个MSI包.但是,如果安装失败,Windows安装程序似乎不会返回任何错误代码.例如,如果我点击“取消”,则以下命令行测试不会打印“失败”:
msiexec /i myinstaller.msi || echo failed 鉴于缺少错误反馈,检测安装失败的最佳方法是什么? 如接受的答案所示,实际上返回了错误代码.出于某种原因,我的测试用例只能在从批处理文件执行时按预期工作,而不是直接在命令行输入. 解决方法
实际上,msiexec确实返回错误代码,两个成功代码为0(成功)和3010(成功,需要重新启动).也许cmd.exe在你的例子中做了一些不必要的魔法(比如在msiexec完成之前返回),但是当我通过VBScript的
WScript.Shell Run(bWaitOnReturn = True)执行时,我成功读取了msiexec错误代码.
尝试在test.vbs文件中抛出以下内容,然后使用cscript test.vbs执行它: Set WshShell = WScript.CreateObject("WScript.Shell") MsgBox(WshShell.Run("msiexec /i myinstaller.msi",true)) 如果单击“取消”,它应弹出非零值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 给定Windows上的PID – 如何找到执行它的命令行指令?
- 为什么我的Windows 8 WPF单选按钮全部脱离了?
- 对于Windows上的os.path.getmtime(),Python2.4和2.6的行为有
- wcf – 代理类更改参数的顺序,将param作为第一个输出
- windows7配置Nginx+php+mysql的详细教程
- 哪些编程语言可以生成自包含的窗口.exes?
- windows-10 – 签署代码后摆脱智能屏幕警告多长时间?
- 检查电子应用是否在Windows上以管理员权限启动
- Microsoft SQL Server 不同系统版本支持和下载说明
- 有没有Windows等同于Unix / Linux的声明?