If-Koubou

Как да конвертирате Windows Desktop App в универсално приложение за Windows

Как да конвертирате Windows Desktop App в универсално приложение за Windows (Как да)

С актуализацията на 10-годишнината на Windows, Microsoft дава възможност на разработчиците да конвертират традиционните настолни приложения на Windows в приложения на UWP (Universal Platform). Но всеки може да направи това с всяко приложение, а не само с програмисти.

С конвертора на Windows 10, просто му дайте файл .msi или .exe и той ще изплюе пакет .appx. След това можете да скриете това приложение на собствения си персонален компютър или - ако сте разработчик на приложението - можете да изпратите произтичащото от него приложение в магазина на Windows. Тази функция ще пристигне за всички с актуализацията на годишнината от Windows 10, привеждайки много "стари" приложения в магазина на Windows.

Защо бихте искали да направите това

Тази функция е крайният резултат от проекта Centennial на Microsoft, който е създаден, за да приведе тези "наследствени" настолни приложения Win32 и .NET Windows в Windows Store и новата универсална Windows платформа.

Може да се чудите защо някой би искал да превърне настолно приложение в ново UWP приложение. От една страна, в магазина на Windows се допускат само UWP приложения. Това позволява на разработчиците да получат много повече очи на приложенията си, да не говорим за инсталиране с едно натискане, лесно закупуване и автоматични актуализации.

Новата платформа на Microsoft за приложения на UWP е sandboxed, но приложенията за компютри, които конвертирате, не са. Тези приложения ще имат пълен достъп до вашата система, точно като традиционното приложение за настолни компютри. Според документацията на Microsoft: "Като приложение UWP приложението ви може да направи нещата, които може да направи като класическо приложение за настолни компютри. Той взаимодейства с виртуализирания изглед на системния регистър и файловата система, който е неразличим от действителната регистърна и файлова система. "

Ограниченията

Има някои важни ограничения тук. Първо, можете да направите това само с Windows 10 Anniversary Update. Засега тя ще работи с Windows 10 Insider Preview build 14316 и по-нова версия, така че ще трябва да се присъедините към програмата Windows Insider и да използвате изграждането на Windows Insight Preview Insider.

Тази функция изисква също изданията Professional или Enterprise на Windows 10. Потребителите на 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 предоставя списък с поведението, което не е разрешено.

Как да настроите конвертора на App Desktop

Ако приемем, че използвате достатъчно ново изграждане на визуализацията за Windows 10 Insider, можете да изтеглите и инсталирате конвертора на App Desktop приложението от сайта на Microsoft за разработчици. Изтеглете файловете DesktopAppConverter.zip и BaseImage-14316.wim. Изтеглете изтегления файл DesktopAppConverter.zip в папка на компютъра си и поставете файла BaseImage в същата директория. (Ако има налична нова версия на Windows 10, трябва да видите нов файл BaseImage. Ще трябва да използвате файла BaseImage със същия номер на версията като инсталираната ви версия на Windows 10.)

Ще трябва да изтеглите и инсталирате комплекта за разработка на софтуер на Windows 10.

След това отворете прозореца PowerShell като администратор. За да направите това, отворете менюто "Старт", потърсете "PowerShell", щракнете с десния бутон на мишката върху него и изберете "Run as Administrator".

Променете правилата за изпълнение на PowerShell, като изпълните следната команда. Съгласете се с промяната, като въведете ш след това.

Set-ExecutionPolicy bypass

Пуснете командата по-долу, замествайки C: \ Users \ ИМЕ \ Downloads \ DesktopAppConvertor с пътя към директорията на вашия компютър:

cd - Път C: \ Users \ NAME \ Downloads \ DesktopAppConvertor

Настройте конвертора на Desktop App, като изпълните следната команда:

. \ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim

Ако сте помолени да рестартирате, докато изпълнявате някоя от тези команди, рестартирайте компютъра и след това изпълнете командата отново.

Как да конвертирате настолни приложения

Вече можете да стартирате DesktopAppConverter.ps1 скрипт от прозореца PowerShell на администратора, за да конвертирате настолно приложение в UWP приложение в една команда. За да направите това, ще ви трябва инсталационната програма на приложението. Като пример ще използваме VLC тук.

