Autoincreasing build number

Here is a macro that auto-increments the version information  of your VC++ projects with every new build. The behaviour is quite similar to the version autoincrement in VisualBasic or Delphi.

The Macro searches for the FileVersion section of your projects resource script. The last number of this quadrupel is automacilly increased and written back to the file. At last the project is build as by pressing F7.

As this macro includes full functionality of F7 you can map it to F7 to include the version auto-increment in your build routine.

To access this Version info from within your application use the CVersionInfo class by Roberto Rocco presented elsewhere on

Sub IncResVersion()
	'DESCRIPTION: Build active project and increase version counter in rc script. Map it to F7 for ease of use. (c)'98 Th. Mahler

	' open the project's resource script:
	Documents.Open (ActiveProject.Name + ".rc"), "Text"
	Windows(ActiveProject.Name + ".rc").Active = True
	' find line with FileVersion Information:
	ActiveDocument.Selection.FindText "VALUE ""FileVersion"",", dsMatchForward + dsMatchFromStart + dsMatchCase  

	' move to eol and then to end of build number:
	ActiveDocument.Selection.CharLeft dsMove, 3 

	' mark Build Number and store in strVersion
	ActiveDocument.Selection.WordLeft 1  'dsExtend does not work in my VisualStudio???
	Dim strVersion
	strVersion = ActiveDocument.Selection.Text 

	' Increase Version and write back to file: 
	ActiveDocument.Selection.ReplaceText strVersion , strVersion+1 

	'close RC file

	'build active project
	ExecuteCommand "BuildToggleBuild"
	Documents.SaveAll True  

End Sub 


Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Enterprises are increasingly looking to platform as a service (PaaS) to lower their costs and speed their time to market for new applications. Developing, deploying, and managing applications in the cloud eliminates the time and expense of managing a physical infrastructure to support them. PaaS offerings must deliver additional long-term benefits, such as a lower total cost of ownership (TCO), rapid scalability, and ease of integration, all while providing robust security and availability. This report …

  • Anthony Christie, the Chief Marketing Officer for Level Communications, is responsible for customer experience, worldwide marketing and product management. In this informative asset, he shares his insights into why a private network connection to cloud-bases applications is the right decision for your enterprise. Download now to find out more.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date