特定のディレクトリにMSIEXECを使用してMSIをインストールします
質問
特定のディレクトリにMSIEXECを搭載したMSIをインストールしたい。私が使用しています:
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /qb
MSIは私の特定のパスではなく、デフォルトのパスにインストールしているため、「installDir」とは動作していません。
解決
InstallDirの代わりにTargetDirを使用します。 TargetDirプロパティの見積マークは、スペースの場合のパスの周りにのみあることに注意してください。
msiexec /i "msi path" targetdir = "c: myfolder" /qb
他のヒント
InstallShield 12
INSTALLDIR
エンドユーザーがsetup.exeや.msiデータベースを起動するなど、通常のWindowsインストーラーベース(またはインストールスクリプトMSI)インストールのメイン製品インストールディレクトリを表します。
TARGETDIR
InstallScriptインストールのインストールディレクトリ、または管理Windowsインストーラーベースのインストール(ユーザーが /aコマンドラインスイッチを使用してsetup.exeまたはmsiexec.exeを実行したとき)のインストールディレクトリを表します。
InstallScript MSIプロジェクトでは、InstallScript変数 MSI_TARGETDIR
管理インストールの目標を保存します。
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /q
このバリアントだけがうまく機能しました。
InstallLocationを使用してください。問題がある場合は、 /lv log.txtを使用して動詞ログをダンプします。ログは、独自のオプションをオーバーライドするプロパティの変更があるかどうかを示します。すでに製品をインストールしている場合、2回目の実行は、インストールの場所を変更せずに更新するだけです。最初にアンインストールする必要があります( /xオプションを使用してください)。
これは機能するはずです:
msiexec /i "msi path" TARGETDIR="C:\myfolder" /qb
実際、両方 INSTALLPATH/TARGETDIR
は正しい。 MSIがこれをどのように処理するかに依存します。
使用してMSGを作成します wixToolSet
. 。 WXSファイルには、「ディレクトリ」ノードがあります。
<Directory Id="**TARGETDIR**" Name="SourceDir">;
ご覧のように: Id
使用する必要があります。
私の場合、それらのすべてが機能しませんでした、そして最終的にそれは
msiexec /i "msinamebla.msi" INSTALLFOLDER="C:\test\" /qb
ezzadeenが説明したようにlog.txtをチェックし、そこに「installfolder」を見つけました。
私のMSIの場合、インストールプロセスの後半で、InstallDirとTargetDirの両方がdefaultPathcの値を反映するためにリセットされたため、defaultPathc = "d: myfolder"を設定する必要がありました。
これも私のために働いた
msiexec /i "msi path" INSTALLDIR="D:\myfolder" /q
私は他の2つの反復を試してみましたが、両方ともデフォルトのc:プログラムファイルにインストールされました
installdir = "d: myfolder" /qは、他のドライブにインストールされました。
最新のmsiexecには、ApplicationFolder = "PATH"を使用します
使用した場合 Advanced Installer
.msiを構築するには、使用する必要があります APPDIR=