Wix - prawidłowe ustawienie folderu instalacyjnego
Tworzę program, który jest instalowany przez Wix, używając VS 2010 i już mam gotowy produkt.wxs.
W moim pliku wxs mam definicje katalogów, które wyglądają tak:
<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>
A potem otrzymałem następujące definicje instalacji plików:
<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>
...
I to trwa w ten sposób. Pliki dla katalogu „IKONY” są również zdefiniowane.
Używam także zestawu dialogowego WixUI_InstallDir i mam również te linie:
<Property Id="WIXUI_INSTALLDIR" Value="Myapp_Installer_Dir" />
<UIRef Id="WixUI_InstallDir" />
Problem polega na tym, że użytkownik instaluje program i zmienia wartość folderu instalacyjnego, pliki „Bin” i „Ikony” są instalowane w prawidłowej ścieżce, ale cel Myapp jest instalowany w lokalizacji poprawki, która została zdefiniowana w początek jako domyślna ścieżka instalacji.
Dlaczego tylko pliki bin i icon są instalowane w odpowiednim folderze, którego chciał użytkownik, ale cel myapp nie?