首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wix Bootstrapper: Bootstrapper事件序列

Wix Bootstrapper: Bootstrapper事件序列
EN

Stack Overflow用户
提问于 2014-01-09 10:57:43
回答 1查看 3.8K关注 0票数 10

我已经开始玩管理Boostrapper类和事件。简而言之,我添加了BoostrapperCore.dll,它将为您提供名称空间

Microsoft.Tools.WindowsInstallerXml.Bootstrapper

我能够从不同博客中的一些例子中得到一些信息。例如,当引导程序准备运行时,入口点是BootstrapperApplication.Run(),。

然后会有这样的事件:

代码语言:javascript
复制
BoostrapperApplication.DetectBegin
BoostrapperApplication.DetectPackageBegin
BoostrapperApplication.DetectForward

等等等等..。

Microsoft.Tools.WindowsInstallerXml.Bootstrapper问题:名称空间中是否有提供事件和方法的详细信息和顺序的精确文档/联机帮助?

那肯定会节省很多时间..。

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-11 23:46:30

源代码在git上。中,我还没有找到大量关于这些事件的文档。

就订单而言,WiX引导程序有三个主要阶段(所有这些阶段都是异步发生的)。

检测

这是当燃烧引擎试图找出什么(如果有的话)已经安装。引导程序通过调用Engine.Detect启动此进程,您可能希望在启动程序启动时立即这样做,因为您需要此结果才能决定是显示安装、卸载还是升级UI。

在此阶段,引擎将引发OnDetect...事件,告诉引导程序它发现了什么。

计划

这是当燃烧的引擎知道它将做什么。引导程序通过调用Engine.Plan启动此过程,指定所需的操作(例如安装、卸载、升级等)。这通常是在应用阶段之前完成的,例如在用户单击"Go“按钮之后)。在此阶段引发OnPlan...事件。

应用

这是燃烧引擎在包中实际安装或卸载包的时候,并在引导程序程序调用Engine.Apply时启动。其余的绝大部分消息都是在此阶段中引发的,以便结合进度和错误报告,或者允许引导程序应用程序处理某些事情(例如,OnResolveSource,它可以用来提示用户查找引擎无法找到的文件)。

应用程序有两个子阶段,缓存和执行.

在这三个阶段中,只有三个事件是没有引发的:

  • OnStartup,在引导程序第一次启动时引发(基引导程序调用Run入口点作为处理此事件的一部分)。
  • OnShutdown,在引导程序退出时引发。
  • OnSystemShutdown,在收到奎尔扬窗口消息时引发。

您绝对需要处理的事件是OnDetectCompleteOnPlanCompleteOnApplyComplete,它们将按顺序发生。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21018262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档