我做了一些研究之前,發現,好吧,創建Windows安裝程序並不那麼容易。
使用grunt-electron-installer來創建Windows安裝程序。請注意,它只會在安裝時顯示gif。沒有交互式對話框。它使用Squirrel.Windows。
使用Update.exe --createShortcut=<comma separated locations> <your exe>
來創建快捷方式。可用位置包括Desktop
,StartMenu
,Startup
和AppRoot
Update.exe
將與您的應用出廠時安裝。我發現this article非常有幫助。總之,你需要的是這樣的:
var app = require('app');
var path = require('path');
var cp = require('child_process');
var handleSquirrelEvent = function() {
if (process.platform != 'win32') {
return false;
}
function executeSquirrelCommand(args, done) {
var updateDotExe = path.resolve(path.dirname(process.execPath),
'..', 'update.exe');
var child = cp.spawn(updateDotExe, args, { detached: true });
child.on('close', function(code) {
done();
});
};
function install(done) {
var target = path.basename(process.execPath);
executeSquirrelCommand(["--createShortcut", target], done);
};
function uninstall(done) {
var target = path.basename(process.execPath);
executeSquirrelCommand(["--removeShortcut", target], done);
};
var squirrelEvent = process.argv[1];
switch (squirrelEvent) {
case '--squirrel-install':
install(app.quit);
return true;
case '--squirrel-updated':
install(app.quit);
return true;
case '--squirrel-obsolete':
app.quit();
return true;
case '--squirrel-uninstall':
uninstall(app.quit);
return true;
}
return false;
};
if (handleSquirrelEvent()) {
return;
}
注意,在電子的新版本,你可以使用auto-updater
處理Squirrel.Windows事件,但API是一個有點不同,所以我不知道如何正確使用auto-updater
。