是否可以在 wixlib 中包含“源”文件?
我有许多 c++ 解决方案,每个都包含一个或多个项目,以及一个 wixlib,其片段包含以下条目:
<File Id="MY_ID" KeyPath="yes" Source="$(var.my_path)\foo.exe" />
我想收集“foo.exe”并将其包含在 wixlib 中,然后创建一个 WiX 项目,将几个这样的 wixlib 链接在一起并生成一个 MSI。
我所做的阅读似乎暗示了 WiX3 和后来的支持这一点,并且该技术优于使用合并模块。
目前,我使用一个环境变量来描述二进制文件的路径,light.exe 在链接时使用它来定位文件。但是,它有以下缺点:
- 在 wixlibs 编译时间和将 wixlibs 链接到 MSI 之间更改的文件版本,以及
- 特定于用于构建 wixlib 的环境(例如:如果 wixlib 编译和链接发生在不同的机器上,则两者都需要构建所需的二进制文件)