A modern, developer friendly alternative to legacy installers written in Rust.
Zest is a system utility designed to redefine how applications are deployed and installed. It serves as a modern alternative to legacy installers like Inno Setup, which often require deep research and complex, outdated scripting just to get started.
For full installation guides and configuration, please visit this documentation: doc.md
Traditional installers haven't changed much in 20 years. Zest breaks that cycle by focusing on three core pillars:
-
Developer simplicity: Skip the archaic configuration scripts. Zest uses a single JSON file to deplay your app faster.
-
Rust & Tauri reliability: Built with Rust and Tauri v2, Zest ensures memory safe operations and high execution speeds with a minimal binary footprint.
-
User experience: Forget the "Windows 95 style" wizards. With Shadcn UI components, your users experience a professional, modern installation process that matches the quality of your software.
| OS | Windows | Linux | MacOS |
|---|---|---|---|
| Version | 1.0.0 | X | X |
For now only Winwdows is supported.
Zest is divided into 3 parts :
-
zest-cli: The core tool used by the developer to configure and package their application for deployment.
-
zest-installer: The pre-built installer binary that reads the overlay embedded by zest-cli and handles the installation process on the user's machine.
-
zest-uninstaller: The pre-built uninstaller binary, linked to the installed application, responsible for cleanly removing all traces of the program from the system.
Each Tauri project requires a significant set of dependencies and can be heavy to build. Instead of requiring developers to clone the repository and compile everything themselves, Zest ships with pre-built versions of the installer and uninstaller.
The developer uses zest-cli to embed a configuration overlay directly into those pre-built .exe files. At runtime, the installer and uninstaller read their own binary to parse this overlay and display the correct, customized values, no external config files required.
Zest’s security is designed to protect sensitive data while minimizing the application's attack surface on the host environment.
Sensitive data within Zest Archives is protected using AES-256-GCM.
-
Confidentiality: Payloads are encrypted with a 256-bit key, the current standard for high-security data at rest.
-
Authenticated encryption: Unlike basic AES modes, GCM provides built-in integrity verification. It generates an authentication tag for every payload, if even a single bit is tampered with or corrupted during transit, the decryption process will fail immediately, preventing the execution of compromised data.
By leveraging the Tauri v2 security model, Zest enforces strict isolation between the user interface and the operating system :
-
Hardened IPC The frontend has no direct access to the system. All critical operations (registry edits, file I/O) are handled via a secure, monitored Inter Process Communication (IPC) bridge to the Rust backend.
-
Granular scoping: The backend is configured with an explicit "allow-list." It only possesses the permissions required to interact with specific registry hives and application directories, significantly reducing the impact of any potential vulnerability.
Zest supports Windows Registry key management so your application is registered as a proper system installation, visible in Settings -> Installed apps like any native program.
Zest also supports Desktop shortcut creation upon installation.
The uninstaller is bundled with the application at install time. It cleanly removes all files, registry entries, and shortcuts created during installation, restoring the system to its original state.
Zest is actively developed and has a lot of room to grow. Planned improvements include :
- Support for additional task types.
- Linux and MacOS builds.
- Multilingual support for the UI
- And much more...
If there is a feature you need, a bug you encountered, or simply an idea you think could improve Zest, feel free to open an issue. Every piece of feedback directly shapes the direction of the project.
If Zest has saved you time or made your deployment easier consider leaving a ⭐ on the repository. It is the simplest way to support the project and help keeping it alive and maintained.





