【发布时间】:2019-04-19 11:34:53
【问题描述】:
我有一个附加到我的解决方案的 Windows Installer 项目,它允许用户使用我添加到用户界面的“复选框”对话框选择安装应用程序的两个组件(它们是 Windows 服务),并且然后是自定义操作的条件...
即在自定义操作/安装我有
ProjectA 的主要输出(活动)
- 条件 = PROJECTACHOSEN(即 Checkbox1Property 值)
ProjectB 的主要输出(活动)
- 条件 = PROJECTBCHOSEN(即 Checkbox2Property 值)
在自定义操作/卸载中,我添加了相同的两个“主要输出”。
问题是,如果用户在安装过程中只选择了两个项目之一,那么卸载程序仍然会尝试卸载这两个服务,当然当它没有找到丢失的服务时会抛出错误,导致卸载失败。
我可以在卸载中添加什么条件以仅安装当前已安装的服务?
我试过了:
- 添加与安装相同的条件 - 这根本不会删除服务(可能是因为您在卸载过程中没有勾选框)
- Condition = “已安装”,这是我在网络上其他地方看到的。这似乎被忽略了,卸载程序仍会尝试卸载这两项服务。
【问题讨论】:
-
不是主要问题的一部分,但如果有人可以提供指向所有可添加到自定义操作的条件的参考链接,那就太好了。无法从 Microsoft 文档站点中获得太多信息...docs.microsoft.com/en-us/previous-versions/visualstudio/…
标签: visual-studio visual-studio-2017 windows-installer custom-action visual-studio-setup-proje