В чем разница между установщиком и распакованной папкой win в папке dist электронного конструктора?

#electron #electron-builder

Вопрос:

Я новичок в electron, пытаясь разобраться в основах концепции распределения.

Я создал базовое электронное приложение для Windows с electron-builder помощью .

Сгенерированная dist папка содержит установщик, My App Setup 0.1.0.exe а win-unpacked также папку с My App.exe

Установщик сначала открывает окно установки, устанавливает что — то где-то, а затем запускает мое приложение.

Приложение My App.exe запускает Мое приложение напрямую.

  1. Какова точная цель установщика?
  2. Действительно ли он что-то устанавливает и где?
  3. Какова цель распакованной папки win?
  4. Какой из них предназначен для распространения?
  5. .blockmap Для чего это нужно?

введите описание изображения здесь

Ответ №1:

Хотя вы задаете сразу несколько вопросов, на все из них довольно легко ответить одним строгим ответом. Подводя итог (TL;DR), при создании установщика сначала необходимо скомпилировать приложение и все ресурсы, которые должны содержаться в исполняемом файле установщика, для чего win-unpacked и предназначена папка.


Но, чтобы ответить на ваши вопросы с 1 по 4, я немного подробнее расскажу о деталях:

  1. Установщик предназначен для распространения. Он установит ваше приложение на локальный диск Windows и сделает его доступным через меню «Пуск» (и, возможно, с помощью ярлыка на рабочем столе). Он упаковывает все необходимые файлы (те, которые находятся ниже win-unpacked ) в один файл, что облегчает вашу жизнь при публикации вашего приложения.
  2. ДА. Смотрите выше. Особенности будут отличаться в зависимости от ваших настроек и конфигурации сборки, но на самом деле это так.
  3. Это место, где Electron Builder временно хранит все файлы, которые необходимо будет ввести в исполняемый файл установщика. Я считаю, что это точно то же самое, что вы получите при создании standalone цели. Причина, по которой эта папка не удалена (я думаю, но не могу проверить), заключается в том, чтобы разрешить инкрементные сборки, т. Е. Чтобы Electron Builder не приходилось копировать ваши ресурсы каждый раз, когда вы создаете приложение, когда на самом деле ничего не изменилось (кроме кода).
  4. Вы можете заархивировать win-unpacked папку, но вы потеряете регистрацию установки (ваше приложение при установке будет невозможно установить из настроек Windows), ярлыки в меню «Пуск» и на рабочем столе и т. Д. Я бы предпочел установщика.
  5. Это инструмент, позволяющий убедиться, что файлы внутри установщика не повреждены или не являются неполными, см. Эту проблему на GitHub.

С точки зрения того, какой способ распространения выбрать, это на самом деле зависит от вас. Но если вы считаете, что не можете доверять своим пользователям в том, что они правильно найдут и запустят приложение, когда его нет в меню «Пуск» / на рабочем столе, то, безусловно, лучше всего использовать установщик. И не доверяйте своим пользователям и всегда предполагайте, что никто из них никогда не открывал ваше приложение. Таким образом, довольно легко сделать приложение очень удобным для пользователя.

Комментарии:

1. Вооружившись вашим ответом, я отправился в путешествие по своей файловой системе. Действительно, приложение было установлено UserAppDataLocalProgramsMyApp по умолчанию. Папка очень похожа на win-unpacked папку, за исключением того, что она включает в себя uninstall.exe . Спасибо Вам за объяснение.