Electron使用电子创建MSI安装程序

我设法为使用电子构建器的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文件夹中安装了一个安装程序,如下所示。

在这里输入图像描述

有没有办法让一个真正的.msi安装程序使用电子生成器将内容放入Program文件夹中。 唯一一个可以工作的项目是https://github.com/theodo/electron-boilerplate,但它使用了以前版本的电子构建器。

在电子文档设置noMsi为false,应该做的伎俩......

Should Squirrel.Windows create an MSI installer?

我还没有得到这个工作(但),但我的理解是,这是相反的(可怕的命名)。

"noMsi": false // will make an MSI
"noMsi": true // will NOT make an MSI

正如最新的电子制造商版本的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"
    }
  }

如果您在nsis配置( oneClick )中禁用一次单击,则会提示用户是执行单用户安装(在AppData )还是在每台计算机上(在Program Files )。

如果你不想给他们选择,你可以设置perMachine为false,这将只允许安装到程序文件中:

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

我会亲自离开他们的选择,因为他们仍然可以安装没有管理员权限!

在最新版本的electron-builder ,还有一个allowToChangeInstallationDirectory选项,允许用户选择任何安装位置。

链接地址: http://www.djcxy.com/p/33265.html

上一篇: Electron create MSI installer using electron

下一篇: Play Framework PathBindable with Dependency Injection