ここでの考え方は、プログラムをサイレント モードでアンインストールすることです。残念ながら、プログラムの msi はカスタムであり、アンインストール プロセス中にバッチ ファイルを実行します。私がやろうとしているのは、powershell アンインストール スクリプト中にこのウィンドウが表示されないようにすることです。プログラムが使用する msi が完全またはアンインストール フラグ (/q、/x、/uninstall) に応答しないため、wmi アンインストール メソッドを使用しています。バックグラウンド ジョブとして実行しようとしましたが、ウィンドウがまだ表示されます。スクリプトは次のようになります。
start-job -scriptblock `
{(Get-WmiObject -class Win32_Product |? {$_Name -eq "Annoying1"}).uninstall()} `
-Name Uninstall1
$job = get-job -name Uninstall1
wait-job $job
receive-job $job
アンインストール ジョブがバッチ ファイルが実行されるポイントに到達するまで、これはほとんど非表示で実行されます。この時点で、コマンド ウィンドウが表示されて実行されます。余分なウィンドウを表示せずにこのスクリプトを実行する方法のアイデアはありますか?
スクリプトも一緒に実行さ-windowstyle hidden
れます。