在Burn托管引导程序内的WiX中指定包的安装位置

在Burn托管引导程序内的WiX中指定包的安装位置,wix,wix3.6,burn,Wix,Wix3.6,Burn,我有一个3.6包(使用)和托管引导程序,可以安装几个软件包。某些软件包安装到公共位置(C:\program files\MyApp) 我想让用户选择托管引导程序应用程序内部的安装位置(特别是因为该应用程序需要安装,大约1GB)。如何为捆绑包中的每个包指定INSTALLLOCATION?使用每个MsiPackage的子项来指定INSTALLLOCATION=[BurnVariable]。然后使用Engine.StringVariables设置BurnVariable 例如,在捆绑包中设置: <

我有一个3.6包(使用)和托管引导程序,可以安装几个软件包。某些软件包安装到公共位置(
C:\program files\MyApp

我想让用户选择托管引导程序应用程序内部的安装位置(特别是因为该应用程序需要安装,大约1GB)。如何为捆绑包中的每个包指定INSTALLLOCATION?

使用每个MsiPackage的子项来指定INSTALLLOCATION=[BurnVariable]。然后使用Engine.StringVariables设置BurnVariable

例如,在捆绑包中设置:

<Bundle ...>
    <Variable Name='BurnVariable' Value='bar' />
    ...
    <Chain>
        <MsiPackage Source='path\to\your.msi'>
            <MsiProperty Name="INSTALLLOCATION" Value="[BurnVariable]" />
        </MsiPackage>
    </Chain>
</Bundle>    

我试图从burn中读取一些环境变量并将其传递到MSI中,但我使用默认的BA。你能解释一下我需要做什么吗?我在variable.cpp burn->engine中看到了代码。这就是我必须添加新变量的地方吗?