electron-installer-squirrel-windows
Fork to allow prerelease versions and other needed updates. Generate Windows installers for Electron apps using Squirrel.
Todo
- Pull
AppModel
into it's own module
Installation
# For use in npm scripts
npm i electron-installer-squirrel-windows --save-dev
# For use from cli
npm i electron-installer-squirrel-windows -g
Usage
Usage: electron-installer-squirrel-windows <path/to/.app>
Generate Windows installers for Electron apps.
Usage:
electron-installer-squirrel-windows ./dist/FooBar-win32-ia32
# Creates a `.nupkg`, a `RELEASES` file, and a `.exe` installer file in `./`
Options:
--out=<path> The directory to place artifacts [Default: `process.cwd()`].
--debug Enable debug messages.
--overwrite Overwrite any existing `Setup.exe` [Default: `false`].
-h --help Show this screen.
--version Show version.
Integration
Squirrel will spawn your app with command line flags on first run, updates, and uninstalls. It is very important that your app handle these events as early as possible, and quit immediately after handling them. Squirrel will give your app a short amount of time (~15sec) to apply these operations and quit.
The electron-squirrel-startup module will handle
the most common events for you, such as managing desktop shortcuts. Just
add the following to the top of your main.js
and you're good to go:
if(require('electron-squirrel-startup')) return;
API
var createInstaller = require('electron-installer-squirrel-windows')
createInstaller(opts, function done (err) { })
createInstaller(opts, callback)
opts
Required
path
- String
The directory generated by electron-packager.
Optional
Note All optional keys will be read from your
package.json
by default.
name
- String
The application name (usually all lowercase with dashes for spaces).
product_name
- String
The marketing name (usually name
with spaces and titlecased).
out
- String
The folder path to create the .exe
installer in. [Default: process.cwd()
]
loading_gif
- String
The local path to a .gif
file to display during install. [Default: __dirname/resources/install-spinner.gif
]
authors
- String
The authors value for the nuget package metadata.
owners
- String
The owners value for the nuget package metadata. [Default: #{authors}
]
exe
- String
The name of your app's main .exe
file. [Default: #{product_name}Setup.exe
]
description
- String
The description value for the nuget package metadata. [Default: ``]
appversion
- String
The version value for the nuget package metadata.
title
- String
The title value for the nuget package metadata. [Default: #{product_name || name}
]
cert_path
- String
The path to an Authenticode Code Signing Certificate. [Default: null
]
cert_password
- String
The password to decrypt the certificate given in cert_path
. [Default: null
]
sign_with_params
- String
Params to pass to signtool which overrides cert_path
and cert_password
. [Default: null
]
setup_icon
- String
URL to the .ico
file to use as the icon for the generated Setup.exe
. [Default: http://git.io/vqdOX
(atom.ico)]
remote_releases
- String
URL to your existing updates. If given, these will be downloaded to create delta updates. [Default: null
]
remote_releases_token
- String
The OAuth token to use as login credentials. [Default: null
]
overwrite
- Boolean
Overwrite existing installers if they already exist. [Default: false
]
debug
- Boolean
Enable debug message output. [Default: false
]
callback
err
- Error
Contains errors if any.
License
Relicensed under Apache 2.0 Copyright (c) 2015 MongoDB Inc.
Based on atom/grunt-electron-installer Copyright (c) 2015 GitHub Inc.