防止删除引导程序

时间:2017-05-17 18:51:52

标签: wix bootstrapper

我有一个自定义引导程序,允许用户卸载安装组件或整个安装。在任何一种情况下,引导程序都会被删除,并且“程序和功能”中不再提供。如果我知道用户只是卸载了安装的一个组件,是否有办法阻止捆绑被删除?

我想也许我可以设置安装状态进行修改,但我没有办法做到这一点。

1 个答案:

答案 0 :(得分:2)

计划阶段,您需要处理一些事件,以便为捆绑包中的每个MsiFeature和Package设置所需的State

对于每个wix msifeature和/或package,用户正在更改,您需要将事件args的State值设置为{ {1}}或AddLocal表示功能,RemovePresent表示规划阶段事件处理程序(AbsentBootstrapperApplication.PlanPackageBegin)中的包。对于任何剩余的未更改,请将状态设置为BootstrapperApplication.PlanMsiFeature

然后,当您调用None时,如果您希望在运行后存在引导程序,则需要提供Engine.Plan(...)Modify的LaunchAction值,或{{1如果你想删除引导程序。 我怀疑这是您遇到问题的地方 - 检查您传递给Install 的价值

我写了一系列您可能感兴趣的博客文章(特别是第5部分):Writing Your Own .NET-based Installer with WiX