Introducing MakeXPStub
: Modify Your Executables to Run on Windows XP
Overview
This release introduces MakeXPStub
, a utility that allows you to transform any given .exe
file to be compatible with Windows XP. The utility comes with built-in support for generating minimal patches, making it extremely lightweight and easy to implement.
Features
- Simple CLI: Use
makexpstub.exe --input a.exe --output b.exe
to create an XP-compatible executable. - NSIS Patch Generation: Utilize
GenPat.exe
to generate an NSIS compatible patch file:GenPat.exe a.exe b.exe xp.pat
. - NSIS Scripting Support: Our release includes a pre-written NSIS script snippet that handles the patching and supports both XP and newer versions of Windows with minimal file size overhead.
Usage
Transform your EXE
Execute the following command to create an XP-compatible b.exe
from a.exe
:
makexpstub.exe --input a.exe --output b.exe
Generate the NSIS Patch
Generate the patch file using:
GenPat.exe a.exe b.exe xp.pat
Add to Your NSIS Script
Include the following NSIS script snippet to handle both XP and newer Windows versions:
${If} ${IsWinXP}
File "/oname=~a.tmp" "a.exe"
File "..\xp.pat"
vpatch::vpatchfile "xp.pat" "~a.tmp" "a.exe"
File "..\xpstub.dll"
File "..\bcrypt.dll"
Delete "$INSTDIR\xp.pat"
Delete "$INSTDIR\~a.tmp"
${Else}
File "a.exe"
${Endif}
What's Next?
We are continuously working on improving MakeXPStub
and are open to community contributions and suggestions. Feel free to open issues or submit pull requests.
Thank you for using MakeXPStub
!