GitXplorerGitXplorer
f

node-innosetup-compiler

public
81 stars
19 forks
5 issues

Commits

List of commits on branch master.
Unverified
5a8948faadc28caf76a7e63539ba84afa89558ff

innosetup v6.3.1

committed 7 months ago
Unverified
5a24cecd4d27a47cd32be110dc6ba8464dae413b

Add promise mode

ffelicienfrancois committed 3 years ago
Unverified
c88ff4e31711707ccea3ce6faeb64def20cc7ba8

Upgrade to 6.2.0

ffelicienfrancois committed 3 years ago
Unverified
bbff45ae1e146a25dcdc150734a25023514ae6e9

upgrade to 6.0.3

ffelicienfrancois committed 3 years ago
Unverified
f952748ec735c10ef867fa4e1eda79daa27fba2d

Merge branch 'upgrade-to-6.0.3' of

ffelicienfrancois committed 3 years ago
Verified
322c736f45f77c818af42fc17e57ff79c8e2e720

Merge pull request #13 from 4yousee/master

ffelicienfrancois committed 3 years ago

README

The README file for this repository.

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