18

electron builder を使用して Windows 用の .exe インストーラーを作成できました。ドキュメントで指摘されているように、2 つの package.json を作成します。

https://github.com/electron-userland/electron-builder .

最終的に、.exeが機能するフォルダーができました ここに画像の説明を入力

"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 Builder を使用して実際の .msi インストーラーを作成し、コンテンツを Program ファイル フォルダーに配置する方法はありますか。機能した唯一のプロジェクトはこれhttps://github.com/theodo/electron-boilerplateですが、以前のバージョンの electron-builder を使用しています。

電子ドキュメントnoMsiで false に設定すると、うまくいくはずです...

Should Squirrel.Windows create an MSI installer?
4

6 に答える 6

5

アプリを にインストールするために MSI をインストールする必要はありませんProgram Files

nsis config でワンクリックを無効にすると ( oneClick)、シングル ユーザー インストールを実行するか ( をAppData参照)、マシンごとにインストールを実行するか ( を参照) を求めるプロンプトが表示されProgram Filesます。

選択肢を与えたくない場合は、perMachineプログラム ファイルへのインストールのみを許可する false に設定できます。

"nsis": {
  "oneClick": false,
  "perMachine": false
},

管理者権限がなくてもインストールできるので、個人的にはオプションのままにしておきます。

の最新バージョンには、ユーザーが任意のインストール場所を選択できるオプションelectron-builderもあります。allowToChangeInstallationDirectory

于 2017-01-10T12:41:32.890 に答える
4

最新のエレクトロン ビルダー リリースの wiki に記載されているように、次のmsiオプションを使用する必要がありbuild.winます。

"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"
    }
  }
于 2016-06-30T22:24:46.100 に答える
2

私はこれも(まだ)動作させていませんが、私の理解では、それは反対です(ひどい命名)。

"noMsi": false // will make an MSI
"noMsi": true // will NOT make an MSI
于 2016-04-19T14:42:54.383 に答える
2

ターゲットを見て分かった。これを行う

"win": {
  "target": [
   "msi"
   ]
//your code here
},
于 2019-09-19T02:06:48.687 に答える