gpt4 book ai didi

WIX 自定义操作在下一个之后调用

转载 作者:行者123 更新时间:2023-12-02 01:15:30 25 4
gpt4 key购买 nike

当我单击“下一步”按钮时,如何调用我的自定义操作 dll?目前我正在做的事情如下:

<CustomAction Id="TestingAction" BinaryKey="BIN_CustomAction" DllEntry="TestValue" Execute="deferred" Return="check" />
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="&amp;Next"></Control>
<Custom Action="TestingAction" After="Next"></Custom>

当我给出 After ="Next" 这是我的“下一步”按钮时,我在构建应用程序后收到错误。

Unresolved reference to symbol 'WixAction:InstallUISequence/Next' in section 'Product:*.

如何解决这个问题,任何人都可以帮助我如何在单击“下一步”按钮后调用 CustomAction。

最佳答案

您想要做的是将延迟的自定义操作安排到某个顺序,并在名为“Next”的自定义操作之后运行它,而“Next”显然不存在。您应该采用完全不同的方式来调用按钮单击时的自定义操作。

请按照以下步骤操作:

  • 创建自定义操作。它必须是立即执行的 (execute='immediate'),并且永远不应该更改目标系统的状态
  • 创作一个 Control 元素 - 您想要触发事件的按钮
  • 最后,创建一个 Publish 元素作为 Control 的子元素,该元素发布 DoAction 事件

以下是来自 WiX 源的完整示例,说明如何通过单击按钮打印 EULA:

<Control Id="Print" Type="PushButton" X="88" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)">
<Publish Event="DoAction" Value="WixUIPrintEula">1</Publish>
</Control>

显然,Control 元素应该是Dialog 元素的子元素。自定义操作的定义如下:

<CustomAction Id="WixUIPrintEula" BinaryKey="WixUIWixca" DllEntry="PrintEula" Return="ignore" Execute="immediate" />

希望这有帮助。

关于WIX 自定义操作在下一个之后调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17227368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com