我正在使用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>
...
答案 0 :(得分:0)
希望你已经找到了这个问题的答案,如果没有,这是我对它的抨击 您的EditBox元素似乎缺少 ADDRESS 属性引用。 e.g:
<Editbox Name="ADDRESS" X="11" Y ="120" Width="100" Height="21" TabStop="yes" FontId="3" >[ADDRESS]</EditBox>
希望这有帮助!