Spec-Zone.ru › Electron

Руководство по магазину приложений Windows

С Windows 10 устаревшее исполняемое приложение win32 получило нового брата — Универсальную платформу Windows. Новый формат .appx не только открывает доступ к множеству новых мощных API, таким как Cortana или Push-уведомления, но и упрощает установку и обновление через Магазин приложений Windows.

Microsoft разработала инструмент, который компилирует приложения Electron в пакеты .appx, позволяя разработчикам использовать некоторые преимущества новой модели приложений. Это руководство объясняет, как его использовать — и каковы возможности и ограничения пакета Electron AppX.

Общие сведения и требования​

Windows 10 "Anniversary Update" способна запускать исполняемые файлы win32 .exe вместе с виртуализированной файловой системой и реестром. Оба создаются во время компиляции путём запуска приложения и установщика внутри контейнера Windows, что позволяет Windows точно определить, какие изменения в операционной системе производятся во время установки. Сопоставление исполняемого файла с виртуальной файловой системой и виртуальным реестром позволяет Windows активировать установку и удаление одним щелчком мыши.

Кроме того, exe запускается в модели appx, что означает, что он может использовать многие API, доступные для Универсальной платформы Windows. Чтобы получить ещё больше возможностей, приложение Electron может взаимодействовать с невидимой задачей UWP в фоновом режиме, запущенной вместе с exe — своего рода помощником для выполнения задач в фоновом режиме, получения push-уведомлений или взаимодействия с другими приложениями UWP.

Чтобы скомпилировать любое существующее приложение Electron, убедитесь, что у вас есть следующие требования:

  • Windows 10 с обновлением Anniversary (выпущено 2 августа 2016 г.)
  • SDK Windows 10, скачать здесь
  • Хотя бы Node 4 (чтобы проверить, выполните node -v)

Затем установите CLI electron-windows-store.

npm install -g electron-windows-store

Шаг 1: Упаковка приложения Electron​

Упакуйте приложение с помощью electron-packager (или аналогичного инструмента). Убедитесь, что удалены node_modules компоненты, которые вам не нужны в конечном приложении, так как любые модули, которые вам не нужны, увеличивают размер вашего приложения.

Выходные данные должны примерно выглядеть так:

├── Ghost.exe
├── LICENSE
├── content_resources_200_percent.pak
├── content_shell.pak
├── d3dcompiler_47.dll
├── ffmpeg.dll
├── icudtl.dat
├── libEGL.dll
├── libGLESv2.dll
├── locales
│   ├── am.pak
│   ├── ar.pak
│   ├── [...]
├── node.dll
├── resources
│   └── app.asar
├── v8_context_snapshot.bin
├── squirrel.exe
└── ui_resources_200_percent.pak

Шаг 2: Запуск electron-windows-store​

Из повышенной PowerShell (запустите её «от имени администратора»), запустите electron-windows-store с необходимыми параметрами, передав как входные, так и выходные каталоги, имя и версию приложения, а также подтверждение о том, что node_modules нужно сплющить.

electron-windows-store `
    --input-directory C:\myelectronapp `
    --output-directory C:\output\myelectronapp `
    --package-version 1.0.0.0 `
    --package-name myelectronapp

После выполнения инструмент приступит к работе: он примет ваше приложение Electron в качестве входных данных, сплющит node_modules. Затем он архивирует ваше приложение как app.zip. Используя установщик и контейнер Windows, инструмент создаёт «расширенный» пакет AppX — включая манифест приложения Windows (AppXManifest.xml) а также виртуальную файловую систему и виртуальный реестр внутри папки вывода.

После создания расширенных файлов AppX инструмент использует упаковыватель приложений Windows (MakeAppx.exe) для создания однофайлового пакета AppX из этих файлов на диске. Наконец, инструмент может использоваться для создания надёжного сертификата на вашем компьютере для подписи нового пакета AppX. С помощью подписанного пакета AppX CLI может также автоматически установить пакет на вашем компьютере.

Шаг 3: Использование пакета AppX​

Для запуска вашего пакета пользователям понадобится Windows 10 с так называемым «обновлением Anniversary» — подробности о том, как обновить Windows, можно найти здесь.

В отличие от традиционных приложений UWP, упакованным приложениям в настоящее время требуется ручная проверка, для которой вы можете обратиться сюда. Тем временем все пользователи смогут установить ваш пакет, дважды щелкнув его, поэтому отправка в магазин может быть не нужна, если вы ищете более простой способ установки. В управляемых средах (как правило, предприятиях) Add-AppxPackage PowerShell Cmdlet может использоваться для автоматической установки.

Ещё одним важным ограничением является то, что скомпилированный пакет AppX всё ещё содержит исполняемый файл win32 — и поэтому не будет работать на Xbox, HoloLens или телефонах.

Необязательно: добавление функций UWP с помощью задачи в фоновом режиме​

Вы можете связать ваше приложение Electron с невидимой задачей UWP в фоновом режиме, которая сможет в полной мере использовать возможности Windows 10 — такие как push-уведомления, интеграция с Cortana или динамические плитки.

Чтобы ознакомиться с примером приложения Electron, использующего задачу в фоновом режиме для отправки уведомлений и динамических плиток, посмотрите пример, предоставленный Microsoft.

Необязательно: преобразование с помощью виртуализации контейнеров​

Для создания пакета AppX CLI electron-windows-store использует шаблон, который должен работать для большинства приложений Electron. Однако, если вы используете пользовательский установщик или у вас возникли проблемы с сгенерированным пакетом, вы можете попробовать создать пакет с помощью компиляции с помощью контейнера Windows — в этом режиме CLI установит и запустит ваше приложение в пустом контейнере Windows, чтобы определить точные изменения, которые ваше приложение вносит в операционную систему.

Перед первым запуском CLI вам придётся настроить «Конвертер приложений для настольных систем Windows». Это займёт несколько минут, но не волнуйтесь — делать это нужно только один раз. Скачайте и Конвертер приложений для настольных систем Windows с этой страницы. Вы получите два файла: DesktopAppConverter.zip и BaseImage-14316.wim.

  1. Разархивируйте DesktopAppConverter.zip. Из повышенной PowerShell (открытой с параметром «запуск от имени администратора»), убедитесь, что политика выполнения вашей системы позволяет нам запускать всё, что мы намереваемся запустить, вызвав Set-ExecutionPolicy bypass.
  2. Затем запустите установку Конвертера приложений для настольных систем Windows, передав местоположение образа базовой системы Windows (скачанного как BaseImage-14316.wim), вызвав .\DesktopAppConverter.ps1 -Setup -BaseImage .\BaseImage-14316.wim.
  3. Если при выполнении вышеприведенной команды вам потребуется перезагрузка, перезапустите компьютер и выполните вышеуказанную команду после успешной перезагрузки.

После успешной установки вы можете перейти к компиляции вашего приложения Electron.

© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/latest/tutorial/windows-store-guide

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API