我想知道如何使用属性设置复制文件的安装路径。所以,请让任何人解释答案。
答案 0 :(得分:0)
如果您使用的是引导程序,则可以定义一个类似的变量:
<Variable Name="INSTALLFOLDER"
bal:Overridable="yes"
Type="string"
Value="[ProgramFilesFolder]"/>
此变量默认使用ProgramFilesFolder,但可以覆盖它。 您可以在Process.Start(当EXE调用引导程序时)中将其设置为参数,或者 - 如果您已编写了自己的引导程序-GUI - 您可以在GUI代码中设置变量。
在MsiPackage中您必须将变量设置为MsiProperty INSTALLLOCATION,您可以在MSI项目的Product.wxs中定义它。 希望它可以帮助你。
<MsiPackage Id='SetupPackage'
SourceFile='.\Resources\Setup.msi'
Permanent='no'
Cache='yes'
DisplayInternalUI='no'
Vital='yes'
Compressed='yes'
EnableFeatureSelection='no'
DisplayName='MySetup'>
<MsiProperty Name="INSTALLLOCATION"
Value="[INSTALLFOLDER]" />
</MsiPackage>
答案 1 :(得分:0)
我知道这可能为时已晚,但有人可能觉得它很有用。
Wix项目中定义的每个Directory元素都可以使用其Id:
作为属性进行访问例如,如果你有:
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="My Directory" />
</Directory>
</Directory>
</Fragment>
您将拥有一个名为INSTALLFOLDER的属性,您可以通过自定义操作访问它。
查看我的回答here,它会告诉您如何将参数传递给自定义操作并使用它们。