当前位置:  开发笔记 > 编程语言 > 正文

使用WiX,Inno Setup和VS2008自动构建版本号

如何解决《使用WiX,InnoSetup和VS2008自动构建版本号》经验,为你挑选了2个好方法。

基本上我需要的是一种自动更新WiX产品版本号(带Votive等的3.0)的方法,然后将该版本号放入Inno Setup"bootstrapper"中

我的流程几乎都是自动化的,但版本号仍然需要手动更新,这显然不太理想,但我找不到如何在编译时将值传递给Inno Setup(以及如何引用它们),在WiX项目中,我需要知道如何在Visual Studio 2008中的同一解决方案中引用不同项目的版本号



1> Oliver Giese..:

无需传递任何东西!您可以简单地让InnoSetup预处理器直接从二进制文件的版本资源中读取版本信息,例如:

#define AppName "My App"
#define SrcApp "MyApp.exe"
#define FileVerStr GetFileVersion(SrcApp)
#define StripBuild(str VerStr) Copy(VerStr, 1, RPos(".", VerStr)-1)
#define AppVerStr StripBuild(FileVerStr)

[Setup]
AppName={#AppName}
AppVersion={#AppVerStr}
AppVerName={#AppName} {#AppVerStr}
UninstallDisplayName={#AppName} {#AppVerStr}
VersionInfoVersion={#FileVerStr}
VersionInfoTextVersion={#AppVerStr}
OutputBaseFilename=MyApp-{#FileVerStr}-setup

在版本5.4.1(2011-02-09)之前,ISPP未包含在默认的InnoSetup软件包中.您必须下载InnoSetup快速入门包:http://www.jrsoftware.org/isdl.php#qsp(感谢@Gwyn,更新)


哇!太精彩了!+1.对ISPP不是默认包的一部分感到恼火.

2> Rob Menschin..:

您可以从包中的文件版本获取WiX的ProductVersion.语法类似于:


或者您可以使用"-dVersionFromCommandLine = 1.0.0.0"开关在命令行上将其提供给蜡烛,语法​​如下:


可以在最新版本的WiX v3中使用.只有后者适用于WiX v2.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有