Windows installer 获取Msiexec返回代码

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

我正在为软件部署创建安装包装,在使用msiexec启动MSI时获取错误代码时遇到一些问题。 请将以下内容作为我的安装字符串的示例:

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

中返回程序的退出代码,这正是我所需要的。谢谢。