我在wix安装程序中有一个非常冗长的CustomAction,我希望能够在操作运行时更改"Status:..."文本,以查看是否有进度并更新其内部状态.我知道如何设置自定义操作的progresstext - 但我想要的是在自定义操作运行期间动态更改进度文本.
Chr*_*ter 11
延迟自定义操作可以调用MsiProcessMessage函数.然后,您可以使用INSTALLMESSAGE_ACTIONSTART,INSTALLMESSAGE_ACTIONDATA和INSTALLMESSAGE_PROGRESS将消息发布到UI.
另一种可能性是将自定义操作分解为较小的自定义操作,并使用ProgressText(ActionText表)来描述不同的安装阶段.(使每个CA都有一个责任.)
有时,当CA做太多工作时,很难正确规划回滚.
使用C#/ DTF,它看起来像:
using (Record record = new Record(0))
{
record.SetString(0, "foo");
session.Message(InstallMessage.ActionData, record);
}
Run Code Online (Sandbox Code Playgroud)
using语句处理记录以释放底层的MSI句柄.记录中的字段数以及设置数据的方式取决于ActionText表中定义的模板.
| 归档时间: |
|
| 查看次数: |
4059 次 |
| 最近记录: |