#electron #electron-builder
#электрон #electron-builder
Вопрос:
Разработал приложение Electron с использованием Vuejs, и все отлично работает в разработке, но при упаковке я продолжаю получать это всплывающее окно после запуска (ПРИМЕЧАНИЕ: это образец изображения — на моем не написано «windowsdefender», но в остальном оно такое же).
Использование electron-builder для создания приложения со следующей сборкой json, и оно устанавливается на ПК:
{
"productName": "My App",
"appId": "com.mycompany.myapp",
"win": {
"icon": "build/icon.png",
"target": [
"nsis"
]
}
}
Хотя приложение действительно открывается, начального экрана нет. Тем не менее, я могу открыть инструменты разработки, но там не отображается никаких ошибок.
Есть какие-нибудь идеи о том, что является причиной этого или как это устранить?
Комментарии:
1. если вы даете своему файлу расширение .exe, запускается ли он? Я предполагаю, что что-то в сборщике нужно будет настроить для создания exe-файла (при условии, что Windows). Я лично использую electron-packager, и он выдает exe-файл
2. после небольшого поиска это предназначено для того, чтобы выдать установщик, не так ли? Вызывает ли запуск программы установки эту проблему или запуск фактического установленного приложения вызывает эту проблему
3. @pushkin Спасибо за ваш ответ. Сгенерированные файлы включают exe-файл, который отлично устанавливается в Windows. Всплывающее окно появляется при запуске приложения.
Ответ №1:
После многих попыток я наконец понял это (или, по крайней мере, я думаю, что знаю, что вызвало проблему).
Основная проблема заключалась в том, что при использовании vue router (из приложения, перенесенного из Интернета) важно, чтобы вы использовали режим «хеширования», а не «истории». Добавьте это в свой файл маршрутизатора:
const router = new VueRouter({
mode: process.env.IS_ELECTRON ? "hash" : "history",
routes
});
Смотрите эту ссылку для получения более подробной информации (общие проблемы): Общие проблемы плагина Vue CLI
Во-вторых, я думаю, что есть проблема с правами (т. Е. С повышенными правами на установку), поэтому я добавил эту строку вместе с идентификатором guid в свой файл electron-builder.json. В результате получился файл сборки, подобный этому:
{
"productName": "My App",
"appId": "com.abcco.my-app",
"win": {
"icon": "build/icon.png",
"target": "nsis",
"requestedExecutionLevel": "requireAdministrator"
},
"nsis": {
"guid": "6ee647a9-d5c6-46a9-a480-aa7d6d3d1c10",
"oneClick": false,
"allowToChangeInstallationDirectory": true
}
}
Поскольку я разрабатываю только для Windows, я смог использовать материал с этой страницы (реагирует, но не сильно отличается в отношении электронной упаковки):
Справка по файлу сборки Electron
Последнее, что я сделал, это удалил все файлы ‘dist’ и полностью удалил приложение (предыдущие версии). Я думаю, что это прояснило большую часть «багажа», оставшегося после тестирования.
Надеюсь, это поможет другим, кто может столкнуться с той же проблемой.