- Does not work on old PE files that have link version 5.x (before VC6?)
No known workaround; this seems to be limitation of Windows UpdateResource API.
- Import of version resource does not work if encoded not in UTF-16.
- Does not work on files signed with digital certificates (TO DO: warn and remove certificate)
- A second version resource may be added to a file that already has a version resource
in other language. Switch /va won't help.
TO DO: ensure that a file has only one version resource!
- When verpatch is invoked from command prompt, or batch file, the string
arguments can contain only ANSI characters, because cmd.exe batch files cannot be
in Unicode format. If you need to include characters not in current locale,
use other shell languages that fully support Unicode (Powershell, vbs, js).
- TO DO: In RC source output (/vo), special characters in strings are not quoted;
so /vo may produce invalid RC input.
- The parser of binary version resources handles only the most common type of structure.
If the parser breaks because of unhandled structure format, try /va switch to
skip reading existing version resource and re-create it from scratch.
Consider using WINE or other open source implementations?
- option to add extra 0 after version strings : "string\0"
(tentative, requested by a reader for some old VB code)
- For files with extra data appended, checksum is not re-calculated.
Such files usually implement their own integrity check.
- Switch /va does not prevent import of existing version resource. Revise.
- When existing version string contains "tail" but the command line parameter does not,
the tail is removed. In previous versions the tail was preserved.
- Running verpatch on certain executables (esp. built with GNU C) produce corrupt file
when run on WinXP SP3, but same binaries give good result when run on Win7 or 2008R2.
(is it because of improvemnent in UpdateResource API on newer Windows?)