Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В этом руководстве показано, как создать пакет MSIX для распространения приложения Electron с помощью API Windows.
Необходимые условия
Перед упаковкой убедитесь, что вы:
- Завершена настройка среды разработки
- [НЕОБЯЗАТЕЛЬНО] Создана и протестирована ваша надстройка (например, надстройка Phi Silica или надстройка WinML)
- Проверено, что приложение работает правильно с помощью
npm start
Подготовка к упаковке
Настройте Electron Forge, чтобы исключить временные файлы из окончательной сборки.
ignore Добавьте массив вpackagerConfig:forge.config.js
module.exports = {
packagerConfig: {
asar: true,
ignore: [
/^\/\.winapp($|\/)/, // SDK packages and headers
/^\/winapp\.yaml$/, // SDK config
/\.pfx$/, // Certificate files
/\.pdb$/, // Debug symbols
/\/obj($|\/)/, // C# build artifacts
/\/bin($|\/)/, // C# build artifacts
/\.msix$/ // MSIX packages
]
},
// ... rest of your config
};
Это важно
Убедитесь, что Package.appxmanifest соответствует структуре упаковаемого приложения:
- Атрибут
Executableдолжен указывать на правильный .exe файл в упакованных выходных данных.
Создание сертификата разработки
Перед созданием подписанного пакета MSIX создайте сертификат разработки:
npx winapp cert generate
При этом создается файл в корневом каталоге devcert.pfx проекта, который будет использоваться для подписи пакета MSIX.
Параметры упаковки
У вас есть два варианта создания пакета MSIX для приложения Electron:
- Вариант 1. Использование winapp CLI напрямую — более настраиваемая, работает с любым упаковщиком
- Вариант 2. Использование Electron Forge MSIX Maker — более интегрированный в рабочий процесс Forge
Выберите вариант, подходящий для рабочего процесса.
Вариант 1. Использование winapp CLI напрямую (рекомендуется для гибкости)
Этот подход обеспечивает больший контроль над процессом упаковки и работает с любым упаковщиком Electron.
Создайте ваше приложение Electron
Чтобы упаковать приложение Electron с помощью MSIX, сначала необходимо создать рабочий макет. С помощью Electron Forge мы можем использовать команду пакета:
# Package with Electron Forge (or your preferred packager)
npx electron-forge package
Будет создана рабочая версия приложения в папке ./out/ . Точное имя папки будет зависеть от имени и архитектуры приложения (например, my-windows-app-win32-x64).
Создание пакета MSIX
Теперь используйте winapp CLI для создания и подписывания пакета MSIX из упаковаемого приложения:
npx winapp pack .\out\<your-app-folder> --output .\out --cert .\devcert.pfx --manifest .\Package.appxmanifest
Замените <your-app-folder> фактическим именем папки, созданной Electron Forge (например, my-windows-app-win32-x64 для x64 или my-windows-app-win32-arm64 ARM64).
Этот --manifest параметр является необязательным. Если он не указан, он будет искать Package.appxmanifest в папке, упаковаемой или в текущем каталоге.
Этот --cert параметр также является необязательным. Если этот параметр не указан, msix не будет подписан.
Этот --output параметр также является необязательным. Если он не указан, будет использоваться текущий каталог.
Пакет MSIX будет создан как ./out/<your-app-name>.msix.
Подсказка
Эти команды можно добавить в package.json скрипты для удобства:
{
"scripts": {
"package-msix": "npm run build-csAddon && npx electron-forge package && npx winapp pack ./out/my-windows-app-win32-x64 --output ./out --cert ./devcert.pfx --manifest Package.appxmanifest"
}
}
Убедитесь, что обновили путь в соответствии с правильным именем выходной папки.
Вариант 2. Использование Electron Forge MSIX Maker (для пользователей forge)
Если вы уже используете Electron Forge, вы можете интегрировать упаковку MSIX непосредственно в рабочий процесс Forge с помощью @electron-forge/maker-msix создателя.
Установка MSIX Maker
npm install --save-dev @electron-forge/maker-msix
Настройте forge.config.js
Добавьте MSIX Maker в ваше приложение:forge.config.js
module.exports = {
// ... other config
makers: [
{
name: '@electron-forge/maker-msix',
config: {
appManifest: '.\\Package.appxmanifest',
windowsSignOptions: {
certificateFile: '.\\devcert.pfx',
certificatePassword: 'password'
}
}
}
],
// ... rest of your config
};
Обновите Package.appxmanifest
Программа для создания пакетов Electron Forge MSIX использует структуру папок, отличную от подхода winapp CLI. Оно помещает приложение в папку app\ MSIX. Эта папка создается автоматически во время упаковки — ее не нужно создавать самостоятельно. Обновите путь Executable в вашем Package.appxmanifest так, чтобы он указывал на папку app.
<Applications>
<Application Id="myApp"
Executable="app\my-app.exe"
EntryPoint="Windows.FullTrustApplication">
<!-- ... rest of your application config -->
</Application>
</Applications>
Замените my-app.exe фактическим именем исполняемого файла. Это основано на поле productName (или name) в вашем package.json.
Замечание
Создатель Forge MSIX ищет инструменты Windows SDK на основе MinVersion в Package.appxmanifest. Если вы видите сообщение об ошибке, связанное с отсутствием WindowsKit, убедитесь, что на вашем компьютере установлена версия SDK, указанная в MinVersion, или обновите MinVersion, чтобы она соответствовала установленной версии SDK.
Создание пакета MSIX
Теперь можно создать пакет MSIX.
--targets Используйте флаг для запуска только разработчика MSIX (в противном случае Forge будет запускать все настроенные производители):
npx electron-forge make --targets @electron-forge/maker-msix
Пакет MSIX будет создан в папке ./out/make/msix/<arch>/ (например, ./out/make/msix/arm64/ или ./out/make/msix/x64/).
Подсказка
Этот подход более интегрирован с рабочим процессом Electron Forge и автоматически обрабатывает упаковку и создание MSIX на одном шаге.
Установка и проверка MSIX
Сначала установите сертификат разработки (однократная настройка):
# Run as Administrator:
npx winapp cert install .\devcert.pfx
Теперь установите пакет MSIX. Дважды щелкните msix-файл или выполните следующую команду:
# Option 1 output:
Add-AppxPackage .\out\<your-app-name>.msix
# Option 2 output:
Add-AppxPackage .\out\make\msix\<arch>\<your-app-name>.msix
Замените <your-app-name> и <arch> фактическими значениями из выходных данных сборки.
Ваше приложение появится в меню "Пуск" Запустите его и протестируйте функции API Windows.
Параметры распространения
После того как у вас есть рабочий пакет MSIX, у вас есть несколько вариантов распространения приложения:
Прямая загрузка
Разместите пакет MSIX на веб-сайте для прямого скачивания. Убедитесь, что вы подписываете его с помощью сертификата подписи кода из доверенного центра сертификации (ЦС), чтобы пользователи могли установить его без предупреждений системы безопасности.
Microsoft Store
Отправьте приложение в Microsoft Store для наиболее широкого распространения и автоматического обновления. Вам понадобится:
- Создание учетной записи Microsoft Partner Center
- Зарезервируйте имя приложения
- Обновите
Package.appxmanifestидентификатор магазина. Нет необходимости подписывать пакет msix, процесс публикации в магазине автоматически его подпишет. - Отправьте на сертификацию
Дополнительные сведения: Опубликуйте ваше приложение в Microsoft Store
Корпоративное распределение
Распространяйте напрямую клиентам предприятия через:
- Корпоративный портал — для организаций, использующих Intune
- Прямая загрузка — размещение MSIX на веб-сайте
- Сайдлоадинг — установка с помощью PowerShell или установщика приложений
Дополнительные сведения: распространение приложений за пределами Магазина
Установщик приложений
.appinstaller Создайте файл для автоматического обновления:
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
Uri="https://your-domain.com/packages/myapp.appinstaller"
Version="1.0.0.0"
xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2">
<MainPackage
Name="YourAppName"
Version="1.0.0.0"
Publisher="CN=YourPublisher"
Uri="https://your-domain.com/packages/myapp.msix"
ProcessorArchitecture="x64" />
<UpdateSettings>
<OnLaunch HoursBetweenUpdateChecks="24" />
</UpdateSettings>
</AppInstaller>
Дополнительные сведения: общие сведения о файле установщика приложений
Дальнейшие шаги
Поздравляю! Вы успешно собрали приложение Electron для Windows для распространения! 🎉
Дополнительные ресурсы
- Документация по интерфейсу командной строки winapp — полный справочник по CLI
- Пример приложения Electron — полный рабочий пример
- Документация по упаковке MSIX . Дополнительные сведения о MSIX
- Набор для сертификации приложений Windows — протестируйте ваше приложение перед отправкой в Магазин
Вернуться к обзору
- Общие сведения о начале работы - Вернуться к главному руководству
- Настройка среды разработки — проверка действий по настройке
- Создание надстройки Phi Silica — обзор создания надстройки
- Создание надстройки WinML — сведения об интеграции WinML
Получение справки
- Обнаружена ошибка?Файл проблемы
Удачного распространения! 🚀
Windows developer