有没有办法从文本文件中读取WiX变量的值?
我要做的是在instlal包中包含特定于版本的信息。
在预构建步骤中将此版本信息提取到文本文件中, 问题是如何将此文本文件内容引入构建过程。
可能的解决方案之一是在预构建步骤中更新整个.wxs文件 也是,但感觉有点草率。
还有其他不太干扰的方式吗?
谢谢。
答案 0 :(得分:10)
创建一个单独的文件'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)" ?>
答案 1 :(得分:0)
在我的环境中,MSXild文件始终构建WiX脚本。这意味着我可以在命令行中传入我想要的任何特定于版本的信息。 CruiseControl.NET在构建时将这些版本号传递给我的WiX脚本。