在之前的博客:3、electron打包生成exe文件
我們已經得到了electron打包好的應用了,目錄如下,但是我們如何整合成一個安裝程序,發給客戶使用呢?
我們可以使用grunt-electron-installer來生成
一. 准備
安裝grunt-electron-installer。
1. 我們進入到HelloWorld-win32-x64的父級目錄下。
2. 新建一個package.json,內容如下:
{ "name": "HelloWorld", "version": "1.0.0" }
3. 在上面的路徑下打開DOC窗口,打開命令行,輸入npm install grunt-electron-installer --save-dev安裝grunt-electron-installer模塊
npm install grunt-electron-installer --save-dev
4.接着輸入npm install grunt --save-dev安裝grunt
npm install grunt --save-dev
執行完之后,我們的目錄結構如下:
在上面的目錄下新建Gruntfile.js文件,內容如下:
關於Gruntfile.js一些配置信息如下:
注:如要設置圖標iconUrl,圖標必須是網絡連接,不能是路徑
應用圖標iconUrl和安裝程序的圖標setupIcon都必須是ico格式的文件,不能為其他。我們可以在下面鏈接進行圖片的格式轉換
二. 配置生成桌面快捷方式
配置app添加監聽並生成快捷方式
找到我們應用程序index.js添加如下代碼:
//grunt 生成快捷方式 var path = require('path'); var handleStartupEvent = function () { if (process.platform !== 'win32') { return false; } var squirrelCommand = process.argv[1]; switch (squirrelCommand) { case '--squirrel-install': case '--squirrel-updated': install(); return true; case '--squirrel-uninstall': uninstall(); app.quit(); return true; case '--squirrel-obsolete': app.quit(); return true; } // 安裝 function install() { var cp = require('child_process'); var updateDotExe = path.resolve(path.dirname(process.execPath), '..', 'update.exe'); var target = path.basename(process.execPath); var child = cp.spawn(updateDotExe, ["--createShortcut", target], { detached: true }); child.on('close', function(code) { app.quit(); }); } // 卸載 function uninstall() { var cp = require('child_process'); var updateDotExe = path.resolve(path.dirname(process.execPath), '..', 'update.exe'); var target = path.basename(process.execPath); var child = cp.spawn(updateDotExe, ["--removeShortcut", target], { detached: true }); child.on('close', function(code) { app.quit(); }); } }; if (handleStartupEvent()) { return; }
添加之后在下面目錄打開DOS執行npm run-script package得到out目錄:
三. 打包
准備工作都完成之后,HelloWorld-win32-x64的父級目錄如下,我們在執行grunt就可以了(執行中,最好退出360等軟件,可能會造成干擾)。
報錯:
如果有的同學運行grunt報錯:
你需要先將Grunt命令行(CLI)安裝到全局環境中。
npm install -g grunt-cli

上述命令執行完后,grunt
命令就被加入到你的系統路徑中了,以后就可以在任何目錄下執行此命令了。
在目錄下,會生成一個installer的文件夾,如下:
setup.exe就是安裝程序了。
會有一個默認的安裝等待動畫:
安裝成功之后,桌面生成了我們的快捷方式