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

时间:2016-04-04 09:30:38

标签: electron electron-builder

我设法使用电子构建器为windows创建了一个.exe安装程序,我创建了2个package.json,如文档所述:

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

我最终找到了一个有效的.exe文件夹 enter image description here

"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安装程序将内容放在程序文件目录中。

enter image description here

相反,我最终安装在C:\ Users \ UserHome \ AppData \ Local \ electron文件夹中,安装程序如下所示。

enter image description here

有没有办法让一个真正的.msi安装程序使用电子生成器将内容放在Program文件夹中。唯一有效的项目是https://github.com/theodo/electron-boilerplate,但它使用的是电子制造商的旧版本。

在电子文档中将noMsi设置为false,应该这样做......

Should Squirrel.Windows create an MSI installer?

6 个答案:

答案 0 :(得分:4)

wiki of latest electron builder release中所述,您必须使用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" } } 选项:

{{1}}

答案 1 :(得分:3)

您实际上并不需要安装MSI才能将您的应用安装到Program Files

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

如果您不想让他们做出选择,您可以将perMachine设置为false,这样只会允许安装到程序文件中:

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

我个人会给他们留下选项,因为他们仍可以在没有管理员权限的情况下安装!

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

答案 2 :(得分:2)

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

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

答案 3 :(得分:1)

如果您只想要一个exe格式的安装程序(我不了解msi),您可以使用电子构建器来构建解压缩到目录的exe。查看http://npmjs.org/package/electron-builder处的文档。文档很简单。使用exe获取解压缩的文件夹后,使用" Inno Setup Compiler"创建一个专业的安装程序。一旦掌握了它,只需要5分钟就能完成整个过程。

答案 4 :(得分:1)

我通过看目标弄清楚了。做这个

"win": {
  "target": [
   "msi"
   ]
//your code here
},

答案 5 :(得分:0)

您可以使用“ electron-wix-msi”此程序包来执行此任务。 https://www.npmjs.com/package/electron-wix-msi 但是首先您需要使用Electron-packager或Electron-Builder打包项目的资源,然后将win-unpacked文件夹的路径指定为APP-DIR