Windows installer 获取Msiexec返回代码
我正在为软件部署创建安装包装,在使用msiexec启动MSI时获取错误代码时遇到一些问题。 请将以下内容作为我的安装字符串的示例:Windows installer 获取Msiexec返回代码,windows-installer,autoit,software-distribution,Windows Installer,Autoit,Software Distribution,我正在为软件部署创建安装包装,在使用msiexec启动MSI时获取错误代码时遇到一些问题。 请将以下内容作为我的安装字符串的示例: Run(msiexec /i "' & @WorkingDir & '\install_flash_player_11_active_x.msi" TRANSFORMS="' & @WorkingDir & '\AdobeFlash_ActiveX.mst" /qn /norestart', @WorkingDir, @SW_HIDE
Run(msiexec /i "' & @WorkingDir & '\install_flash_player_11_active_x.msi" TRANSFORMS="' & @WorkingDir & '\AdobeFlash_ActiveX.mst" /qn /norestart', @WorkingDir, @SW_HIDE)
在AutoIT中,如果安装中发生错误,Run应将@error设置为非零。然而,我注意到,即使安装失败,@error设置为0,因此我的消息来源认为这是成功的。我相信这些返回代码是基于成功启动的Msiexec本身,而不是Msiexec启动的安装。反过来,使我几乎不可能正确地报告未成功的安装
如果任何人对此有任何潜在的解决方案,我们将不胜感激 Run中的
@error
值仅告诉您程序是否正确启动。然后在后台启动程序,脚本继续执行
如果在安装msi时不需要进行任何处理(如鼠标或键盘自动化),则使用RunWait
将从程序返回退出代码
或者,如果需要使用Run,则在进行后台处理后,使用
ProcessWaitClose
,它将在@extended
中返回程序的退出代码,这正是我所需要的。谢谢。