如何在wix bootstrapper中使用复选框值?

问题描述 投票:1回答:2

[像在HyperlinkTheme.xml中添加一个复选框

<Checkbox Name="MyCheckBox" X="18" Y="191" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">Install Driver</Checkbox> 

我如何在引导程序中使用它?我已经修改了Bundle.wxs文件,例如

<MsiPackage SourceFile="..\..\..\..\install\MyMSI.msi" InstallCondition="MyCheckBox" ForcePerMachine="yes" Vital="yes" Visible="yes" />  

但是这不能正常工作。它没有安装MyMSI.msi,但是复选框值为“选中”。我错过了什么吗?请帮忙。提前致谢。

wix wix3.6
2个回答
1
投票

您的复选框是否在HyperlinkTheme.xml的“选项”页面中?

根据WiX开发人员Bob Arnson的this answer,除添加到“选项”页面中的所有复选框外,所有其他复选框都将被忽略。

HyperlinkTheme.xml

<Page Name="Options">
    <Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
    <Text X="11" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OptionsLocationLabel)</Text>
    <Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
    <Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
    <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>

    <!-- Additional checkbox control -->
    <Checkbox Name="MyCheckBox" X="-11" Y="-173" Width="260" Height="17" TabStop="yes" FontId="3">#(loc.MyCheckbox)</Checkbox>
</Page>

如果您确实将其添加到“选项”页面,则在bundle.wxs文件中使用条件的方式可能存在问题。尝试上面链接的问题中使用的方法,看看它如何工作:

<Variable Name="MyVariable" Type="numeric" Value="![CDATA[MyCheckBox]]"/>

0
投票

在您的<MsiPackage元素中,状态InstallCondition="MyCheckBox=1"

© www.soinside.com 2019 - 2024. All rights reserved.