首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PowerShell命令启动进程安装msi时,出现退出代码1603错误。

使用PowerShell命令启动进程安装msi时,出现退出代码1603错误。
EN

Stack Overflow用户
提问于 2020-11-09 15:59:36
回答 1查看 1.9K关注 0票数 2

我们正在使用以下脚本在Windows服务器上安装MSI文件,并且能够在Windows服务器中安装MSI文件。下面的代码在一些MSI文件中运行良好,但对于其他文件却失败了。得到1603的出口代码。如果我们进行干净的安装,它可以正常工作,但是在尝试重新安装时,我们得到了一个退出代码:1603错误。对于所有服务,所有配置设置都是相同的。

作为在Microsoft网站上提到。,我们验证了以下条件,但没有适用于我们的情况。

  • Windows正在尝试安装一个已经安装在您的PC上的应用程序。
  • 要将Windows安装程序包安装到的文件夹已加密。
  • 包含要将Windows安装程序包安装到的文件夹的驱动器作为替代驱动器访问。
  • 系统帐户对要将Windows安装程序包安装到的文件夹没有完全控制权限。您注意到错误消息,因为Windows安装程序服务使用系统帐户安装软件。

代码:

代码语言:javascript
运行
复制
:outer for($i=1; $i -le $attempts; $i++) {
    $timeout = $null
    $proc = Start-Process -filePath $InstallerPath -ArgumentList $InstallCommand -PassThru
    $proc | Wait-Process -Timeout $SecondsToWait -ea 0 -ev timeout
    If (($timeout) -or ($proc.ExitCode -ne 0)) {
        $proc | kill
        $error = "`tFailed To Run $($ProcessTitle)Operations: Exit-Code = $($proc.ExitCode)"
        If(($i+1) -le $attempts) {
            WriteLog -Message($error) -MainLoggingConfigs $MainLoggingConfigs
            Start-Sleep -s $WaitTimePerAttempt
        }
        Else {
            throw $error
        }
    }
    Else {
        break outer
    }
EN

回答 1

Stack Overflow用户

发布于 2020-11-09 20:30:16

如果使用MSI,则需要使用Start-Process msiexec.exe -wait -NoNewWindow而不是Wait-Process。如果您真的担心它会永远运行,请考虑使用PowerShell作业:

代码语言:javascript
运行
复制
Start-Job -Name MyInstall -scriptBlock {
    Start-Process msiexec.exe -NoNewWindow -ArgumentList $MSIArguments
}
Wait-Job -Name MyInstall

然后检查作业Get-Job MyInstall的输出、状态消息、状态、错误,特别是子作业。

如果您的Start-Process创建了尚未结束的子进程,则可能是由于相互竞争的安装尝试而导致的错误。尝试使用类似于凯文·马奎特解决方案的方法来保存冗长的MSI日志:

代码语言:javascript
运行
复制
$MSI = 'C:\path\to\msi.msi'
$DateStamp = get-date -Format yyyyMMddTHHmmss
$logFile = "$MSI-$DateStamp.log"
$MSIArguments = @(
    "/i"
    "`"$MSI`""
    "/qn"
    "/norestart"
    "/L*v"
    $logFile
)
Start-Process "msiexec.exe" -ArgumentList $MSIArguments -Wait -NoNewWindow
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64754999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档