【问题标题】:How to install windows service using wix and not using ServiceInstall如何使用 wix 而不是使用 ServiceInstall 安装 Windows 服务
【发布时间】:2012-08-16 15:32:27
【问题描述】:

我需要使用 wix 安装 Windows 服务。不幸的是 ServiceInstall 不符合我的需要。它不允许显式指定服务文件,并且需要放置在服务可执行文件所在的同一组件中。但是每次构建项目时,我的组件都是由热量动态生成的。所以我不能把 ServiceInstall 放在那里。

有人知道安装该服务的其他方法吗?

该服务是 .net 的,所以我的第一个想法是直接从 .net 框架运行 installutil。

【问题讨论】:

    标签: windows-services wix


    【解决方案1】:

    我已经详细谈到了动态安装创作的许多限制。我要做的是为服务静态创作这个组件(使用 ServiceInstall )并将其从动态生成过程中排除。

    再说一次,我不使用动态创作周期。我不认为这是最佳做法。

    【讨论】:

    • +1,静态包含这个并不难,每次构建时生成它有什么意义
    • 我知道建议静态制作 wix 文件,但在我的情况下,我只需要接受一个事实:我需要提前打包我不完全了解的构建文件夹的内容.可能是稍后我们将切换到静态文件生成。还是谢谢。
    • 我永远不会接受这个“事实”。这是一个可怕的要求和糟糕的设计,并且可能来自对部署一无所知的人。有很多边缘案例额外的元数据案例场景需要考虑,你不可能在构建时“神奇地”把它做好。
    【解决方案2】:

    您可以使用 XSLT 转换(请参阅-t 开关)以您想要的方式转换热量输出。而且它仍然比回退到 installutil 更好...查看 DTF 文档(DTF.chm 与 WiX 一起安装,Development Guide > Managed CAs > InstallUtil),了解为什么不认为使用 installutil 是一个好主意。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多