自定义操作后刷新 installshield basicMsi UI

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

正如标题所示,我尝试更新 basicMsi UI 以响应正在运行的 C# 自定义操作。我已经尝试了迈克尔·乌尔曼在其他帖子中提出的所有建议,但我仍然无法让它发挥作用。

链接

  • 安装shield 2023 Premier
  • 使用 Wix [CustomAction] 的 c# 非托管自定义操作

我有一个对话框试图通过 http 端点激活许可证密钥。我可以正常工作,自定义操作将根据我的端点返回 ActionResult.Success 或 ActionResult.Failure。这一切都很好。

这一切都是通过 UI 对话框中的“激活”按钮来完成的,该按钮需要用户输入许可证密钥。 http 调用完成后,我想使用来自 http 端点的任何可能的失败消息来更新 UI。如果调用成功,那么我想启用对话框中的“下一步”按钮,现在禁用“激活”按钮,因为不再需要它。

所有这些自定义操作都是通过 DoAction 完成的,即使单击“激活”按钮也是如此。我一生都无法弄清楚如何在 CA 完成执行后更新文本和“下一步”按钮状态。他们从不实时更新。我可以看到更改的唯一方法是单击“后退”,移出当前对话框,然后移动到“下一步”以返回到激活对话框。然后我可以看到更改,因为对话框会使用之前设置的属性重新加载。如何在不必在对话框之间移动的情况下实时更新?几十年来,这似乎是一个非常重要的用例,为什么这不是一个简单的任务?!?

installation wix windows-installer installshield
1个回答
0
投票

这是 Windows 安装程序的限制。解决方法是创建第二个与第一个对话框类似的对话框并过渡到它。

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