我在本机引导程序应用程序的选项对话框中有一个 EditBox 控件:
<Editbox Name="MyEditBox" X="221" Y="151" Width="-100" Height="21" TabStop="yes" FontId="3" />
在 bundle.wxs 文件中,我有:
<Variable Name="MyEditBox" bal:Overridable="yes"/>
在要向其传递用户在 EditBox 控件中输入的值的 MSI 元素下,我有:
<MsiProperty Name="FIRE" Value="[MyEditBox]"/>
但是,未设置 MyEditBox,并且 FIRE 作为空字符串传递给 MSI。上述方法基于此:使用附加输入自定义 WiX Burn 主题
似乎上面提到的链接不适用于 EditBoxes。为了解决这个问题,我设置 DisplayInternalUI="yes"
了 MSI。但是,我仍然希望不显示 MSI 对话框,而是使用 EditBox 控件通过 WiX BA 对话框传递属性。随着时间的推移,我将编写一个可以完成这项工作的托管 BA,但我现在需要使用本机 BA 来完成这项工作。根据他的链接: http: //www.mail-archive.com/wix-users@lists.sourceforge.net/msg54024.html似乎 EditBox 控件实际上可以用于将属性传递给 MSI,但我没有无法让它发挥作用。任何见解将不胜感激。
更新: 我编写了一个自定义托管引导程序,它使我们能够解决这个问题。正如 Rob 所提到的,在默认 BA 中存在一个现有的功能请求来实现这一点。