Packrat is a lightweight, dependency-minimal packaging and installer
tool. Point it at a folder, and it recursively bundles every file inside
into a single compressed .payload, or a self-contained double-click
installer .exe. There's no external runtime, no registry setup, and no
license fees required for the person receiving it.
It was built as a simple alternative to heavier installer frameworks (Inno Setup, NSIS, etc.) for cases where you just need to get a folder of files from A to B, verified and intact - originally to ship Unreal Engine builds to coworkers and playtesters, but it works for any folder of files.
For more, check out DESIGN-NOTES.md
- 📦 Recursive packaging - point at a folder, every file and subfolder is included automatically.
- 🗜️ Zstandard compression - payloads are compressed on the fly, streamed file-by-file with no full-file memory buffering.
- ✅ Checksummed & verified - every file is CRC32-checked on extraction before anything touches your install directory; a failed or corrupted install never leaves a half-written mess behind.
- 💾 Self-extracting installers - bundle the payload directly into
a distributable
.exe; the recipient just double-clicks it, no separate installer app required. - 🖥️ GUI + CLI - a friendly packager/installer GUI for regular use, and a full CLI for scripting/automation.
- 🪶 Lightweight - minimal dependencies (Dear ImGui, GLFW, zstd, nativefiledialog-extended, stb_image), no heavyweight installer framework, no license fees.
| Step | Instructions | Screenshot |
|---|---|---|
| 1 | Simply double-click the .exe you were given. |
![]() |
| 2 | Choose an install location, and click Install. That's it! No separate download or setup required. | ![]() |
| Step | Instructions | Screenshot |
|---|---|---|
| 1 | Download/build PackratGui.exe (see Building below). |
![]() |
| 2 | Open it, go to the Package tab. | |
| 3 | Pick your source folder and an output location. | ![]() |
| 4 | Leave "Create as self-extracting installer" checked if you want a plain double-click-to-install .exe for your recipients (recommended), or uncheck it to produce a plain .payload file instead (requires the recipient to also have PackratInstaller.exe). |
![]() |
| 5 | Click Package. Send the resulting file to whoever needs it. | ![]() |
packrat package <sourceDir> <output.payload>
packrat extract <input.payload> <targetDir>
packrat verify <input.payload>
packrat verify-install <input.payload> <installedDir>
If you received a .payload file rather than a double-click-to-install .exe, the sender chose not to bundle an installer with it (usually to keep the file smaller). You'll need PackratGui.exe to extract it. The plain CLI (PackratCli.exe) works too, if you'd rather script it.
| Step | Instructions | Screenshot |
|---|---|---|
| 1 | Download/build PackratGui.exe (see Building below). |
![]() |
| 2 | Open it, go to the Extract tab. | |
| 3 | Pick the .payload file you received, and a target folder to install into. |
![]() |
| 4 | Click Extract. Every file is checksum-verified before anything is written to your target folder. If a file was corrupted in transit, you'll see an error rather than a silently broken install. | ![]() |
Note: extracting will overwrite any existing files in the target folder that share the same name as files in the package.
Alternatively, from the command line:
packrat extract <input.payload> <targetDir>
Requires CMake 3.20+ and a C++20 compiler (tested with MSVC on
Windows). All dependencies are fetched automatically via CMake's
FetchContent - no manual setup required.
git clone https://github.com/jdsherbert/PackRat.git
cd PackRat
cmake -B build
cmake --build build
This produces three targets: PackratCli, PackratGui, and
PackratInstaller. PackratInstaller.exe must sit alongside
PackratGui.exe for the "create installer" packaging option to work.
Packrat builds are currently unsigned (no paid code-signing
certificate). This means Windows SmartScreen or your antivirus may
flag a freshly built/downloaded .exe as coming from an "unknown
publisher." This is expected for small, unsigned tools and is not an
indication of a problem. You're welcome to build from source yourself
to verify, per the instructions above.
Packrat is licensed under the MIT License. See THIRD-PARTY-LICENSES.md for the licenses of the open-source libraries it depends on.
Disclaimer: Packrat is provided as-is, with no warranty of any kind. If you didn't get your copy directly from the official GitHub releases or itch.io page, its origin and integrity can't be guaranteed.
Installer/logo artwork by Kittizard.








