我在wix安装程序中有一个相当长的CustomAction,并且我希望能够在操作运行时更改'Status:...'文本,以查看是否存在进展和更新其内部状况。 我知道如何设置自定义动作的进度文本 - 但我想要的是在自定义动作运行期间动态更改进度文本。WiX:在CustomAction期间动态更改状态文本
5
A
回答
8
延迟自定义操作可以调用MsiProcessMessage函数。然后,您可以使用INSTALLMESSAGE_ACTIONSTART,INSTALLMESSAGE_ACTIONDATA和INSTALLMESSAGE_PROGRESS将消息发布到用户界面。
另一种可能性是将自定义操作分解为更小的自定义操作,并使用ProgressText(ActionText表)来描述安装的不同阶段。 (让每个CA都有一个单一的责任。)
有时,当CA做了太多工作时,很难正确计划回滚。
Obtaining Context Information for Deferred Execution Custom Actions
使用C#/ DTF它看起来是这样的:
using (Record record = new Record(0))
{
record.SetString(0, "foo");
session.Message(InstallMessage.ActionData, record);
}
using语句处置记录以释放潜在的MSI处理。记录中的字段数量以及设置数据的方式将取决于ActionText表中定义的模板。
0
克里斯已经正确地解释了如何将信息从CA发送到ActionData
,但如果您使用InstallShield,请确保您创建的SetupProgress
对话框标签和认购ActionData
文本事件给它。简单地说,为标签创建ActionText
事件是不够的,因为它仅显示您在ActionText表中创建的CA描述。
相关问题
- 1. 动态更改CF7状态
- 2. 动态更改文本值
- 3. 动态更改文本
- 4. 如何更改动态栏状态动态设置项目中的文本
- 5. 副本的自动状态更改
- 6. 动态更改性状
- 7. 动态更改OpenEars间距(动态)
- 8. 动态更改日期
- 9. 在方向更改期间保存标签状态
- 10. 避免在Flash CS3中动态更改动态文本字段
- 11. WebLogic正在自动更改状态
- 12. 使用WiX动态更新app.config文件
- 13. Android - >状态栏状态已更改
- 14. DTF CustomAction to WiX
- 15. Wix CustomAction dll
- 16. WIX CustomAction C#
- 17. MySQL/PHP - 根据日期更改状态
- 18. 动态状态更新
- 19. ReactJS动态更新状态
- 20. 如何更改状态更改时Android ToogleButton的文本颜色?
- 21. WiX 3.8在主要升级期间保持配置文件状态
- 22. 如何在动作脚本中动态更改状态单击事件
- 23. 状态更改时的时间跟踪
- 24. sql服务器状态更改时间
- 25. 在#[test]之间共享动态状态
- 26. 如何在UI状态更改时更新wtf-form状态?
- 27. 在x轴上动态更改日期
- 28. 动态更改文本背景图片
- 29. 动态更改UITableViewCell文本的textColor
- 30. actionscript 3跟踪动态文本更改
谢谢。我相信这正是我所期待的。我的自定义操作是用C#编写的,你可能对DTF有解释吗? – 2012-07-30 15:52:10
DTF doco中的所有类和成员都引用了基础MSI API对应部分,您可以使用帮助文件中的搜索选项卡找到它们。我会更新我的答案以提供样本。 (你没有提到你在编程CA.) – 2012-07-30 16:17:54
谢谢。奇迹般有效 :) – 2012-07-31 05:47:54