将文本文件内容包含在WiX脚本中

时间:2008-12-28 06:37:45

标签: build wix versioning

有没有办法从文本文件中读取WiX变量的值?

我要做的是在instlal包中包含特定于版本的信息。

在预构建步骤中将此版本信息提取到文本文件中, 问题是如何将此文本文件内容引入构建过程。

可能的解决方案之一是在预构建步骤中更新整个.wxs文件 也是,但感觉有点草率。

还有其他不太干扰的方式吗?

谢谢。

2 个答案:

答案 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脚本。