Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Increment File and Product Version Number

0.00/5 (No votes)
29 Nov 2004 1  
An add-in to automatically increment the FileVersion and ProductVersion fields in your application's resource file.

Introduction

This add-in enhances the add-in provided by Mihai Filimon. Instead of incrementing the Private Build number every time a compilation is performed, the product and file version fields in the resource are incremented.

I wanted my code updates to be included as part of his original posting but I have not heard anything back from Mihai, so I am submitting a new article, allowing you to have access to the code and a pre-built DLL, so you don't have to waste your time contacting me.

Background

To read the original article upon which this is based, please see Mihai Filimon's 'Increment Private Build Number' in the MFC / C++ >> Macros and Add-ins >> DevStudio Add-ins section.

Having read the various comments on the previous article, I felt compelled to improve Mihai's (already excellent) code.

I was not willing to put up with DevStudio message about the resource file needing to be reloaded, as pointed out by Brian Shifrin, and added support so that it will look in the rc2 file (in the res directory) first for the VERSIONINFO block(s). If it doesn't find the version stuff there, it looks in the rc file as normal. This allows you to move the VERSIONINFO stuff to the rc2 file to avoid the annoying pop-ups. But for those who can't be bothered, the increment will still work on the rc file. In fact, I would advise moving the entire VERSION_INFO block to the rc2 file to save yourself the heartache of being prompted to reload the resources every time you compile.

The biggest change though is as a result of the comment made by Laurence Zaysser who said that the PrivateBuild and SpecialBuild fields are meant for comment text. So instead, the increment takes place on the last digit of the FileVersion and ProductVersion fields. I have noticed some funny behavior if the numbers do not match for the file version and product version fields. The increment just does not seem to take place. But this should not be a problem if you have never edited the version number manually. If you have, just ensure that the numbers are all the same, and of course separated with commas.

Using the code

In the ZIP file, I have included a Release build of the DLL which can be put straight into the \Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns\ directory. You should then be able to choose Tools->Options->Add-ins and Macros, from your Visual Studio menu, and select the IncVersion Developer Studio Add-in.

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