winget install --id=ElectronCommunity.rcedit -e
Command line tool to edit resources of exe file on Windows.
rcedit is a command-line tool designed to edit resources in executable (exe) files on Windows. It provides developers with a powerful way to modify various properties of executables, including version strings, icons, file versions, product versions, resource strings, and application manifests.
Key Features:
Audience & Benefit: Ideal for software developers and system administrators who need to modify executable resources efficiently. With rcedit, users can update properties without recompiling the project, streamlining development workflows and deployment processes.
rcedit is a lightweight, cross-platform tool that can be installed via winget.
Command line tool to edit resources of exe file on Windows.
Prebuilt binaries can be found in the GitHub releases.
To build you need CMake 3.15+ and Visual Studio 2015 or above.
cmake -E make_directory build
cd build
cmake ..
cmake --build .
Show help:
$ rcedit -h
Set version string:
$ rcedit "path-to-exe-or-dll" --set-version-string "Comments" "This is an exe"
Use this option to change any supported properties, as described in the MSDN documentation here
Set file version:
$ rcedit "path-to-exe-or-dll" --set-file-version "10.7"
Set product version:
$ rcedit "path-to-exe-or-dll" --set-product-version "10.7"
Set icon:
$ rcedit "path-to-exe-or-dll" --set-icon "path-to-ico"
Set resource string:
$ rcedit "path-to-exe-or-dll" --set-resource-string id_number "new string value"
Set requested execution level (asInvoker
| highestAvailable
| requireAdministrator
) in the manifest:
$ rcedit "path-to-exe-or-dll" --set-requested-execution-level "requireAdministrator"
Set application manifest:
$ rcedit "path-to-exe-or-dll" --application-manifest ./path/to/manifest/file
And you can change multiple things in one command:
$ rcedit "path-to-exe-or-dll" --set-icon "path-to-ico" --set-file-version "10.7"
Get version string:
$ rcedit "path-to-exe-or-dll" --get-version-string "property"
Use the same properties as --set-version-string
. Use "FileVersion"
to get the results of --set-file-version
and "ProductVersion"
to get the results of --get-product-version
.
Get resource string:
$ rcedit "path-to-exe-or-dll" --get-resource-string id_number