我设法使用电子构建器为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文件夹中,安装程序如下所示。
有没有办法让一个真正的.msi安装程序使用电子生成器将内容放在Program文件夹中。唯一有效的项目是https://github.com/theodo/electron-boilerplate,但它使用的是电子制造商的旧版本。
在电子文档中将noMsi
设置为false,应该这样做......
Should Squirrel.Windows create an MSI installer?
答案 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