簡體   English   中英

在 Win 2008 上使用 Powershell 2 卸載程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM