Click here to Skip to main content
15,886,067 members
Articles / Mobile Apps / Windows Mobile
Article

Versioning of executables at build time

Rate me:
Please Sign up or sign in to vote.
3.67/5 (3 votes)
19 Jun 20021 min read 98.8K   1.5K   28   16
A useful tool to incorporate version info during build time

Sample Image - rcversion.gif

Introduction

While building a project, it is sometimes necessary to include the version information. It would be great if this can be implemented as a step in the build process. Here I have provided a tool to prompt the user when a build is done for all the relevant version information and then write this to the project's resource file.

Steps to do

The application is dialog based MFC application. On inputting the value for the projects resource file, the version info is read and displayed. One can modify these values and write it back to the resource file. To include this in your build process in MSDEV, perform the following steps

  • Go to the project settings
  • Choose all configurations
  • Select your resource file
  • Check on Always use custom build step in the General tab.
  • In the Custom build tab enter this in the command field. (without the line break)
  • $(ProjDir)\{your tools directory}\rcversion.exe $(InputPath) rc /l 
    0x409 /fo"$(OutDir)/$(InputName).res" /d "_DEBUG" /d "_AFXDLL" $(InputPath) 

    where {your tools directory} is where you have copied the rcversion.exe

The source code is self-explanatory. Basically, the resource file is read, parsed for the version info and replaced with the new values. One can also pass in command line parameter for the input resource file name in case you would want to use this tool in a standalone way. Because there is dependency in the project to the resource.res, the tool is run only once during fresh build( or rebuild all).

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionIt doesn't work in VC++ 6 Pin
bschorre30-Aug-05 23:30
bschorre30-Aug-05 23:30 
AnswerRe: It doesn't work in VC++ 6 Pin
Anonymous31-Aug-05 7:49
Anonymous31-Aug-05 7:49 
GeneralInvoking exe files in c++ Pin
l_v_k22-Jan-04 19:44
l_v_k22-Jan-04 19:44 
General>256 characters bug. Pin
MattDodd1-Aug-03 2:48
MattDodd1-Aug-03 2:48 
Generaluh-oh Pin
dog_spawn1-Aug-03 3:49
dog_spawn1-Aug-03 3:49 
GeneralRe: uh-oh Pin
MattDodd1-Aug-03 4:20
MattDodd1-Aug-03 4:20 
GeneralNice Pin
Bugra Barin27-Feb-03 19:21
Bugra Barin27-Feb-03 19:21 
GeneralVisual Sourcesafe Pin
Arnt Witteveen25-Jun-02 7:08
Arnt Witteveen25-Jun-02 7:08 
GeneralRe: Visual Sourcesafe Pin
srinivas vaithianathan25-Jun-02 7:23
srinivas vaithianathan25-Jun-02 7:23 
GeneralCrash! Pin
Ancient Dragon23-Jun-02 23:14
Ancient Dragon23-Jun-02 23:14 
GeneralRe: Crash! Pin
srinivas vaithianathan24-Jun-02 7:31
srinivas vaithianathan24-Jun-02 7:31 
GeneralRe: Crash! Pin
Ancient Dragon24-Jun-02 8:55
Ancient Dragon24-Jun-02 8:55 
GeneralRe: Crash! Pin
Arnt Witteveen25-Jun-02 7:11
Arnt Witteveen25-Jun-02 7:11 
QuestionAuto-increment Build Number ? Pin
20-Jun-02 8:40
suss20-Jun-02 8:40 
AnswerRe: Auto-increment Build Number ? Pin
srinivas vaithianathan24-Jun-02 7:34
srinivas vaithianathan24-Jun-02 7:34 
The problem with auto-increment is that everytime you rebuild, the version number would be incremented. This may not be desirable.
AnswerRe: Auto-increment Build Number ? Pin
Scott McKenzie25-Jun-02 15:03
Scott McKenzie25-Jun-02 15:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.