@skyfalcode/inno-setup
v1.0.0
Published
Node.js/TypeScript toolkit to generate and compile Inno Setup (.iss) scripts and run installers via ISCC.
Maintainers
Readme
@skyfalcode/inno-setup
A TypeScript / Node.js toolkit to generate, compile, and run Inno Setup (.iss) scripts programmatically.
This package provides a typed, programmatic API around the Inno Setup toolchain, allowing you to:
- Build
.issscripts from structured objects - Compile them using
ISCC - Run installers and uninstallers from Node.js
- Integrate Inno Setup into automated build pipelines (Electron, CI, packaging, etc.)
⚠️ Credits:
This project is a wrapper and automation layer around Inno Setup, which is developed and maintained by Jordan Russell and Martijn Laan.
Inno Setup itself is not created by this package — all credit for the installer system goes to the original authors.
Features
- Typed
.issscript generation - Automatic formatting of Inno Setup directives
- Compile scripts using
ISCC - Run installers and uninstallers programmatically
- Designed for Node.js, TypeScript, and Electron workflows
- No runtime dependencies
Installation
npm install @skyfalcode/inno-setupRequires Windows and Inno Setup to be installed (or the installer downloaded via this package).
Basic Usage
1. Create and compile an installer script
import { InnoSetupScript } from "@skyfalcode/inno-setup";
const script = new InnoSetupScript({
Setup: {
AppName: "My App",
AppVersion: "1.0.0",
DefaultDirName: "{pf}\\MyApp"
},
Files: [
{ Source: "dist/*", DestDir: "{app}", Flags: ["recursesubdirs"] }
]
});
await script.run({});2. Download Inno Setup installer
import { download } from "@skyfalcode/inno-setup";
const installerPath = await download({ dir: "./tools" });3. Run an installer
import { install } from "@skyfalcode/inno-setup";
await install({
installer: "./MyInstaller.exe",
setupCommandLineParameters: {
SILENT: true,
NOCANCEL: true
}
});4. Run an uninstaller
import { uninstall } from "@skyfalcode/inno-setup";
await uninstall({
dir: "C:/Program Files/MyApp",
uninstallerCommandLineParameters: {
SILENT: true
}
});Requirements
- Windows
- Node.js >= 14
- Inno Setup installed or downloadable
Credits
This package is built on top of Inno Setup:
- Official website: https://jrsoftware.org/
- Product info: https://jrsoftware.org/isinfo.php
- Documentation: https://jrsoftware.org/ishelp/
Inno Setup is developed and maintained by:
- Jordan Russell
- Martijn Laan
All rights and credit for Inno Setup belong to its authors.
License
MIT — see the LICENSE file for details.
