【问题标题】:WIX: Combine WindowsService Startup and HeatWIX:结合 WindowsService 启动和加热
【发布时间】:2020-06-10 16:35:59
【问题描述】:
  • 我有一个 Windows 服务项目。
  • 我正在使用 WIX 安装我编译的项目。
  • 我正在使用 heat 将项目中所有必要的文件收集到我的 WIX 项目中,方法是生成一个辅助“仅加热”.wxs 文件,然后由主要的 Product.wxs 引用,该文件包含所有其中包含手工制作的 XML。
  • 我想让安装程序自动安装和启动服务。

我可以让它很好地工作吗?


所有关于使用 WIX 安装和启动 Window 服务的默认建议都假定您要将额外的 XML 放入 .wxs 文件的 Component 标记中。但这是由热量产生的,我想避免在热量创建该文件后手动编辑该文件。

当放置在主要的手写.wxs 文件中时,我无法获取要“执行”的命令。

是不是我读错了什么魔法?

有没有整体上更好的方法来做到这一点?

【问题讨论】:

  • 在我写太多之前,一些问题:你知道Paraffin吗? (我从未使用过它 - 维护过?)。你试过XPath / XSLT to post-process the heat.exe output吗?你需要的服务配置稳定吗?换句话说,你能把它当作静态标记吗?使用组件引用? (没试过)。大多数时候,有些人更喜欢将服务放在单独的设置中——这也是可能的。您可以使用 Burn 内置的 setup.exe 依次安装
  • WiX 也有商业分支 - FireGiant。他们有"HeatWave Harvesting"。我不知道更多,但我想我会分享链接。如果您目前的方法快到了,那就是红鲱鱼。
  • @SteinÅsmul。本质上,是的。我目前的解决方案是一个简单的自定义 EXE,它扫描文件并在相关行中进行编辑。这基本上是相同的方法。这两种方法和 XSLT 方法对我来说似乎都很糟糕,令人失望的是它们似乎是处理这个问题的“推荐”方法。
  • @SteinÅsmul Parafin 和 HeatWave 似乎都是很有希望的选择;我会进一步研究它们。
  • 不建议收割。

标签: wix windows-services heat


【解决方案1】:

我有一个名为 IsWiX 的 FOSS 工具(此处为教程:https://github.com/iswix-llc/iswix-tutorials),它使编写 WiX MSI 变得简单。查看 Windows 服务教程。

这段 5 年前创作的(无声)视频显示,只需 2 多分钟即可创建服务和安装程序。

https://www.youtube.com/watch?v=bxbcPnjfzIc

有时我会在构建过程中使用热量(例如基于 NodeJS 的应用程序),但在大多数情况下,我不鼓励这种模式,原因如下:

http://blog.iswix.com/2007/06/dealing-with-very-large-number-of-files.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    相关资源
    最近更新 更多