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

    Как преобразовать приложение для рабочего стола 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. Это изменится в будущих инсайдерских сборках 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 \ ИМЯ \ 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" - Издатель "CN =" -Версия 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 от имени администратора и выполните следующую команду:

    Добавить-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 = Издательство" -должен соответствовать издателю, указанному вами ранее при создании файла AppX. Итак, продолжая наш пример VLC сверху, мы должны использовать "CN = VideoLan" .

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

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

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

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