首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WiX 3.6根据时间戳自动生成内部版本号

使用WiX 3.6根据时间戳自动生成内部版本号
EN

Stack Overflow用户
提问于 2012-04-05 22:15:26
回答 2查看 2.1K关注 0票数 0

我发现了许多使用Team build安装环境自动递增内部版本号的方法,但没有一种方法能让我满意,因为我有一个C++ MFC应用程序,其中大多数方法都不起作用。

所以我想到了另一个解决方案,它可能适用于我们的团队(因为它不是那么大):

我想要一个这样的内部版本号:

代码语言:javascript
复制
$(major).$(minor).$(buildnumber) <!-- where buildnumber is like YYMMDDHHMM -->

我认为可以从命令行使用预处理器变量来设置$(major)$(minor) (或者执行构建前任务,比如从文件中提取它们并将它们放入变量中),但是构建号应该是基于构建的唯一构建号。

此方法适用于本地计算机上的每个开发人员以及CI环境中的每个开发人员(在我们的示例中为TFS)。

有没有办法做到这一点?或者,有没有另一个想法可以自动生成我还没有看到的增加的内部版本号(不一定是基于时间戳)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-05 22:49:18

此要求的实现包括两个部分:

1)生成ProductVerion属性的构建自动化

2)将此属性传递到WiX构建的构建自动化。

对于第一点,我喜欢使用TFS Versioning,但是有很多解决方案可以满足你的需求。

对于#2,我在.wixproj中放入如下代码:

代码语言:javascript
复制
 <PropertyGroup>
   <MSIProductVersion Condition=" '$(MSIProductVersion)' == '' ">0.1.0</MSIProductVersion>
 </PropertyGroup>

 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
   <DefineConstants>Debug;WiXProductVersion=$(MSIProductVersion)</DefineConstants>
 </PropertyGroup>
 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
   <DefineConstants>WiXProductVersion=$(MSIProductVersion)</DefineConstants>
 </PropertyGroup>

在实际的wxs中,我这样做:

代码语言:javascript
复制
 <Product Id="*" Name="IsWiX" Language="1033" Version="$(var.WiXProductVersion)"
          Manufacturer="ISWIX LLC" UpgradeCode="some upgrade code">
   <Package InstallerVersion="200" Compressed="yes" />

其概念是TFS传入版本,并将其传递到编译器并映射到MSIProductVersion属性。对于本地开发人员的构建,MSI的版本仅为0.1.0 (这是一个很好的指示,表明它不是官方构建)。

票数 2
EN

Stack Overflow用户

发布于 2013-03-28 03:34:06

我用找到here的"verbuild.exe“实用程序解决了这个问题

按照该页面中的步骤执行操作:

  1. Create initial version头文件:创建资源( .rc )文件,该文件:
    1. 包括步骤1中的头文件
    2. 包括使用来自头文件(例如VERSION_FILE)

)的更改来替换.rc文件中的正确版本的更改

在构建项目之前,将

  1. 更改为调用verbuild以更新内部版本号:
    • 我运行一个批处理文件以增加内部版本号: run

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10030325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档