WindowsКак сделать

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

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

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

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

СВЯЗАННЫЕ: Что нового в годовом обновлении Windows 10

Эта функция является конечным результатом Microsoft Project Centennial, которая предназначена для того, чтобы перенести эти «унаследованные» настольные приложения Windows Win32 и .NET в Windows Store и новую универсальную платформу Windows.

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

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

Ограничения

СВЯЗАННЫЙ: Как стать инсайдером Windows и протестировать новые функции Windows 10

Здесь есть несколько важных ограничений. Во-первых, вы можете сделать это только в 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 = <publisher_name>" -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 от имени администратора и выполните следующую команду:

  Добавить-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 

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

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone