将文本文件内容包含到WiX脚本中
问题描述:
有没有办法从文本文件中读取WiX变量的值?将文本文件内容包含到WiX脚本中
我想要做的是将特定于版本的信息包含到instlal包中。
将此版本信息提取到预构建步骤 上的文本文件中,问题是如何将此文本文件内容提交到构建过程中。
其中一个可能的解决方案是在预构建步骤 上更新整个.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脚本。
谢谢Stefan,那正是我之后。井井有条! – user48829 2008-12-29 03:58:38