有没有办法从文本文件中读取 WiX 变量的值?
我想要做的是将特定于版本的信息包含到安装包中。
此版本信息在预构建步骤中提取到文本文件中,问题是如何将此文本文件内容传播到构建过程中。
一种可能的解决方案是在预构建步骤中更新整个 .wxs 文件,但感觉有点草率。
有没有其他侵入性较小的方法?
谢谢你。
有没有办法从文本文件中读取 WiX 变量的值?
我想要做的是将特定于版本的信息包含到安装包中。
此版本信息在预构建步骤中提取到文本文件中,问题是如何将此文本文件内容传播到构建过程中。
一种可能的解决方案是在预构建步骤中更新整个 .wxs 文件,但感觉有点草率。
有没有其他侵入性较小的方法?
谢谢你。
创建一个单独的文件“includes.wxi”,例如:
<?xml version="1.0" encoding="utf-8"?>
<Include Id="VersionNumberInclude">
<?define MajorVersion="1" ?>
<?define MinorVersion="5" ?>
<?define MicroVersion="99" ?>
<?define BuildVersion="14954" ?>
</Include>
在你的 wxs 文件中,你可以像这样包含这个文件:
<?include VersionNumberInclude.wxi ?>
定义可以这样使用:
<?define VersionNumberInternal="$(var.MajorVersion).$(var.MinorVersion).$(var.BuildVersion)" ?>
<?define VersionNumberUserVisible="$(var.MajorVersion).$(var.MinorVersion).$(var.MicroVersion).$(var.BuildVersion)" ?>
在我的环境中,WiX 脚本始终由 MSBuild 文件构建。这意味着我可以在命令行上传递我想要的任何特定于版本的信息。CruiseControl.NET 在构建时将这些版本号传递给我的 WiX 脚本。