2016-07-20 82 views
1

msiexec.exeを使用してアプリケーションをインストールするためにpowershellスクリプトを実行しようとしています。インストールが完了するまでmsiexecを待ちます。

ます。msiexec.exe/"C:\ Users \ユーザーtempuser \デスクトップ\ AppInstall.msi" /パッシブ待機

だから私は、インストールは、コマンドの残りの部分に移動する前に完了させたいです自動化プロセス全体を混乱させないようにする必要があります。

スクリプトを実行すると、すべてのmsiexecオプションを表示するWindowsインストーラメニューが表示されます。私は、行の最後にwaitパラメータを間違って使用したと思います。すでに、あらゆるソリューションのために多くのグーグル・グーグルを費やしています...私はどんな助けにも感謝します。

答えて

1

あなたのニーズに合うようにparamsを微調整

$myJob = Start-Job {[your msiexec call]} 
Wait-Job $myJob 

それとも

$params = @{ 
     "FilePath" = "$Env:SystemRoot\system32\msiexec.exe" 
     "ArgumentList" = @(
     "/x" 
     "$($productCodeGUID)" 
     "/qn" 
     "REMOVE=ALL" 
     "/norestart" 
     ) 
     "Verb" = "runas" 
     "PassThru" = $true 
    } 

    $uninstaller = start-process @params 
    $uninstaller.WaitForExit() 

を使用することができます。私は長いコードで引数を読みやすくするために2番目のアプローチが好きです。

プロセスやジョブとして実行しても差はありませんが、必要に応じて実行してください。

関連する問題