Build 将文本文件内容包括到WiX脚本中
有没有办法从文本文件中读取WiX变量的值 我想做的是在instl包中包含一个特定于版本的信息 此版本信息在预构建步骤中提取到文本文件中, 问题是如何将此文本文件内容传播到构建过程中 一种可能的解决方案是在预构建步骤中更新整个.wxs文件 也是,但感觉有点邋遢 有没有其他不那么麻烦的方式Build 将文本文件内容包括到WiX脚本中,build,wix,versioning,Build,Wix,Versioning,有没有办法从文本文件中读取WiX变量的值 我想做的是在instl包中包含一个特定于版本的信息 此版本信息在预构建步骤中提取到文本文件中, 问题是如何将此文本文件内容传播到构建过程中 一种可能的解决方案是在预构建步骤中更新整个.wxs文件 也是,但感觉有点邋遢 有没有其他不那么麻烦的方式 谢谢。创建一个单独的文件“includes.wxi”,例如: <?xml version="1.0" encoding="utf-8"?> <Include Id="VersionNumberI
谢谢。创建一个单独的文件“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>
<?include VersionNumberInclude.wxi ?>
<?define VersionNumberInternal="$(var.MajorVersion).$(var.MinorVersion).$(var.BuildVersion)" ?>
<?define VersionNumberUserVisible="$(var.MajorVersion).$(var.MinorVersion).$(var.MicroVersion).$(var.BuildVersion)" ?>
在wxs文件中,您可以像这样包含此文件:
<?xml version="1.0" encoding="utf-8"?>
<Include Id="VersionNumberInclude">
<?define MajorVersion="1" ?>
<?define MinorVersion="5" ?>
<?define MicroVersion="99" ?>
<?define BuildVersion="14954" ?>
</Include>
<?include VersionNumberInclude.wxi ?>
<?define VersionNumberInternal="$(var.MajorVersion).$(var.MinorVersion).$(var.BuildVersion)" ?>
<?define VersionNumberUserVisible="$(var.MajorVersion).$(var.MinorVersion).$(var.MicroVersion).$(var.BuildVersion)" ?>
定义可以这样使用:
<?xml version="1.0" encoding="utf-8"?>
<Include Id="VersionNumberInclude">
<?define MajorVersion="1" ?>
<?define MinorVersion="5" ?>
<?define MicroVersion="99" ?>
<?define BuildVersion="14954" ?>
</Include>
<?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,这正是我想要的。非常整洁!