Зачем конвертировать WAPPROJ в MSIX?
Проект Windows Application Packaging Project существует именно для вывода пакета .msix для настольного или UWP приложения. Разработчики используют его, когда хотят распространять приложение Win32/WPF/WinUI через современные установщики MSIX или Microsoft Store, а .wapproj объединяет манифест, ресурсы и зависимости в этот пакет.
Способы конвертации WAPPROJ в MSIX
Мастер упаковки Visual Studio 2022 EASIEST
Щелкните правой кнопкой мыши по проекту упаковки и выберите Publish > Create App Packages, затем следуйте инструкциям мастера, чтобы подписать и выпустить .msix/.msixbundle. Это стандартный путь, документированный Microsoft.
Командная строка MSBuild FREE
Запустите msbuild MyApp.wapproj /p:UapAppxPackageBuildMode=SideloadOnly /p:AppxBundle=Never /p:AppxPackageDir=out\ для сборки .msix без IDE. Добавьте /p:AppxPackageSigningEnabled=true с сертификатом для подписи.
MSIX Packaging Tool (захват установщика) FREE
Если у вас нет исходного проекта, MSIX Packaging Tool от Microsoft может конвертировать существующий установщик .exe/.msi в .msix, захватив процесс его установки. Это полностью обходит использование .wapproj.
Об этих форматах
Файл .wapproj - это проект упаковки приложений Windows (Windows Application Packaging Project), используемый в Visual Studio для упаковки настольных приложений (Windows Forms, WPF или…
Открыть детали .WAPPROJ →Файл .MSIX - это файл данных, используемый специальным программным обеспечением.
Открыть детали .MSIX →Качество и на что обратить внимание
- Выходной файл должен быть подписан доверенным сертификатом, прежде чем Windows позволит установить его вне Store.
- MSIX запускает приложение в легком контейнере, поэтому такие функции, как драйверы, службы ядра или произвольная запись в реестр, могут быть заблокированы или виртуализированы.
- Пакеты для отправки в Store собираются с
AppxBundle=Always; сборки для прямой установки обычно используютNever- выбирайте режим, соответствующий вашему способу распространения.
Часто задаваемые вопросы
В чем разница между .msix и .msixbundle?
.msix ориентирован на одну архитектуру; .msixbundle объединяет пакеты для нескольких архитектур вместе для Store.Нужна ли Visual Studio для сборки?
.wapproj в автоматическом режиме в CI.