我已经生成了一个msi,我希望能够更改默认的安装目录,并且我知道你可以使用命令行参数更改WIX属性,但我似乎无法让这个适用于TARGETDIR这样:
Installer.msi TARGETDIR = C:\
我的目录片段是:
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="SystemFolder"/>
<!-- Desktop-->
<Directory Id="DesktopFolder"/>
<Directory Id="ProgramFilesFolder">
<Directory Id="DIR_Company" Name="Company Name">
<Directory Id="DIR_SubDir" Name="Sub Directory" >
<Directory Id="INSTALLDIR" Name="My Product">
<Directory Id="DIR_ONE" Name="ONE" />
<Directory Id="DIR_TWO" Name="TWO" />
<Directory Id="DIR_THREE" Name="THREE" />
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</Fragment>
这是不可能的,还是我的语法?
答案 0 :(得分:4)
我怀疑这是因为您在目录层次结构中有预定义的文件夹,例如ProgramFilesFolder
。即使您通过命令行设置TARGETDIR
,它也会被Program Files的众所周知的位置覆盖,并且所有子文件夹都会变为相对的。
作为解决方法,您可以从命令行设置INSTALLDIR
。如果为其指定完整路径,它将覆盖您在WiX创作中定义的初始层次结构。