Как преобразовать приложение для рабочего стола Windows в универсальное приложение для Windows

Благодаря выпуску Anniversary Update в Windows 10 Microsoft предоставляет разработчикам возможность конвертировать традиционные настольные приложения Windows в приложения универсальной платформы Windows (UWP). Но любой может сделать это с любым приложением — не только разработчики.

С конвертером Windows 10 просто дайте ему файл .msi или .exe, и он выдаст пакет .appx. Затем вы можете загрузить это приложение на свой ПК или — если вы разработчик приложения — вы можете отправить получившееся приложение UWP в Магазин Windows. Эта функция появится у всех с годовым обновлением для Windows 10, в результате чего многие «старые» приложения появятся в Магазине Windows.

Почему вы хотите это сделать

Эта функция является конечным результатом Microsoft Project Centennial, которая предназначена для переноса этих «устаревших» приложений Windows32 и Windows для настольных ПК в Windows Store и новую универсальную платформу Windows.

Вы можете удивиться, почему кто-то захочет преобразовать настольное приложение в новое приложение UWP. Во-первых, в Магазине Windows разрешены только приложения UWP. Это позволяет разработчикам намного больше следить за своими приложениями, не говоря уже об установке одним щелчком, простой покупке и автоматических обновлениях.

Новая платформа Microsoft для приложений UWP находится в «песочнице», а конвертируемые вами приложения для настольных компьютеров — нет. Эти приложения будут иметь полный доступ к вашей системе, как и обычные настольные приложения. Как говорится в документации Microsoft: «Как приложение UWP, ваше приложение может делать то же самое, что и классическое настольное приложение. Он взаимодействует с виртуализированным представлением реестра и файловой системы, неотличимым от реального реестра и файловой системы ».

Ограничения

Здесь есть несколько важных ограничений. Во-первых, вы можете сделать это только в Windows 10 Anniversary Update. На данный момент он будет работать с Windows 10 Insider Preview build 14316 и выше, поэтому вам нужно присоединиться к программе Windows Insider и использовать сборку Insider Preview для Windows 10.

Для этой функции также требуются версии Windows 10 Professional или Enterprise. Пользователи Windows 10 Home не смогут использовать Desktop App Converter. Начиная со сборки 14316, она работала только на Windows 10 Enterprise, но поддержка Windows 10 Professional появится. В настоящее время этот инструмент можно использовать только в 64-разрядных версиях Windows, а полученный пакет AppX можно установить только в 64-разрядных версиях Windows. Это изменится в будущих сборках Insider для Windows 10.

Полученные приложения предназначены для ПК с Windows 10. Они не будут работать на смартфонах Windows 10 Mobile, Xbox One, HoloLens, Surface Hub и других платформах Windows 10, на которых работают приложения UWP. Однако, если вы разработчик, Microsoft предлагает путь для превращения вашего настольного приложения в кроссплатформенное приложение UWP: «Если вы решите переместить все функциональные возможности вашего приложения из раздела приложения с полным доверием в раздел приложения, тогда ваше приложение сможет работать на любом устройстве Windows 10 ».

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

Как настроить конвертер настольных приложений

Предполагая, что вы используете достаточно новую сборку Windows 10 Insider Preview, вы можете загрузить и установить Desktop App Converter с сайта Microsoft для разработчиков. Загрузите файлы DesktopAppConverter.zip и BaseImage-14316.wim. Извлеките загруженный файл DesktopAppConverter.zip в папку на вашем компьютере и поместите файл BaseImage в тот же каталог. (Если доступна новая сборка Windows 10, вы должны увидеть новый файл BaseImage. Вам нужно будет использовать файл BaseImage с тем же номером версии, что и у вашей установленной сборки Windows 10.)

Вам также необходимо загрузить и установить Windows 10 SDK.

Затем откройте окно PowerShell от имени администратора. Для этого откройте меню «Пуск», найдите «PowerShell», щелкните его ярлык правой кнопкой мыши и выберите «Запуск от имени администратора».

Измените политику выполнения PowerShell, выполнив следующую команду. Согласитесь на изменение, набрав y после этого.

 Обход Set-ExecutionPolicy 

