bur*_*1ce 11 powershell windows-installer
我想安装一组应用程序:.NET 4,IIS 7 PowerShell管理单元,ASP.NET MVC 3等.如何安装应用程序并返回一个值,该值确定安装是否成功?
Ant*_*ean 18
这些答案似乎都过于复杂或不够完整.在PowerShell控制台中运行安装程序有一些问题.MSI在Windows子系统中运行,因此您不能只调用它们(Invoke-Expression或&).有些人声称得到这些命令通过管道合作,Out-Null或者Out-Host,但我还没有观察到,为了工作.
适用于我的方法是Start-Process使用静默安装参数msiexec.
$list =
@(
"/I `"$msi`"", # Install this MSI
"/QN", # Quietly, without a UI
"/L*V `"$ENV:TEMP\$name.log`"" # Verbose output to this log
)
Start-Process -FilePath "msiexec" -ArgumentList $list -Wait
Run Code Online (Sandbox Code Playgroud)
您可以从命令中获取退出代码Start-Process并检查其是否为通过/失败值.(这是退出代码参考)
$p = Start-Process -FilePath "msiexec" -ArgumentList $list -Wait -PassThru
if($p.ExitCode -ne 0)
{
throw "Installation process returned error code: $($p.ExitCode)"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16987 次 |
| 最近记录: |