Versioning of executables at build time

Jun 19, 2002

2 min read

VC6

VC7.0

CE3.0

Win95

Win98

WinME

NT4

Win2K

WinXP

VS6

C++

Windows

WinMobile

Visual-Studio

MFC

Dev

Intermediate

Author picture

by srinivas vaithianathan

Contributor

100k Views

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)
  • TEXT
    $(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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)