允许用户编辑WIX Burn变量

时间:2014-07-04 10:57:15

标签: wix

我正在使用WIX 3.8并且有一个安装MSI的Burn项目。

我在Burn项目中有一个字符串变量,它有一个传递给MSI的默认值。我想允许用户在安装时编辑它,但无法让它工作。如何允许用户编辑Burn字符串变量?

我目前的代码如下。显示EditBox但不显示默认值,输入的值不会传递给MSI。

Bundle.wxs

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
  <Bundle Name="My Bundle"
          Version="!(bind.packageVersion.Installer)" 
          Manufacturer="!(bind.packageManufacturer.Installer)"
          UpgradeCode="e71d08e2-0083-483d-acfb-4bf9adfd08b0">

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLargeLicense">
      <bal:WixStandardBootstrapperApplication ShowVersion="yes" LicenseUrl="" LogoFile="logo_64x64.jpg" ThemeFile="Theme.xml" />
    </BootstrapperApplicationRef>

    <Variable Name="ADDRESS" bal:Overridable="yes" Type="string" Value="https://my.server.com" />

    <Chain>
      <MsiPackage Id="Installer" SourceFile="$(var.Installer.TargetPath)">
        <MsiProperty Name="ADDRESS" Value="[ADDRESS]" />
      </MsiPackage>
    </Chain>

  </Bundle>
</Wix>

Theme.xml:

...
<Page Name="Options">
    <Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
    <Editbox Name="ADDRESS" X="11" Y ="120" Width="100" Height="21" TabStop="yes" FontId="3" />  
    <Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
    <Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
  </Page>
...

1 个答案:

答案 0 :(得分:0)

希望你已经找到了这个问题的答案,如果没有,这是我对它的抨击 您的EditBox元素似乎缺少 ADDRESS 属性引用。 e.g:

<Editbox Name="ADDRESS" X="11" Y ="120" Width="100" Height="21" TabStop="yes" FontId="3" >[ADDRESS]</EditBox>  

希望这有帮助!