禁用基于现有服务的安装功能

Posted

技术标签:

【中文标题】禁用基于现有服务的安装功能【英文标题】:Disable install feature based on existing services 【发布时间】:2013-05-24 18:16:17 【问题描述】:

我正在编写一个将安装 Windows 服务的安装程序。我已经将该服务配置为依赖于第 3 方服务,并且工作正常。我想在安装过程中启动该服务,但是如果第 3 方服务不存在,则会出错。

理想情况下,如果未安装 3rd 方服务,我什至不允许安装该功能。看起来我应该能够在<Feature> 中使用<Condition> 标记并将级别设置为任意高的数字,但我不知道在这种情况下我可以使用什么。我在网上四处搜索,但没有找到一个很好的资源来说明我可以在条件内部文本中测试哪些内容和哪些内容不可用。

【问题讨论】:

【参考方案1】:

如果您可以从众所周知的注册表项中检测到服务,请使用 WiX RegistrySearch element 设置属性并在您的条件表达式中使用该属性。例如,来自 WiX 设置:

<Condition Level="1">VS2005DEVENV OR VS2005_ROOT_FOLDER OR REMOVE</Condition>

【讨论】:

我决定走另一条路,但这个答案确实解决了我发布的问题——谢谢!

以上是关于禁用基于现有服务的安装功能的主要内容,如果未能解决你的问题,请参考以下文章

sitecore禁用管理工具

Outlook 约会替换表单区域的功能区页面已禁用

如果在 C++ 模板库中使用了禁用的库功能,则警告用户

在 PCL 服务参考设置中禁用基于任务的异步操作

Django - 禁用表单集中现有表单的编辑,但允许在新表单中编辑

DMS 表空间启用和禁用自动调整大小功能