ChangeVersion

ChangeVersion is a tool to update the version information of an executable or resource file. The software is a command line tool which can easily be used in a continuous build environment like CruiseControl.net. Here's a list of some of the features.

  • command line interface
  • support for .EXE, .DLL and .RES files
  • update FileVersion and ProductVersion based on a version mask
  • add/change/remove version key strings
  • adjust file flags (debug, special, private etc)
  • update project files ( .bdsproj | .bpr | .bpk | .dproj )
  • add/change main application icon
  • use ini file with configuration
  • Windows 7 support
  • easy to integrate into a continuous build environment



Buy now

1 developer license - EUR 25,00
5 developers license - EUR 100,00
10 developers license - EUR 175,00
1 server license (for autobuild/continuous integration) - EUR 200,00
Site license (unlimited developers/servers) - EUR 250,00



Download 30 day trial

ChangeVersion 2012.12.4.0   780 KB


Short manual

   
command line usage: ChangeVersion filename <options>
 
filenameThe .exe, .dll or .res file to update
You can use wildcards to update multiple files
ex. ChangeMe*.dll
filenameThe .exe, .dll or .res file to update
 
options:
 ini=filenameLoad configuration file (ini-file)
 fileversion=?.?.?.?Update file version
 productversion=?.?.?.?Update product version
 fileflags=+/-flagsAdd/remove flags (ex. fileflags=+debug-special)
 filedate=yyyymmddhhnnSet file date used for versioning
 filedate=yyyymmddSet file date used for versioning (no time)
 filedate=now|todayCurrent datetime: now=yyyymmddhhnn today=yyyymmdd
 key:Name=ValueAdd version property (ex. key:Comment=Test)
 key:-NameRemove version property (ex. key:-Comment)
 appicon=filenameAdd/replace main application icon
 -uUpdate .bpr .bpk .dproj .bdsproj files
 
version format:
 x.x.x.xReplace x with numeric values for a fixed version. ex. 1.2.0.1234
 x.x.x.+yIncrement current version number with y. ex. 1.2.0.+1 will turn 1.0.0.0 into 1.2.0.1
  ex. 1.?.0.+5 will turn 1.5.0.20 into 1.5.0.25
 yyyy.mm.dd.hhnnyyyy=year, mm=month, dd=day, hh=hour, nn=minute. ex. 1.0.yyyymm.hhnn
 $(environmentvar)Use an environment variable. ex. $(CCNetLabel) for synchronising with CC.NET
 
ini file configuration:
 section: [VERSIONINFO]fileversion,productversion,fileflags,filedata,appicon
 section: [KEYS]keycount=#, followed by key_1=Name=Value, key_2=...
 
example:
[VERSIONINFO]
fileversion=2.0.0.+1
productversion=2.0.0.0
filedate=now
fileflags=+debug+private-special

[KEYS]
keycount=2
key_1=CompanyName=My Company name
key_2=Comments=build %filedate%
 
List of file flags:
 +debug-debug
 +infoinferred-infoinferred
 +prerelease-prerelease
 +patched-patched
 +private-private
 +special-special
 
List of macro commands you can use in your key values:
 %filedate%
 %ccnetlabel%(CruiseControl.NET version label)
 %fileversion%
 %productversion%
 $(EnvironmentVar)(Environment variable)
 
Note: Command line parameters overrule the ini-settings.