web-dev-qa-db-ja.com

PowerShellでmsiexecを実行する

PowerShellでmsiexecを実行しようとしていますが、エラーメッセージが表示され続けます。 cmdから実行すると、問題ありません。

このコマンドをPowerShellで実行する方法を誰かに教えてもらえますか?

これは、PowerShellで入力したコマンドです。

msiexec.exe /qb /I "C:\m_temp\Floating\PrimeWixInstaller.msi" INSTALLLOCATION="C:\Program Files\Mathcad\Mathcad Prime 1.0" ALT_DOC_DIR="C:\Program Files\Mathcad\Mathcad Prime 1.0"

コマンドを実行しようとすると、Windowsインストーラのヘルプウィンドウがポップアップ表示されます。

Windows Installer help window

10
user630320

これは、引数にスペースが含まれているために発生します(たとえば、"C:\Program Files\Mathcad\Mathcad Prime 1.0")。このような場合、引数を囲む引用符をエスケープする必要があります。

PowerShellのエスケープ文字は、墓アクセント( `)です。

したがって、コマンドは次のようになります。

msiexec.exe /qb /I "C:\myInstaller.msi" INSTALLLOCATION=`"C:\Program Files\installFolder`" ALT_DOC_DIR=`"C:\Program Files\otherFolder`"
7
Siim K