実行環境:のWindows Server 2012 R2
そこには、サイレント・インストールすることができますが、問題は、ですが、現在のシステムは、VC ++パッチがインストールされているかどうかを検知していない、ギャングを指している願っています
#は自動的にインストール セット - -ExecutionPolicy フォースRemoteSigned #は現在のスクリプトの絶対パスを取得します $パス - =分割経路;親の$ MyInvocation.MyCommand.Definition $ネット = 「\のvcredist_x64.exeを」; の設定 - 場所の$パスを、 機能表示を - 進捗状況を{(ファイル$は、引数$) $プロセス =たRunAs引数-Verbスタートプロセスファイル$ $ - パススルー のために($ I = 0 ;私は-Le $ 100、$ I =(Iは+ $ 1)%100 ) { ライト -活性-progress "C ++は、パッチがインストールされている" - PERCENTCOMPLETE $ I スタート -sleep -Milliseconds 100 IF ($ process.HasExited){ 書き込み -progress -活性" インストーラ" - 完了 IF ($ process.HasExited){ #は、対応するインストール IF($プロセスを。 EXITCODE -NE 0 ){ ライト -warning " インストール手順は、エラーコードを返した:$($ process.ExitCode)" ; } 他{ 書き込み -Host 「パッチCが正常にインストール++。" } BREAK } } } } 関数InstallNet(ファイルパスの$、$ファイル名){ $ NetFxPath =ファイルパス$ + $ファイル名、 インストールファイルが存在する確認#場合 であれば(テスト -Path - パスNetFxPath $){ ライト -Host " Cインストール++パッチ... " ショー -progress NetFxPath $ " / Q / norestartサポート" } エルス{ 書き込みが -warning " C ++パッチのインストールパッケージが見つかりません。" } } InstallNet $パス$ネット