ここでは、Windows 10 で管理 PowerShell を.msi
使用してインストールする試みを示します。msiexec
C:
2 つのドライブそれぞれに対して 7 回 (合計 14 回) 、D:
の代わりに異なる引数を使用しARG
、同じ望ましいパス値を使用して実行しました。
テンプレート:PS C:\WINDOWS\system32> msiexec /i D:\users\username\downloads\soft\publisher\softwarename\software.msi /passive ARG="D:\Soft\publisher\softwarename"
ARG
s:
TARGETDIR
、、、、、、、、INSTALLDIR
INSTALLPATH
INSTALLFOLDER
INSTALLLOCATION
APPLICATIONFOLDER
APPDIR
- パラメータで設定されたドライブと同じドライブで実行する場合: このドライブのデフォルトフォルダにインストールされます (例:
D:\Blender Foundation\Blender\2.81\
) - 別のドライブから実行する場合: 何も起こらないようです
- パラメータで設定されたドライブと同じドライブで実行する場合: このドライブのデフォルトフォルダにインストールされます (例:
この動作を回避する方法はありますか?
アップデート1
以前のバージョンは正しくビルドされていなかったため、別のパッケージ (Blender 2.81) でテストしました.msi
。上記の引数名はどれもうまくいきませんでした。ドライブからのインストールでも、すべてD:
デフォルトのフォルダーにインストールされましたC:
。
アップデート2
Blender 2.81では、 で.msi
パックされた の場合と同様にWiX
でした。インストールパス引数の名前を見つけるには、をINSTALL_ROOT
試すことができます。 に感謝しますmsiexec /lp! <msi_property_logfile> /i <msi_name>
.msi
イェンフォーヤンそして彼の答えここ。
答え1
これを適切に機能させるには、次の手順を実行する必要があります。
- インストーラーで使用されるパブリック プロパティのリストを取得します
.msi
。PS >.\YourAppInstaller.msi /lp! YourAppInstall.log
;- インストールをキャンセルします。
.log
前の手順で生成されたファイル内のパブリック プロパティを検索します。.msi
コマンドラインからパブリックプロパティを使用して 実行します。- プロパティ値にスペースが含まれている場合は、バッククォート+引用符のペア(
`"
)で囲みます。 - 例:
PS >.\YourAppInstaller.msi YOUR_PROP=`"value with spaces`"
- プロパティ値にスペースが含まれている場合は、バッククォート+引用符のペア(
Blender のサイレント インストールの場合、インストール パスを指定するには、次のようにインストーラーを呼び出す必要があります (例)。
.\blender-3.4.1-windows-x64.msi INSTALL_ROOT=`"C:\Program Files\Blender Foundation\Blender\`"
こうすることで、どこにインストールするかが理解されます。