如何使用属性设置安装路径?

时间:2014-10-28 12:47:11

标签: properties wix custom-action

我想知道如何使用属性设置复制文件的安装路径。所以,请让任何人解释答案。

2 个答案:

答案 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,它会告诉您如何将参数传递给自定义操作并使用它们。