Electronビルダーを使用してWindows用の.exeインストーラーを作成できました。ドキュメントで指摘されているように、2つのpackage.jsonを作成します。
https://github.com/electron-userland/electron-builder 。
"dist:win64": "./node_modules/.bin/build --platform win32 --Arch x64"
私のメインのpackage.jsonのビルドセクションは
"build": {
"app-bundle-id": "org.test.mytest",
"app-category-type": "public.app-category.graphics-design",
"osx": {
"contents": [
{
"x": 410,
"y": 150,
"type": "link",
"path": "/Applications"
},
{
"x": 130,
"y": 150,
"type": "file"
}
]
},
"win": {
"title": "My awesome app",
"version": "2.28.999.1",
"noMsi": false,
"authors": "Author"
}
}
すべて正常に動作します。私は.exeインストーラーを持っていますが、プログラムファイルディレクトリにコンテンツを配置する.msiインストーラーを用意する方法はありません。
代わりに、C:\ Users\UserHome\AppData\Local\electronフォルダーにインストールし、以下のようなインストーラーを作成しました。
プログラムファイルフォルダーにコンテンツを配置するelectronビルダーを使用して、実際の.msiインストーラーを作成する方法はありますか?機能した唯一のプロジェクトは、このプロジェクト https://github.com/theodo/electron-boilerplate ですが、以前のバージョンのelectron-builderを使用しています。
Electron文書でnoMsi
をfalseに設定すると、トリックを実行する必要があります...
Should Squirrel.Windows create an MSI installer?
アプリをProgram Files
にインストールするためにMSIをインストールする必要はありません。
Nsis構成(oneClick
)でワンクリックを無効にすると、ユーザーはシングルユーザーインストール(AppData
)またはマシンごと(Program Files
)のどちらでインストールするかを尋ねられます。
それらを選択したくない場合は、perMachine
をfalseに設定して、Program Filesへのインストールのみを許可できます。
"nsis": {
"oneClick": false,
"perMachine": false
},
管理者権限がなくてもインストールできるので、個人的にはオプションのままにしておきます!
electron-builder
の最新バージョンには、ユーザーが任意のインストール場所を選択できるallowToChangeInstallationDirectory
オプションもあります。
最新のelectronビルダーリリースのwiki に記載されているように、build.win
内でmsi
オプションを使用する必要があります。
"build": {
"app-bundle-id": "org.test.mytest",
"app-category-type": "public.app-category.graphics-design",
...
,
"win": {
"title": "My awesome app",
"version": "2.28.999.1",
"msi": true,
"authors": "Author"
}
}
私はこれを(まだ)動作させることはできていませんが、私の理解では反対(ひどいネーミング)です。
"noMsi": false // will make an MSI
"noMsi": true // will NOT make an MSI
必要なのがexe形式のインストーラー(私はmsiについては知りません)であれば、electron-builderを使用して、ディレクトリに解凍されたexeをビルドできます。 http://npmjs.org/package/electron-builder にあるドキュメントを確認してください。ドキュメントは非常に単純です。 exeで解凍したフォルダーを取得したら、「Inno Setup Compiler」を使用して、プロフェッショナルなインストーラーを作成します。慣れてきたら、5分ほどですべてが完了します。
ターゲットを見ることで分かりました。これを行う
"win": {
"target": [
"msi"
]
//your code here
},