С Оновлення ювілею Windows 10 , Microsoft дає можливість розробникам перетворювати традиційні настільні програми Windows на додатки UWP (Universal Windows Platform). Але це може зробити будь-хто з будь-яким додатком - не тільки розробники.
У конвертері для Windows 10 просто надайте йому файл .msi або .exe, і він виплюне пакет .appx. Потім ви можете завантажити цю програму на свій ПК або, якщо ви розробник програми, можете надіслати отриману програму UWP у Магазин Windows. Ця функція буде доступна для всіх із оновленням ювілею Windows 10, залучення багатьох “застарілих” програм до магазину Windows .
Чому ви хочете це зробити?
ПОВ'ЯЗАНІ: Що нового в ювілейному оновленні Windows 10
Ця функція є кінцевим результатом проекту Microsoft Centennial, який покликаний передати ті «застарілі» настільні програми Win32 та .NET Windows до Магазину Windows та нової універсальної платформи Windows.
Ви можете задатися питанням, чому хтось захоче перетворити настільну програму на нову програму UWP. З одного боку, у магазині Windows дозволено використовувати лише програми UWP. Це дозволяє розробникам приділяти набагато більше уваги своїм програмам, не кажучи вже про встановлення в один клік, просте придбання та автоматичне оновлення.
Нова платформа додатків UWP від Microsoft працює в ізольованому середовищі, а ось настільні програми, які ви перетворюєте, ні. Ці програми матимуть повний доступ до вашої системи, як і традиційні настільні програми. Як Документація Microsoft говорить: «Як програма UWP, ваша програма може робити те, що вона може робити як класичний настільний додаток. Він взаємодіє з віртуальним видом реєстру та файлової системи, який неможливо відрізнити від фактичного реєстру та файлової системи ".
Обмеження
ПОВ'ЯЗАНІ: Як стати інсайдером Windows і протестувати нові функції Windows 10
Тут є кілька важливих обмежень. По-перше, це можна зробити лише в оновленні Windows 10 Anniversary Update. Наразі це буде працювати з Windows 10 Insider Preview побудувати 14316 і вище, тож вам потрібно буде приєднатися до програми Windows Insider і використовувати збірку попереднього перегляду Insider для Windows 10 .
Ця функція також вимагає професійної або корпоративної версій Windows 10. Користувачі Windows 10 Home не зможуть використовувати Desktop App Converter. Станом на збірку 14316 він працював лише на Windows 10 Enterprise, але підтримка Windows 10 Professional з’являється. В даний час цей інструмент можна використовувати лише в 64-розрядних версіях Windows, а отриманий пакет AppX можна встановити лише в 64-розрядних версіях Windows. Це зміниться у майбутніх збірках Windows 10 для Insider.
Отримані програми призначені для ПК з Windows 10. Вони не працюватимуть на смартфонах Windows 10 Mobile, Xbox One, HoloLens, Surface Hub та інших платформах Windows 10, на яких запущені програми UWP. Однак якщо ви розробник, Microsoft пропонує шлях до того, як перенести ваш настільний додаток у кроссплатформенну програму UWP: “Якщо ви вирішите перенести всю функціональність своєї програми з розділу програми, що має повну довіру, до розділ контейнера додатків, тоді ваш додаток зможе працювати на будь-якому пристрої Windows 10 ".
Однак деякі типи поведінки додатків не підтримуються. Додаток не може вимагати його запуску в якості адміністратора або використання інших типів низькорівневого системного доступу. Microsoft надає список поведінка, яка заборонена .
Як налаштувати настільний конвертер програм
Припускаючи, що ви використовуєте досить нову збірку попереднього перегляду Windows 10 Insider, ви можете завантажити та встановити Настільний конвертер програм з веб-сайту розробника 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
Налаштуйте Desktop App Converter, виконавши таку команду:
. \ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim
Якщо під час виконання будь-якої з цих команд вам буде запропоновано перезавантажитися, перезавантажте комп’ютер, а потім запустіть команду ще раз.
Як перетворити настільну програму
Тепер ви можете запустити
DesktopAppConverter.ps1
сценарій з вікна адміністратора PowerShell для перетворення настільної програми в програму UWP за допомогою однієї команди. Для цього вам знадобиться програма встановлення програми. Як приклад, ми використаємо тут VLC.
Щоб переглянути детальний список параметрів, ви можете в будь-який час виконати таку команду:
get-help. \ DesktopAppConverter.ps1 -детально
Ось команда, яку ви можете використовувати та налаштувати для своєї програми:
. \ 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" -Видавець "CN = VideoLAN" -Версія 0.2.2.2 -MakeAppx -Verbose
Інструмент надасть вам пакет .appx, який є версією програми UWP.
Як встановити програму, не підписуючи її
Зазвичай перед встановленням вам потрібні програми для підпису з дійсним підписом. Корпорація Майкрософт рекомендує створити самопідписаний сертифікат і підписати програму на своєму комп’ютері. Ви можете зробити це, скориставшись інструкціями нижче, якщо хочете.
Однак, якщо ви просто хочете встановити програму на власний комп’ютер, ви можете зробити це самі швидше, не возившись з жодними підписами. Windows 10 дозволяє встановлювати програми, не підписуючи їх, якщо ви встановлюєте «нерозпаковану» програму з каталогу.
Для цього відкрийте вікно PowerShell від імені адміністратора та запустіть таку команду:
Add-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Реєстрація
Ви знайдете файл AppxManifest.xml поруч із файлом Application.appx у вказаному вами вихідному каталозі.
Тепер ви можете запустити програму з меню "Пуск". Це буде „програма для Windows” замість „програма для робочого столу”, але в іншому випадку вона буде виглядати і працювати як звичайна програма для настільних ПК.
Як підписати та встановити програму
Не потрібно слідувати цим інструкціям, якщо ви вже встановили програму. Це складніший спосіб.
Зазвичай ви можете встановити пакет .appx, лише якщо він має дійсний підпис. Корпорація Майкрософт рекомендує використовувати додаток 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 знак -f my.pfx -fd SHA256 -v C: \ Шлях \ до \ application.appx
Зверніть увагу, що видавець, якого ви вказали - це той
"CN = Видавець"
–Повинна відповідати видавцю, який ви вказали раніше під час створення файлу AppX. Отже, продовжуючи наш приклад VLC зверху, нам довелося б використовувати
"CN = VideoLAN"
.
Вам буде запропоновано ввести пароль. Ви можете просто залишити пароль пустим.
Тепер ви можете встановити пакет .appx у вікні PowerShell (Адміністратор) за допомогою команди Add-AppxPackage:
Add-AppxPackage C: \ Шлях \ до \ application.appx
Цією функцією може скористатись будь-хто, але лише розробники - і, можливо, деякі системні адміністратори - захочуть піти цим шляхом. На щастя, цей процес надзвичайно простий для розробників.