我开始玩Managed Boostrapper Classes和事件。简而言之,我添加了BoostrapperCore.dll,它会给你命名空间
Microsoft.Tools.WindowsInstallerXml.Bootstrapper
我能够从不同博客中的一些示例中获得一些信息。例如,入口点为 BootstrapperApplication.Run(),在bootstrapper应用程序准备好运行时被调用。
然后有类似的事件:
BoostrapperApplication.DetectBegin
BoostrapperApplication.DetectPackageBegin
BoostrapperApplication.DetectForward
等等...
问题:是否有任何精确的文档/在线帮助,提供Microsoft.Tools.WindowsInstallerXml.Bootstrapper命名空间中的事件和方法的详细信息和顺序?
这肯定会节省很多时间......
此致
答案 0 :(得分:4)
在the source code is on git期间,我还没有为这些活动找到大量文档。
就顺序而言,WiX引导程序有3个主要阶段(所有这些都是异步发生的)
这是Burn引擎试图弄清楚已经安装了什么(如果有的话)的时候。引导程序应用程序通过调用Engine.Detect
来启动此过程,您可能希望在引导程序启动后立即执行此操作,因为您需要此结果才能决定是否显示安装,卸载或升级UI。 / p>
在此阶段,引擎将引发OnDetect...
事件,以告诉引导程序应用程序它找到了什么。
这是Burn引擎弄清楚它将要做什么的时候。引导程序应用程序通过调用Engine.Plan
启动此过程,指定所需的操作(例如,安装,卸载,升级等...)。这通常在 Apply 阶段之前完成,例如在用户点击" Go"按钮)。在此阶段会引发OnPlan...
个事件。
这是Burn引擎实际安装或卸载软件包中的软件包时,并在引导程序应用程序调用{{1}}时启动。在此阶段,绝大多数剩余的消息都是在进展和结合的过程中提出的。错误报告,或允许引导程序应用程序处理某些事情(例如Engine.Apply
,可用于提示用户查找引擎无法找到的文件)
Apply有两个子阶段,Cache和Execute。
在这三个阶段中的一个阶段,我只能看到3个未提出的事件:
OnResolveSource
,在引导程序首次启动时引发(基本引导程序应用程序在处理此事件时调用OnStartup
入口点)Run
,在引导程序退出时引发OnShutdown
,在收到WM_QUERYENDSESSION窗口消息时引发您绝对需要处理的事件是OnSystemShutdown
,OnDetectComplete
,OnPlanComplete
,这将按此顺序发生。