У перетворювач Windows 10 потрібно ввести файл формату .msi або .exe, а на виході буде отриманий файл формату .appx. Далі можна завантажити його на свій комп'ютер, а розробники зможуть виставити його в магазин Windows. Ця функція стане доступною широкому колу користувачів разом з виходом Anniversary Update (Ювілейне оновлення) влітку цього року.
Ця функція є результатом розвитку проекту Microsoft Centennial, покликаного перенести додатки на архітектурі Win32 і .NET в магазин у вигляді універсальних програм.
Для чого це потрібно
У багатьох користувачів може виникнути питання - навіщо перетворювати програми з робочого столу в універсальні додатки?
Для початку, тільки універсальні додатки можна виставити в магазин Windows. Це дозволяє розробникам показати свої програми більшій кількості користувачів, ставити додатки одним кліком, легше купувати їх і автоматично оновлювати.
Нова платформа додатків Microsoft працює в «пісочниці», що має плюси з точки зору безпеки над звичайними програмами робочого столу. Перетворювач проаналізує поведінку програми робочого столу і створить для нього окрему пісочницю з дозволами для нормального функціонування. Якщо додаток скомпрометовано, воно не зможе вибратися зі своєї пісочниці і нашкодити решті частини системи. Додатки будуть встановлюватися і віддалятися чисто, не залишаючи в файлової системі і реєстрі сміття.
Незважаючи на пісочницю, додатки збережуть свою силу, при цьому отримавши переваги універсальних програм. Документація Microsoft говорить: «У вигляді універсального додаток може робити все те ж саме, що і класичні програми робочого столу. Воно взаємодіє з віртуальним поданням реєстру і файлової системи, які відрізняються від реальних ».
обмеження
У цього підходу є важливі обмеження. Перетворювач працює тільки в Windows 10 Anniversary Update. На даний момент він функціонує в збірці Windows 10 Insider Preview 14316 і новіших, так що буде потрібно бути учасником програми тестування Windows Insider і використовувати збірку Insider Preview системи Windows 10.
Ця функція вимагає наявності редакцій Professional або Enterprise. Користувачі Windows 10 Home не зможуть використовувати Desktop App Converter. У збірці 14316 він працює тільки в Windows 10 Enterprise, але скоро з'явиться підтримка Windows 10 Professional. Зараз інструмент підтримується тільки в 64-розрядних системах Windows, що виходять пакети AppX можна встановити також тільки на 64-розрядні версії Windows. У майбутніх збірках Insider це зміниться.
На жаль, деякі типи функціональності додатків не підтримуються. Додатки можна запускати з правами адміністратора і іншими типами низкоуровневого системного доступу. Microsoft надає список заборонених додатків дії.
Як встановити перетворювач додатків
Якщо у вас встановлена потрібна збірка Windows 10 Insider Preview, можна скачати і встановити Desktop App Converter з сайту Microsoft Developer. Скачайте файли DesktopAppConverter.zip і BaseImage-14316.wim. Розпакуйте файл DesktopAppConverter.zip в папку і туди ж помістіть файл BaseImage. Якщо вже вийшла нова збірка Windows 10, то буде інший файл BaseImage - їх версії повинні збігатися.
Потрібно також завантажити і встановити пакет засобів розробки програмного забезпечення Windows 10 SDK.
Слідом потрібно запустити вікно PowerShell з правами адміністратора. Для цього відкрийте меню «Пуск», введіть у пошук PowerShell, натисніть правою клавішею миші на ярлик і виберіть команду «Запустити від імені адміністратора».
Змініть політику виконання PowerShell нижчеприведений командою. Погодьтеся на внесення змін, ввівши символ Y.
Запустіть наступну команду, помінявши 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 з правами адміністратора для перетворення настільного додатки в універсальне всього однією командою. Для цього потрібен інсталяційний файл програми. Для прикладу розглянемо програму 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 =" -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» -Destination C: \\ Output \\ VLC
-PackageName «VLC» -Publisher «CN = VideoLAN» -Version 0.2.2.2 -MakeAppx -Verbose
Конвертер видасть пакет .appx, який і являє собою універсальну версію програми.
Як встановити додаток, не підписуючи його
Зазвичай програми необхідно підписувати дійсної підписом, перш ніж їх можна буде встановити. Microsoft рекомендує створити самоподпісивающійся сертифікат і підписати додаток ім. Допоможуть зробити цього наведені нижче інструкції.
Якщо ви хочете встановити додаток тільки на свій комп'ютер, швидше зробити це без всяких підписів. Windows 10 дозволяє це, якщо ставити «неупаковані» додаток з папки.
Для цього відкрийте вікно PowerShell з правами адміністратора і виконайте команду:
Add-AppxPackage -Path C: \\ Path \\ to \\ AppxManifest.xml -Register
Ви знайдете файл AppxManifest.xml поруч з файлом Application.appx в папці з результатом.
Тепер можна запускати програму з меню «Пуск». Воно буде називатися «Додаток Windows» (Windows app) замість «Додаток робочого столу» (Desktop app), в іншому воно виглядає як звичайне класичне додаток.
Як підписати і встановити додаток
Є метод і складніше, але він не потрібен, якщо ви вже встановили додаток.
Зазвичай .appx можна встановити при наявності дійсної підпису. Microsoft рекомендує використовувати додаток signtool.exe зі складу Windows 10 SDK для створення самоподпісивающегося сертифіката, що дозволить встановлювати і тестувати додаток на своєму комп'ютері.
Відкрийте вікно командного рядка з правами адміністратора і запустіть наступні команди для створення самоподпісивающегося сертифіката і підписання ним .appx:
cd «C: \\ Program Files (x86) \\ Windows Kits \\ 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 з правами адміністратора командою
Цю функцію може використовувати будь-який бажаючий, але швидше за все виберуть тільки розробники (і системні адміністратори). На щастя, процес вкрай простий для розробників, якщо їх застосування не вимагають функціональності, що не підтримується в пісочниці універсального застосування.
Що таке mshta.exe в процесах?
Як відключити TDR в реєстрі або змінити, коли він спрацьовує?
Причини виникнення помилки 0х80070057 і її усунення
Що робити при помилку Stop: c000021a?
Зібрав додаток в WINDOWS FORM. Намагаюся його конвертувати в універсальне.
Все скачав і встановив. Після введення команди VERSION (припустимо 1.0.0.0) вибиває помилку.
ValidateInstaller: fatal error 1210: installer (C: \\ Users \\ GRK_360 \\ Desktop \\ instal \\ setup.exe -InstallerArguments «/ S») not found
C: \ Users \ GRK_360 \ Desktop \ DesktopAppConverter \ converter_util \ InputValidation.ps1: 22 знак: 9
+ throw «ValidateInstaller: fatal error 1210: installer ($ insta ...
+
+ CategoryInfo. OperationStopped: (ValidateInstall ... «/ S») not found: String) [], RuntimeException
+ FullyQualifiedErrorId. ValidateInstaller: fatal error 1210: installer (C: \\ Users \\ GRK_360 \\ Desktop \\ instal \\ setup.exe -InstallerArguments «/ S») not found
Типу файл не знайдений. Шлях вірний, ім'я файлу також. З чим це може бути пов'язано.
Поділіться своєю думкою