我不确定它是否缺乏理解,但我在我的WiX安装程序中实现了以下代码
<?ifdef svn.BUILD_NUMBER?>
<?define PRODUCTVERSION="1.0.$(svn.BUILD_NUMBER).0"?>
<?else?>
<?define PRODUCTVERSION="1.0.1.0"?>
<?endif?>
<Product Id="*" Name="My Installer" Language="1033" Version="$(var.PRODUCTVERSION)" Manufacturer="My Corporation" UpgradeCode="170e2710-5690-4433-8787-7bcd0a922fbc">然而,无论我怎么尝试,我都不能让安装程序使用SVN修订版number...am,我错过了什么/做错了什么?
发布于 2013-07-13 03:29:49
变量必须具有以下三个前缀之一,具体取决于它们的创建方式:
Documentation
这个"svn.BUILD_NUMBER“是从哪里来的?
更新:
从您的评论来看,您似乎需要从项目外部获取修订号,并将其带到项目内部。有很多方法可以做到这一点。一些CI服务器将为提供修订号的构建设置环境变量。
在任何情况下,您都必须使用var.或env.更正预处理器变量的用法:
<?ifdef env.BUILD_NUMBER?>
<?define PRODUCTVERSION="1.0.$(env.BUILD_NUMBER).0"?>
<?else?>
<?define PRODUCTVERSION="1.0.1.0"?>
<?endif?>如果您需要首先创建环境变量,则运行如下命令即可:
set BUILD_NUMBER=
for /F "tokens=1,2" %t in ('svn info') do ^
@if "%t"=="Revision:" set BUILD_NUMBER=%u根据您的需要,您可以获得更多的功能:生成一个XML (.wxi),使用MSBuild (参见您参考的文章)来运行诸如执行svn info这样的任务,使用snv info --xml进行一些svn info处理,...
https://stackoverflow.com/questions/17621664
复制相似问题