Запустите следующую команду, заменив C: \ Users \ NAME \ Downloads \ DesktopAppConvertor на путь к каталогу на вашем компьютере:

 cd -Path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor 

Настройте Конвертер настольных приложений, выполнив следующую команду:

. \ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim 

Если вас попросили перезагрузиться во время выполнения какой-либо из этих команд, перезагрузите компьютер, а затем снова запустите команду.

Как конвертировать настольное приложение

Теперь вы можете запустить скрипт DesktopAppConverter.ps1 из окна PowerShell администратора, чтобы преобразовать настольное приложение в приложение UWP с помощью одной команды. Для этого вам понадобится установщик приложения. В качестве примера, мы будем использовать VLC здесь.

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

 get-help. \ DesktopAppConverter.ps1 -detailed 

Вот команда, которую вы можете использовать и настроить для своего приложения:

. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316
–Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Назначение C: \ Output \ MyApp
-PackageName "MyApp" -Publisher "CN =" -Version 0.0.0.1 -MakeAppx -Verbose 

Вам нужно настроить команду, чтобы добавить свое собственное имя издателя, версию, имя пакета и указать его в файле установщика и в каталоге назначения, который вы предпочитаете. Параметр -InstallerArguments "/ S" здесь передает переключатель /S установщику, что позволяет многим установщикам приложений устанавливать без вывода сообщений без участия пользователя. Приложения должны быть установлены без участия пользователя, иначе вы не сможете их конвертировать.

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

Например, здесь мы используем VLC, поэтому вот команда, которую мы будем использовать:

. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316
–Installer C: \ Users \ chris \ Downloads \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" -Назначение C: \ Output \ VLC
-PackageName "VLC" -Publisher "CN = VideoLAN" -Версия 0.2.2.2 -MakeAppx -Verbose 

Инструмент предоставит вам пакет .appx, который является версией приложения UWP.

Как установить приложение без подписи

Обычно требуется подписать приложения действительной подписью, прежде чем их можно будет установить. Microsoft рекомендует создать самоподписанный сертификат и подписать приложение таковым на своем компьютере. Вы можете сделать это, используя инструкции ниже, если хотите.

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

Для этого откройте окно PowerShell от имени администратора и выполните следующую команду:

 Add-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Register 

Вы найдете файл AppxManifest.xml рядом с файлом Application.appx в указанном вами выходном каталоге.

Теперь вы можете запустить приложение из меню «Пуск». Это будет «приложение для Windows», а не «приложение для настольного компьютера», но в остальном оно будет выглядеть и работать как обычное приложение для настольного компьютера.

Как подписать и установить приложение

Вам не нужно следовать этим инструкциям, если вы уже установили приложение. Это более сложный путь.

Обычно пакет .appx можно установить только в том случае, если он имеет действительную подпись. Microsoft рекомендует использовать приложение signtool.exe, входящее в комплект Windows 10 SDK, для создания самозаверяющего сертификата, который позволит вам установить и протестировать приложение на своем компьютере.

Просто откройте окно командной строки от имени администратора и выполните следующие команды, чтобы создать самозаверяющий сертификат и подписать пакет .appx:

 cd "C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64" 
 MakeCert.exe -r -h 0 -n "CN = Publisher" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer 
 pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx 
 signtool.exe sign -f my.pfx -fd SHA256 -v C: \ Path \ to \ application.appx 

Обратите внимание, что указанный вами издатель — это "CN = Publisher" — должен соответствовать издателю, указанному вами ранее при создании файла AppX. Итак, продолжая наш пример VLC, приведенный выше, мы должны будем использовать "CN = VideoLAN" .

Вас попросят ввести пароль. Вы можете просто оставить пароль пустым.

Теперь вы можете установить пакет .appx в окне PowerShell (администратор) с помощью команды Add-AppxPackage:

 Add-AppxPackage C: \ Path \ to \ application.appx 

Эта функция может использоваться любым, но только разработчики — и, возможно, некоторые системные администраторы — захотят пойти по этому пути. К счастью, этот процесс чрезвычайно прост для разработчиков.

Оцените статью
TutoryBird.Ru
Добавить комментарий