С Юбилейное обновление Windows 10 , Microsoft дает разработчикам возможность конвертировать традиционные настольные приложения Windows в приложения универсальной платформы Windows (UWP). Но любой может сделать это с любым приложением, а не только разработчики.
С конвертером Windows 10 просто дайте ему файл .msi или .exe, и он выдаст пакет .appx. Затем вы можете загрузить это приложение на свой компьютер или - если вы разработчик приложения - отправить полученное приложение UWP в Магазин Windows. Эта функция станет доступна всем с юбилейным обновлением Windows 10, добавление множества «устаревших» приложений в Магазин Windows .
Почему ты хочешь это сделать
СВЯЗАННЫЕ С: Что нового в юбилейном обновлении Windows 10
Эта функция является конечным результатом проекта Microsoft Project Centennial, который предназначен для переноса этих «устаревших» настольных приложений Win32 и .NET Windows в Магазин Windows и новую универсальную платформу Windows.
Вы можете задаться вопросом, зачем кому-то преобразовывать настольное приложение в новое приложение UWP. Во-первых, в Магазин Windows разрешены только приложения UWP. Это позволяет разработчикам уделять больше внимания своим приложениям, не говоря уже об установке в один клик, простой покупке и автоматических обновлениях.
Новая платформа приложений Microsoft UWP изолирована, а классические приложения, которые вы конвертируете, нет. Эти приложения будут иметь полный доступ к вашей системе, как и традиционные настольные приложения. Как Микрософт’с документатион говорит: «Как приложение UWP, ваше приложение может делать то же самое, что и классическое настольное приложение. Он взаимодействует с виртуальным представлением реестра и файловой системы, неотличимым от реального реестра и файловой системы ».
Ограничения
СВЯЗАННЫЕ С: Как стать участником программы предварительной оценки Windows и протестировать новые функции Windows 10
Здесь есть несколько важных ограничений. Во-первых, вы можете сделать это только в юбилейном обновлении Windows 10. На данный момент он будет работать с Windows 10 Insider Preview. сборка 14316 и выше, поэтому вам нужно будет присоединиться к программе предварительной оценки Windows и использовать сборку Insider Preview Windows 10 .
Для этой функции также требуется профессиональный или корпоративный выпуски Windows 10. Пользователи 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, вы можете загрузить и установить Конвертер настольных приложений с сайта разработчиков Microsoft. Загрузите файлы DesktopAppConverter.zip и BaseImage-14316.wim. Распакуйте загруженный файл DesktopAppConverter.zip в папку на вашем компьютере и поместите файл BaseImage в тот же каталог. (Если доступна новая сборка Windows 10, вы должны увидеть новый файл BaseImage. Вам необходимо использовать файл BaseImage с тем же номером версии, что и установленная сборка Windows 10.)
Вам также потребуется скачать и установить Пакет SDK для Windows 10 .
Затем откройте окно 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" -Destination C: \ Output \ MyApp -PackageName "MyApp" -Publisher "CN = <publisher_name>" -Version 0.0.0.1 -MakeAppx -Verbose
Вам нужно будет настроить команду, чтобы добавить собственное имя издателя, версию, имя пакета и указать его на файл установщика и целевой каталог, который вы предпочитаете. В
-InstallerArguments "/ 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" -Destination C: \ Output \ VLC -PackageName "VLC" -Publisher "CN = VideoLAN" -Version 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"
МакеКерт.эксе -р -х 0 -н "КН=Публишер" -эко 1.3.6.1.5.5.7.3.3 -пе -св мы.пвк мы.сер
pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx
signtool.exe подписать -f my.pfx -fd SHA256 -v C: \ Путь \ к \ application.appx
Обратите внимание, что указанный вами издатель - это
"CN = Издатель"
–Должен соответствовать издателю, указанному вами ранее при создании файла AppX. Итак, продолжая наш пример VLC сверху, нам придется использовать
"CN = VideoLAN"
.
Вам будет предложено ввести пароль. Вы можете просто оставить пароль пустым.
Теперь вы можете установить пакет .appx в окне PowerShell (администратор) с помощью команды Add-AppxPackage:
Добавить-AppxPackage C: \ Путь \ к \ application.appx
Эту функцию может использовать кто угодно, но только разработчики - и, возможно, некоторые системные администраторы - захотят пойти по этому пути. К счастью, этот процесс очень прост для разработчиков.