2

セットアッププロジェクトにWIX3.5を使用しています。インストール中にインストールディレクトリを変更すると、インストーラはデフォルトのディレクトリを使用するように要求します。

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="LocalAppDataFolder" Name="AppData">
    <Directory Id="InstallationDir" Name="MyApp" />
  </Directory>
</Directory>
...
<DirectoryRef Id="InstallationDir">
   ... component + files ...
</DirectoryRef>
...
<UI>
   <Property Id="WIXUI_INSTALLDIR" Value="InstallationDir" />
   <UIRef Id="WixUI_InstallDir" />
   <UIRef Id="WixUI_ErrorProgressText" />
</UI>

<CustomAction Id="SetARPINSTALLLOCATION" Property="ARPINSTALLLOCATION" Value="InstallationDir" />
<InstallExecuteSequence>
   <Custom Action="SetARPINSTALLLOCATION" After="InstallValidate" />
</InstallExecuteSequence>

アップグレード(常に製品コードを変更しています)とアンインストール/インストールの両方を試しました。同じ問題!msiexec /L*v log.txt /i Setup.msiログを実行すると、InstallationDirプロパティが実際に変更されたことがわかります。

Q:ソフトウェアがデフォルトのディレクトリにインストールされている可能性はありますか?

4

2 に答える 2

2

ディレクトリをカスタマイズするには、すべて大文字の名前を使用する必要があります。大文字は、MSIがディレクトリ(およびプロパティ)をPUBLICであると宣言し、したがってカスタマイズ可能であると宣言する方法です。

于 2012-09-06T15:13:59.670 に答える
0

解決してくれてありがとう。この投稿を見つけるまで、インストーラーがユーザー指定の正しいディレクトリにファイルをコピーしなかった理由を理解できませんでした。

インストーラーがINSTALLDIRの下のサブディレクトリにファイルをコピーする場合、それらのIDはすべて大文字であってはならず、そうでない場合、ユーザーがカスタムインストールダイアログを介してINSTALDIRを変更しても変更されないことを強調したいと思います。を使用して確認できます

msiexec /i your_installer.msi /l*v log.log

また、すべて大文字のIDを持つディレクトリは1回だけ設定されることがわかります。

于 2015-02-09T21:25:01.600 に答える