
Product
Introducing Reports: An Extensible Reporting Framework for Socket Data
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.
innosetup-compiler
Advanced tools
Node module to compile inno setup scripts (.iss)
This is a simple node wrapper of Inno Setup compiler: ISCC.exe
Works natively on windows
Works if wine is installed
Note for Mac OS X Users:
If you get the following error err:macdrv:process_attach Failed to start Cocoa app main loop,
you may need to update wine to a more recent version (devel)
brew install wine --devel
All options are optional
npm install -g innosetup-compiler
innosetup-compiler myscript.iss --gui --verbose --signtoolname=signtool --signtoolcommand='"path/to/signtool.exe" sign /f "C:\\absolute\\path\\to\\mycertificate.pfx" /t http://timestamp.globalsign.com/scripts/timstamp.dll /p "MY_PASSWORD" $f'
npm install innosetup-compiler
require("innosetup-compiler")("path/to/your/innoscript.iss", {
gui: false,
verbose: false,
signtoolname: 'signtool',
signtoolcommand: '"path/to/signtool.exe" sign /f "C:\\absolute\\path\\to\\mycertificate.pfx" /t http://timestamp.globalsign.com/scripts/timstamp.dll /p "MY_PASSWORD" $f'
}, function(error) {
// callback
});
Or using promise
require("innosetup-compiler")("path/to/your/innoscript.iss", {
gui: false,
verbose: false,
signtoolname: 'signtool',
signtoolcommand: '"path/to/signtool.exe" sign /f "C:\\absolute\\path\\to\\mycertificate.pfx" /t http://timestamp.globalsign.com/scripts/timstamp.dll /p "MY_PASSWORD" $f'
}).then(callback).catch(callback);
Or async
try {
await require("innosetup-compiler")("path/to/your/innoscript.iss", {
gui: false,
verbose: false,
signtoolname: 'signtool',
signtoolcommand: '"path/to/signtool.exe" sign /f "C:\\absolute\\path\\to\\mycertificate.pfx" /t http://timestamp.globalsign.com/scripts/timstamp.dll /p "MY_PASSWORD" $f'
});
} catch(error) {
console.log(error);
}
npm install innosetup-compiler --save-dev
grunt.loadNpmTasks('innosetup-compiler');
...
grunt.initConfig({
...
"innosetup_compiler": {
your_target: {
options: {
gui: false,
verbose: false,
signtoolname: 'signtool',
signtoolcommand: '"path/to/signtool.exe" sign /f "C:\\absolute\\path\\to\\mycertificate.pfx" /t http://timestamp.globalsign.com/scripts/timstamp.dll /p "MY_PASSWORD" $f'
},
script: "path/to/your/innosetup/script.iss"
}
}
...
});
Default: false
Print full log output
Default: false
Use Compil32.exe instead or ISCC.exe (GUI mode)
all other options are ignored in this case
Default: null
The name and command used to sign installer and uninstaller See Innosetup Signtool documentation
Default: none
All ISCC.exe options can be used (without the trailing slash).
--[Arg]=[Val1];[Val2] syntaxinnosetup-compiler myscript.iss --O=outputfile.exe
require("innosetup-compiler")("path/to/your/innoscript.iss", {
O: 'outputfile.exe'
}, function(error) {
// callback
});
grunt.loadNpmTasks('innosetup-compiler');
...
grunt.initConfig({
...
"innosetup_compiler": {
your_target: {
options: {
O: 'outputfile.exe'
},
script: "path/to/your/innosetup/script.iss"
}
}
...
});
More info in official innosetup documentation: Command Line Compiler Execution
Thanks to Jordan Russell and Martijn Laan for their amazing work on Inno Setup
FAQs
Node wrapper to compile inno setup scripts (.iss)
The npm package innosetup-compiler receives a total of 2,239 weekly downloads. As such, innosetup-compiler popularity was classified as popular.
We found that innosetup-compiler demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.