#electron #electron-builder
Вопрос:
Я новичок в electron, пытаясь разобраться в основах концепции распределения.
Я создал базовое электронное приложение для Windows с electron-builder
помощью .
Сгенерированная dist
папка содержит установщик, My App Setup 0.1.0.exe
а win-unpacked
также папку с My App.exe
Установщик сначала открывает окно установки, устанавливает что — то где-то, а затем запускает мое приложение.
Приложение My App.exe
запускает Мое приложение напрямую.
- Какова точная цель установщика?
- Действительно ли он что-то устанавливает и где?
- Какова цель распакованной папки win?
- Какой из них предназначен для распространения?
.blockmap
Для чего это нужно?
Ответ №1:
Хотя вы задаете сразу несколько вопросов, на все из них довольно легко ответить одним строгим ответом. Подводя итог (TL;DR), при создании установщика сначала необходимо скомпилировать приложение и все ресурсы, которые должны содержаться в исполняемом файле установщика, для чего win-unpacked
и предназначена папка.
Но, чтобы ответить на ваши вопросы с 1 по 4, я немного подробнее расскажу о деталях:
- Установщик предназначен для распространения. Он установит ваше приложение на локальный диск Windows и сделает его доступным через меню «Пуск» (и, возможно, с помощью ярлыка на рабочем столе). Он упаковывает все необходимые файлы (те, которые находятся ниже
win-unpacked
) в один файл, что облегчает вашу жизнь при публикации вашего приложения. - ДА. Смотрите выше. Особенности будут отличаться в зависимости от ваших настроек и конфигурации сборки, но на самом деле это так.
- Это место, где Electron Builder временно хранит все файлы, которые необходимо будет ввести в исполняемый файл установщика. Я считаю, что это точно то же самое, что вы получите при создании
standalone
цели. Причина, по которой эта папка не удалена (я думаю, но не могу проверить), заключается в том, чтобы разрешить инкрементные сборки, т. Е. Чтобы Electron Builder не приходилось копировать ваши ресурсы каждый раз, когда вы создаете приложение, когда на самом деле ничего не изменилось (кроме кода). - Вы можете заархивировать
win-unpacked
папку, но вы потеряете регистрацию установки (ваше приложение при установке будет невозможно установить из настроек Windows), ярлыки в меню «Пуск» и на рабочем столе и т. Д. Я бы предпочел установщика. - Это инструмент, позволяющий убедиться, что файлы внутри установщика не повреждены или не являются неполными, см. Эту проблему на GitHub.
С точки зрения того, какой способ распространения выбрать, это на самом деле зависит от вас. Но если вы считаете, что не можете доверять своим пользователям в том, что они правильно найдут и запустят приложение, когда его нет в меню «Пуск» / на рабочем столе, то, безусловно, лучше всего использовать установщик. И не доверяйте своим пользователям и всегда предполагайте, что никто из них никогда не открывал ваше приложение. Таким образом, довольно легко сделать приложение очень удобным для пользователя.
Комментарии:
1. Вооружившись вашим ответом, я отправился в путешествие по своей файловой системе. Действительно, приложение было установлено
UserAppDataLocalProgramsMyApp
по умолчанию. Папка очень похожа наwin-unpacked
папку, за исключением того, что она включает в себяuninstall.exe
. Спасибо Вам за объяснение.