【发布时间】: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