The `innosetup-compiler` package provides a Node.js wrapper for the Inno Setup Compiler (`ISCC.exe`), enabling programmatic or command-line compilation of `.iss` scripts. Currently at version 6.4.1, it primarily facilitates integrating Inno Setup compilation into Node.js-based build workflows, including CLI and Grunt tasks. Its key differentiator is cross-platform compatibility, allowing compilation on Linux and macOS environments provided Wine is installed, translating calls to the Windows-native `ISCC.exe`. This package acts as an orchestrator, executing the official Inno Setup compiler, rather than reimplementing the compiler itself, ensuring compatibility with the latest Inno Setup features. While not on a strict release cadence, it is actively maintained to support current Node.js and Inno Setup versions.
npm install innosetupVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to compile an Inno Setup script (`my-installer.iss`) using the Node.js API, including options for verbose output, specifying an output directory, and configuring code signing with a placeholder command. It includes error handling for the compilation process.
Ensure Wine is properly installed and configured on your system. For macOS users, `brew install wine --devel` is often recommended to get the latest development version.
Set `gui: false` for automated, headless compilation where all options are controlled programmatically. Only use `gui: true` if manual intervention and visual feedback from the Inno Setup compiler GUI are explicitly desired.
Double escape backslashes in JavaScript string literals: `"C:\\absolute\\path\\to\\mycertificate.pfx"`. Alternatively, use forward slashes if the underlying tool supports them or leverage Node.js `path` module for cross-platform path construction, though `signtoolcommand` typically expects Windows-style paths.
None required for functionality, but be aware that behavior with very recent Node.js features might be untested. Consider contributing to update the `engines` field if compatibility is verified for newer Node.js LTS versions.
Update Wine to the latest development version using Homebrew: `brew update && brew install wine --devel`.
Ensure all Inno Setup compiler options passed via the Node.js API or CLI are provided without the leading slash (e.g., `{ O: 'output/directory' }` for Node.js, or `--O=output/directory` for CLI) as the wrapper adds it automatically. Review the official Inno Setup Command Line Compiler Execution documentation for valid parameters.