How to add version information to the output of Visual Studio

Source: https://stackoverflow.com/questions/284258/how-do-i-set-the-version-information-for-an-existing-exe-dll

First add a version.h header file to the project

#ifndef VERSION_H

#define VERSION_H

#define VER_FILEVERSION 0,3,0,0
#define VER_FILEVERSION_STR "0.3.0.0"

#define VER_PRODUCTVERSION 0,3,0,0
#define VER_PRODUCTVERSION_STR "0.3.0.0"

#define VER_COMPANYNAME_STR "IPanera"
#define VER_FILEDESCRIPTION_STR "Localiza archivos duplicados"
#define VER_INTERNALNAME_STR "MyProject"
#define VER_LEGALCOPYRIGHT_STR "Copyright 2016 [emailprotected]"
#define VER_LEGALTRADEMARKS1_STR "All Rights Reserved"
#define VER_LEGALTRADEMARKS2_STR VER_LEGALTRADEMARKS1_STR
#define VER_ORIGINALFILENAME_STR "MyProject.exe"
#define VER_PRODUCTNAME_STR "My project"

#define VER_COMPANYDOMAIN_STR "www.myurl.com"

#endif // VERSION_H

Go to proj.rc and create a Version (Add Resource)

Open proj.rc with a text editor

Make the following modifications

#include 

#include
"version.h"

VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
BEGIN
BLOCK
"StringFileInfo"
BEGIN
BLOCK
"040904E4"
BEGIN
VALUE
"CompanyName", VER_COMPANYNAME_STR
VALUE
"FileDescription", VER_FILEDESCRIPTION_STR
VALUE
"FileVersion", VER_FILEVERSION_STR
VALUE
"InternalName", VER_INTERNALNAME_STR
VALUE
"LegalCopyright", VER_LEGALCOPYRIGHT_STR
VALUE
"LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
VALUE
"LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
VALUE
"OriginalFilename", VER_ORIGINALFILENAME_STR
VALUE
"ProductName", VER_PRODUCTNAME_STR
VALUE
"ProductVersion", VER_PRODUCTVERSION_STR
END
END

BLOCK
"VarFileInfo"
BEGIN
VALUE
"Translation", 0x409, 1252
END
END

#ifndef VERSION_H

#define VERSION_H

#define VER_FILEVERSION 0,3,0,0
#define VER_FILEVERSION_STR "0.3.0.0"

#define VER_PRODUCTVERSION 0,3,0,0
#define VER_PRODUCTVERSION_STR "0.3.0.0"

#define VER_COMPANYNAME_STR "IPanera"
#define VER_FILEDESCRIPTION_STR "Localiza archivos duplicados"
#define VER_INTERNALNAME_STR "MyProject"
#define VER_LEGALCOPYRIGHT_STR "Copyright 2016 [emailprotected]"
#define VER_LEGALTRADEMARKS1_STR "All Rights Reserved"
#define VER_LEGALTRADEMARKS2_STR VER_LEGALTRADEMARKS1_STR
#define VER_ORIGINALFILENAME_STR "MyProject.exe"
#define VER_PRODUCTNAME_STR "My project"

#define VER_COMPANYDOMAIN_STR "www.myurl.com"

#endif // VERSION_H

#include 

#include
"version.h"

VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
BEGIN
BLOCK
"StringFileInfo"
BEGIN
BLOCK
"040904E4"
BEGIN
VALUE
"CompanyName", VER_COMPANYNAME_STR
VALUE
"FileDescription", VER_FILEDESCRIPTION_STR
VALUE
"FileVersion", VER_FILEVERSION_STR
VALUE
"InternalName", VER_INTERNALNAME_STR
VALUE
"LegalCopyright", VER_LEGALCOPYRIGHT_STR
VALUE
"LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
VALUE
"LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
VALUE
"OriginalFilename", VER_ORIGINALFILENAME_STR
VALUE
"ProductName", VER_PRODUCTNAME_STR
VALUE
"ProductVersion", VER_PRODUCTVERSION_STR
END
END

BLOCK
"VarFileInfo"
BEGIN
VALUE
"Translation", 0x409, 1252
END
END

Leave a Comment

Your email address will not be published.