Electron - インストーラ
ナビゲーションに移動
検索に移動
概要
Electronには、electron-builderと呼ばれるWindowsインストーラの作成ツールが用意されている。
このツールを使用して、開発したElectronソフトウェアを元に、Windows用のインストーラを作成することができる。
以下に示す公式Webサイトに情報が掲載されている。
electron-builder 公式情報 : https://www.npmjs.com/package/electron-builder
事前準備
- Electron
- NodeJS v1.12.0以降
- NSIS 2.46以降(Nullsoft Scriptable Install System)
http://nsis.sourceforge.net/Download - NSISのインストールディレクトリのパス(例: ~/InstallSoftware/NSIS)を環境変数Pathに追加する。
electron-packagerのインスール
npm install electron-packager -g
electron-builderのインストール
npm install electron-builder -g
ディレクトリ構成
以下の構成で、ディレクトリとファイルを作成する。
適切な場所にディレクトリが存在しない場合、コマンド実行時にエラーとなる。
/app/ (Electron アプリ) |-- package.json |-- main.js |-- index.html /assets/ (アイコンファイル) |-- /osx/ |-- mount.icns |-- /win/ |-- icon.ico /dist/ (パッケージングされたファイルを出力) |-- /osx/ |-- /win/ /installer/ (dist を元に作成されたインストーラが出力) |-- /osx/ |-- /win/
設定ファイルの編集と作成
pachage.jsonファイルとpackager.jsonファイルにおいて、インストーラを作成するためのコマンドを定義する。
package.jsonファイル { "name": "hello-world", "version": "0.1.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" exit 1", "dev": "electron ./irohanote", "clean": "del .\\dist", "clean:osx": "del .\\dist\\osx", "clean:win": "del .\\dist\\win", "build": "npm run clean npm run build:osx npm run build:win", "build:osx": "npm run clean:osx electron-packager ./app \"hello-world\" --out=dist/osx --platform=darwin --arch=x64 --version=0.25.3 --icon=assets/osx/loopline.icns", "build:win": "npm run clean:win electron-packager ./app \"hello-world\" --out=dist/win --platform=win32 --arch=ia32 --version=0.25.3 --icon=assets/win/icon.ico", "pack": "npm run pack:osx npm run pack:win", "pack:osx": "npm run build:osx electron-builder \"dist/osx/hello-world.app\" --platform=osx --out=\"installer/osx\" --config=packager.json", "pack:win": "npm run build:win electron-builder \"dist/win/hello-world-win32-ia32\" --platform=win --out=\"installer/win\" --config=packager.json" }, "author": "", "license": "BSD", "dependencies": { "grunt": "~0.4.2", "electron-packager": "^4.0.2", "electron-prebuilt": "^0.25.2", "electron-builder": "^2.0.0" } }
packager.jsonファイル { "osx" : { "title": "hello-world", "background": "assets/osx/installer.png", "icon": "assets/osx/mount.icns", "icon-size": 80, "contents": [ { "x": 438, "y": 344, "type": "link", "path": "/Applications" }, { "x": 192, "y": 344, "type": "file" } ] }, "win" : { "title" : "hello-world", "icon" : "assets/win/icon.ico" }, "linux" : { "icon": "build/icons", "target": [ "deb", "rpm" ], "category": "Utility" } }
インストーラの作成
インストーラを作成するため、以下のコマンドを実行する。
npm run pack:win
コマンドが正常に実行されると、/installer/winディレクトリに以下の名称でインストーラが作成される。
hello-world Setup.exe
インストーラの確認
インストーラを実行して、インストーラが正常に起動するか確認する。
注意点
- 作成されるインストーラは英語版である。
- package.jsonファイルにて設定するname("name": "hello-world")とtitle("title" : "hello-world")が一致していない場合、
インストール後、インストーラからソフトウェアが起動しない。
また、ショートカットも自動で作成されない。