Electron создает установщик MSI с помощью электронно-строительной системы
Мне удалось создать установщик .exe для Windows с помощью Electron Builder, я создаю 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, использующий электронный сборщик, который помещает содержимое в папку с программным файлом. Единственный работающий проект - это https://github.com/theodo/electron-boilerplate, но в нем используется прежняя версия устройства для сборки электронов.
В электронном документе, устанавливающем noMsi
в значение false, нужно добиться noMsi
...
Should Squirrel.Windows create an MSI installer?
Ответы
Ответ 1
На самом деле вам не нужен установленный MSI для установки приложения в Program Files
.
Если вы отключите один щелчок в конфигурации nsis (oneClick
), пользователю будет предложено выполнить однопользовательскую установку (в AppData
) или на компьютер (в Program Files
).
Если вы не хотите предоставлять им выбор, вы можете установить для perMachine
значение false, что разрешит установку только в Program Files:
"nsis": {
"oneClick": false,
"perMachine": false
},
Я бы лично оставил им возможность, так как они все еще могут быть установлены без прав администратора!
В последней версии electron-builder
также есть опция allowToChangeInstallationDirectory
которая позволяет пользователю выбрать любое место установки.
Ответ 2
как указано в вики последней версии электронного строителя, вы должны использовать опцию 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"
}
}
Ответ 3
Я не получил этого, чтобы работать (пока), но я понимаю, что это наоборот (ужасное название).
"noMsi": false // will make an MSI
"noMsi": true // will NOT make an MSI
Ответ 4
Если вам нужен только установщик в формате exe (я не знаю о msi), вы можете использовать electronic-builder для сборки exe файла, распакованного в каталог. Ознакомьтесь с документацией по адресу http://npmjs.org/package/electron-builder. Документация довольно проста. После того, как вы получите распакованную папку с вашим exe файлом, используйте "Inno Setup Compiler", чтобы создать профессионально выглядящий установщик. Как только вы это освоите, на это уйдет всего 5 минут.
Ответ 5
Я понял это, посмотрев на цель. сделать это
"win": {
"target": [
"msi"
]
//your code here
},