我正在使用 VS 2010 创建一个由 Wix 安装的程序,并且我已经准备好 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 目标安装到定义的修复位置start 作为默认安装路径。
为什么只将 bin 和 icon 文件安装到用户想要的正确文件夹中,而 myapp 目标却没有?