innosetup-compiler
v6.3.1
Published
Node wrapper to compile inno setup scripts (.iss)
Downloads
2,951
Maintainers
Readme
node-innosetup-compiler
Node module to compile inno setup scripts (.iss)
This is a simple node wrapper of Inno Setup compiler: ISCC.exe
OS Support
Windows
Works natively on windows
Linux & Mac OS X
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
Usage
All options are optional
Command line
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'
Node JS
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);
}
Grunt
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"
}
}
...
});
Options
options.verbose
Default: false
Print full log output
options.gui
Default: false
Use Compil32.exe instead or ISCC.exe (GUI mode)
all other options are ignored in this case
options.signtoolname and options.signtoolcommand
Default: null
The name and command used to sign installer and uninstaller See Innosetup Signtool documentation
Other ISCC Options
Default: none
All ISCC.exe options can be used (without the trailing slash).
- Command line using the
--[Arg]=[Val1];[Val2]
syntax
innosetup-compiler myscript.iss --O=outputfile.exe
- Node JS
require("innosetup-compiler")("path/to/your/innoscript.iss", {
O: 'outputfile.exe'
}, function(error) {
// callback
});
- Grunt
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
Credits
Thanks to Jordan Russell and Martijn Laan for their amazing work on Inno Setup