We help IT Professionals succeed at work.

Modifying Win32 PE EXE ProductVersion AFTER compilation

sderochemont
sderochemont asked
on
Medium Priority
470 Views
Last Modified: 2013-12-03
Does anyone know of a way to change the ProductVersion string and PRODUCTVERSION data stored in a Win32 EXE or
DLL AFTER it has been built?

I know you can change it in the resource editor then recompile, but I want a program to restamp the
ProductVersion of existing DLL's and EXE's.

This would be useful for me since I have a project which includes many DLL's and EXE's. Usually, only an few will change between official releases, so I don't want to recompile them unless I need to. However, I would like to
be able to see which 'official' release they were tested with so I know that if I have a set with the same ProductVersion, they were tested together and will all
work together.

I want a program that could change the ProductVersion's of
a set of EXE's and DLL's.
Does anyone have such an animal or have information on how to write one?
Comment
Watch Question

Commented:
If you are running Windows NT, you can use the BeginUpdateResource, UpdateResource and EndUpdateResource functions to change the VERSIONINFO resource in the EXE or DLL in question.

The easiest way to do it would probably be to first use FindResource, LoadResource and LockResource to retrieve the previous VERSIONINFO, then change the version number and finally write it back with the above functions.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.