How to change an executable's properties? (Windows) How to change an executable's properties? (Windows) windows windows

How to change an executable's properties? (Windows)


If you are using C/Win32 you can add something like this to your project encapsulated in a *.rc (resource) file:

VS_VERSION_INFO VERSIONINFO FILEVERSION    0,0,0,2 PRODUCTVERSION 0,0,0,2 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0L{    BLOCK "StringFileInfo"    {         BLOCK "040904b0"        {            VALUE "Comments",         "comment\0"            VALUE "CompanyName",      "comment\0"            VALUE "FileDescription",  "base file\0"            VALUE "FileVersion",      "0.0.0.2 TP\0"            VALUE "InternalName",     "testTP\0"            VALUE "LegalCopyright",   "none\0"            VALUE "OriginalFilename", "test.exe\0"            VALUE "ProductName",      "test\0"            VALUE "ProductVersion",   "0.0.0.2 TP\0"        }     }    BLOCK "VarFileInfo"    {        VALUE "Translation", 0x409, 1200    }}


If you want to change the FileDescription or any other version resource string on a compiled executable, rcedit (a small open-source tool) does it pretty easily:

$ rcedit MyApp.exe --set-version-string FileDescription "My Awesome App"


Very easy if you are using visual studio:

  • Right click on the 'Resource Files' folder in the project
  • Click 'Add' then 'Resource'
  • Choose 'Version' from the pop-up dialog

You can then double click on the file to open it in Visual Studio, and you get a handy editor to change the values.

Your values are then automatically linked in to the EXE.