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")が一致していない場合、
インストール後、インストーラからソフトウェアが起動しない。
また、ショートカットも自動で作成されない。