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.
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
SpecialBuild fields are meant for comment text. So instead, the increment takes place on the last digit of the
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.