Aal*_*eks 15 electron electron-builder
我设法使用电子构建器为Windows创建了一个.exe安装程序,我创建了2个package.json,如文档中所指出:
https://github.com/electron-userland/electron-builder.
"dist:win64": "./node_modules/.bin/build --platform win32 --arch x64"
Run Code Online (Sandbox Code Playgroud)
我的主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"
}
}
Run Code Online (Sandbox Code Playgroud)
一切正常,我有.exe安装程序,但无法使用.msi安装程序将内容放在程序文件目录中.
相反,我最终安装在C:\ Users\UserHome\AppData\Local\electron文件夹中,安装程序如下所示.
有没有办法让一个真正的.msi安装程序使用电子生成器将内容放在Program文件夹中.唯一有效的项目是https://github.com/theodo/electron-boilerplate,但它使用的是电子生成器的旧版本.
在电子文档设置noMsi为假,应该做的伎俩......
Should Squirrel.Windows create an MSI installer?
Run Code Online (Sandbox Code Playgroud)
您实际上不需要安装MSI即可将您的应用安装到Program Files。
如果禁用nsis config(oneClick)中的一键单击,则将提示用户执行单用户安装(in AppData)还是按每台计算机(in Program Files)。
如果不想让他们选择,可以将perMachine其设置为false,这将仅允许安装到Program Files中:
"nsis": {
"oneClick": false,
"perMachine": false
},
Run Code Online (Sandbox Code Playgroud)
我个人会留下选择权,因为他们仍然可以在没有管理员权限的情况下安装!
在最新版本中,electron-builder还有一个allowToChangeInstallationDirectory选项允许用户选择任何安装位置。
小智 2
我还没有让它发挥作用,但我的理解是它是相反的(可怕的命名)。
"noMsi": false // will make an MSI
"noMsi": true // will NOT make an MSI
Run Code Online (Sandbox Code Playgroud)