![](/img/trans.png)
[英]How can I uninstall Software Update (Programs and Features\Installed Updates) with Powershell
[英]Uninstall programs with Powershell 2 on Win 2008
我的 Powershell 2.0:-( 腳本正在使用類似於以下摘錄的內容安裝 MSI package。
(...)
msiexec.exe /norestart /qn /passive `
/l*v "$Dir\Install.log" `
/i "$dirTemp\$msi" `
INSTALLFOLDER="$Dir"
(...)
它運行成功,但希望腳本等待安裝結束,然后再繼續執行下一個說明。 有沒有辦法強制腳本等待msiexec
完成?
謝謝
如果我沒記錯的話,PS2 也有 cmdlet 啟動過程。 在那里你可以指定參數“-wait”:
$argumentList = @(
'/norestart'
'/qn'
'/passive'
'/l*v'
"$Dir\Install.log"
'/i'
"$dirTemp\$msi"
"INSTALLFOLDER='$Dir'"
)
$result = start-process msiexec.exe -ArgumentList $argumentList -Wait -PassThru
自 Windows Installer 1.0 首次發布以來,msiexec.exe 一直運行在 Windows 子系統中。 這意味着當它從控制台或批處理腳本執行時,控件立即返回到控制台或腳本。
在這種情況下,我喜歡從命令行或批處理腳本使用start /wait
。 這將創建進程並等待它退出,並且進程的返回碼通過並從啟動命令返回,以便相應地設置%ERRORLEVEL%
。
start /wait msiexec.exe
后跟剩余的參數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.