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 usage: ChangeVersion filename <options> |
| |
| filename | The .exe, .dll or .res file to update
You can use wildcards to update multiple files
ex. ChangeMe*.dll
|
| filename | The .exe, .dll or .res file to update |
| |
| options: |
| | ini=filename | Load configuration file (ini-file) |
| | fileversion=?.?.?.? | Update file version |
| | productversion=?.?.?.? | Update product version |
| | fileflags=+/-flags | Add/remove flags (ex. fileflags=+debug-special) |
| | filedate=yyyymmddhhnn | Set file date used for versioning |
| | filedate=yyyymmdd | Set file date used for versioning (no time) |
| | filedate=now|today | Current datetime: now=yyyymmddhhnn today=yyyymmdd |
| | key:Name=Value | Add version property (ex. key:Comment=Test) |
| | key:-Name | Remove version property (ex. key:-Comment) |
| | appicon=filename | Add/replace main application icon |
| | -u | Update .bpr .bpk .dproj .bdsproj files |
| |
| version format: |
| | x.x.x.x | Replace x with numeric values for a fixed version. ex. 1.2.0.1234 |
| | x.x.x.+y | Increment 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.hhnn | yyyy=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. |