За да видите подробния списък на опциите, можете да изпълните следната команда по всяко време:

get-help. \ DesktopAppConverter.ps1-подробно

Ето команда, която можете да използвате и коригирате за приложението си:

. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Изображения \ BaseImage-14316 - Инсталатор C: \ Installer \ MyApp.exe -InstallerArguments "/ S" - Издател "CN =" -Версия 0.0.0.1 -MakeAppx -Verbose

Трябва да коригирате командата, за да добавите своето собствено име, версия, име на пакет и го насочете към файла на инсталатора и директорията на местоназначението, които предпочитате. Най- -InstallerArguments "/ S" опцията тук преминава преминете към инсталатора, което накара много инсталатори на приложения да инсталират тихо без никакви потребителски входове. Приложенията трябва да могат да се инсталират без въвеждане на потребител или да не можете да ги конвертирате.

Инсталаторът на приложението трябва да е в собствената си директория без други файлове, тъй като файловете в същата директория като инсталатора ще бъдат копирани в получения пакет .appx.

Например, използваме VLC тук, така че тук е командата, която ще използваме:

. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Изображения \ BaseImage-14316 -инсталтор C: \ Users \ chris \ Изтегляния \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" - Дестинация C: \ Изход \ VLC -PackageName "VLC" -Представител "CN = VideoLAN" -Версия 0.2.2.2 -MakeAppx -Verbose

Инструментът ще ви даде пакет .appx, който е UWP версията на приложението.

Как да инсталирате приложението без да го подписвате

Обикновено трябва да знаете приложения с валиден подпис, преди да могат да бъдат инсталирани. Microsoft препоръчва създаването на подписан сертификат и подписването на приложението с това на вашия компютър. Можете да направите това, като използвате инструкциите по-долу, ако искате.

Ако обаче просто искате да инсталирате приложението на собствения си компютър, можете да го направите по-бързо, без да бъркате с подписи. Windows 10 ви позволява да инсталирате приложения без да ги подписвате, ако инсталирате приложение "unpackaged" от директория.

За да направите това, отворете прозореца PowerShell като администратор и изпълнете следната команда:

Add-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Регистрирай

Ще намерите файла AppxManifest.xml до файла Application.appx в избраната директория за изход.

Вече можете да стартирате приложението от менюто "Старт". Тя ще бъде "приложение за Windows" вместо "настолно приложение", но в противен случай ще изглежда и ще работи като нормално приложение за настолни компютри.

Как да влезете и инсталирате приложението

Не е необходимо да следвате тези инструкции, ако вече сте инсталирали приложението. Това е по-трудният начин.

Обикновено можете да инсталирате само пакет .appx, ако има валиден подпис. Microsoft препоръчва да използвате приложението signtool.exe, включено в комплекта за разработка на Windows 10, за да създадете сертификат с подпис, който ще ви позволи да инсталирате и тествате приложението на своя компютър.

Просто отворете прозореца за команден прозорец като администратор и изпълнете следните команди, за да създадете сертификат, подписан от Вас, и да подпишете пакета .appx с него:

cd "C: \ Програмни файлове (x86) \ Windows Kits \ 10 \ bin \ x64"
MakeCert.exe -r -h 0 -n "CN = Издател" -еку 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: \ Path \ to \ application.appx

Обърнете внимание, че посоченият от вас издател - това е "CN = Издател" - Трябва да съответства на издателя, който сте посочили по-рано при създаването на AppX файла. Така че, продължавайки с нашия пример VLC от по-горе, ще трябва да използваме "CN = VideoLAN" .

Ще бъдете помолени да въведете парола. Можете просто да оставите паролата празна.

Вече можете да инсталирате пакета .appx в прозореца PowerShell (Administrator) с командата Add-AppxPackage:

Добавяне на AppxPackage C: \ Path \ to \ application.appx

Тази функция може да бъде използвана от всеки, но само разработчиците - и може би някои системни администратори - ще искат да вървят по този маршрут. За щастие процесът е изключително лесен за разработчиците.