Я создаю программу, которая устанавливается Wix, используя VS 2010, и у меня уже есть product.wxs.
В моем wxs файле у меня есть определения каталогов, которые выглядят следующим образом:
<SetDirectory Id="INSTALLFOLDER" Value="[WindowsVolume]Myapp" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="INSTALLFOLDER" Name="Myapp">
<Directory Id="Myapp_Installer_Dir" Name="Myapp">
<Directory Id="BIN" Name="Bin" />
<Directory Id="ICONS" Name="Icons" />
</Directory>
</Directory>
</Directory>
И затем я получил следующие определения установки файла:
<DirectoryRef Id="Myapp_Installer_Dir">
<Component Id="INSTALLER_Myapp" Guid="{94F18477-8562-4004-BC6F-5629CC19E4CB}" >
<File Source="$(var.Myapp.TargetPath)" KeyPath="yes"/>
</Component>
</DirectoryRef>
<DirectoryRef Id="BIN">
<Component Id="INSTALLER_Data" Guid="{545FB5DD-8A52-44D7-898E-7316E70A93F5}" >
<File Source="$(var.Data.TargetPath)" KeyPath="yes"/>
</Component>
...
И он продолжается таким образом, и файлы для каталога "ICONS" также определены.
Я также использую диалоговое окно WixUI_InstallDir, и я также получил эти строки:
<Property Id="WIXUI_INSTALLDIR" Value="Myapp_Installer_Dir" />
<UIRef Id="WixUI_InstallDir" />
Проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь устанавливает программу и изменяет значение папки установки, файлы "Bin" и "Icons" устанавливаются в их правильное расположение, но установлен целевой объект Myapp к месту фиксации, которое было определено в начале.
Почему только файлы bin и значков установлены в нужную папку, которую хотел пользователь, но цель myapp не указана?