Как да конвертирате Windows Desktop App в универсално приложение за Windows
С актуализацията за годишнината на Windows 10 Microsoft дава възможност на разработчиците да конвертират традиционните приложения за настолни компютри с Windows в приложения за универсална Windows платформа (UWP). Но всеки може да направи това с всяко приложение-не само разработчици.
С конвертора на Windows 10, просто го дайте .msi или .exe файл и той ще изплюе .appx пакет. След това можете да прехвърлите това приложение на собствения си компютър или, ако сте разработчик на приложението, можете да изпратите полученото от него приложение за UWP в магазина на Windows. Тази функция ще пристигне за всички с актуализацията на годишнината на Windows 10, която ще доведе до много "наследени" приложения в магазина на Windows.
Защо искате да направите това?
Тази функция е крайният резултат на Microsoft Centennial, който е създаден, за да доведе тези „наследени“ приложения за настолни компютри Win32 и .NET на Windows Store и новата универсална Windows платформа.
Може би се чудите защо някой би искал да конвертира десктоп приложение в ново приложение за UWP. Първо, в магазина на Windows са разрешени само UWP приложения. Това позволява на разработчиците да получат много повече очи върху техните приложения, да не говорим за инсталация с едно кликване, лесна покупка и автоматични актуализации.
Новата платформа за приложения на UWP на Microsoft е поставена в печат, но десктопните приложения, които конвертирате, не са. Тези приложения ще имат пълен достъп до вашата система, точно както традиционното настолно приложение. Както се казва в документацията на Microsoft: „Като приложение за UWP, приложението ви може да прави нещата, които може да направи като класическо настолно приложение. Той взаимодейства с виртуализиран изглед на системния регистър и файловата система, който не може да се различава от действителния регистър и файловата система. "
Ограниченията
Тук има някои важни ограничения. Първо, можете да направите това само в актуализацията на 10-та годишнина на Windows. Засега той ще работи с Windows 10 Insider Preview build 14316 и по-нова версия, така че ще трябва да се присъедините към програмата на Insider на Windows и да използвате изградена версия на Insider Preview на Windows 10.
Тази функция изисква и изданията на Windows 10 от Enterprise или Enterprise. Windows 10 Домашни потребители няма да могат да използват 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 предоставя списък с поведения, които не са разрешени.
Как да настроите Desktop App Converter
Ако приемем, че използвате достатъчно нова версия на 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", щракнете с десния бутон на мишката върху него и изберете "Run as Administrator".
Променете политиката за изпълнение на PowerShell, като изпълните следната команда. Приемете промяната, като напишете ш
по-късно.
Set-ExecutionPolicy bypass
Изпълнете командата по-долу, заменяйки C: \ Users \ ИМЕ \ Downloads \ DesktopAppConvertor
с пътя до директорията на компютъра ви:
cd -Path C: Потребители ИМЕ - Файлове за сваляне DesktopAppConvertor
Настройте Конвертора за приложения за работния плот, като изпълните следната команда:
.Base-Image-14316.wim \ t
Ако бъдете помолени да рестартирате, докато изпълнявате някоя от тези команди, рестартирайте компютъра си и след това изпълнете командата отново.
Как да конвертирате настолни приложения
Вече можете да стартирате DesktopAppConverter.ps1
скрипт от прозореца на администратора PowerShell, за да конвертирате десктоп приложение в UWP приложение с една единствена команда. За да направите това, ще трябва инсталиращата програма. Като пример ще използваме VLC тук.
За да видите подробния списък с опции, можете да изпълните следната команда по всяко време:
get-help. \ t
Ето една команда, която можете да използвате и коригирате за приложението си:
.Windows-базирани файлове: Windows-базирани приложения: Windows-базирани приложения: Windows-базирани данни: - Инсталиране на C: Инсталиращо устройство MyApp.exe -InstallerArguments "/ S" -Destination C: Изход: MyApp -PackageName "MyApp" - Издател "CN =" -Версия 0.0.0.1 -MakeAppx -Вербоза
Ще трябва да настроите командата, за да добавите собствено име на издател, версия, име на пакета и да я насочите към предпочитания от вас файл за инсталиране и директория. Най- -Аргументи за инсталиране "/ S"
опция тук преминава /С
превключете на инсталатора, което прави много инсталатори на приложения безшумно да се инсталират без въвеждане от потребителя. Приложенията трябва да могат да се инсталират без въвеждане от потребителя или не можете да ги конвертирате.
Инсталаторът на приложението трябва да бъде в собствената си директория без други файлове, тъй като файловете в същата директория като инсталатора ще бъдат копирани в получения .appx пакет..
Например, използваме VLC тук, така че ето командата, която ще използваме:
.: Windows-базирани файлове: Windows-базирани данни: Windows-базирани файлове: Windows-базирани данни: Windows-базирани данни: Windows-базирани данни: Windows-базирани данни: C: Изход VLC -PackageName "VLC" - Издател "CN = VideoLAN" -Версия 0.2.2.2 -MakeAppx -Verbose
Инструментът ще ви даде .appx пакет, който е UWP версията на приложението.
Как да инсталирате приложението, без да го подписвате
Обикновено се изисква да се подписват приложения с валиден подпис, преди да могат да бъдат инсталирани. Microsoft препоръчва създаването на самоподписан сертификат и подписването му с това на компютъра. Можете да направите това, като използвате указанията по-долу, ако желаете.
Въпреки това, ако просто искате да инсталирате приложението на собствения си компютър, можете да го направите по-бързо, без да правите никакви подписи. Windows 10 ви позволява да инсталирате приложения, без да ги подписвате, ако инсталирате „неопаковано“ приложение от директория.
За да направите това, отворете прозорец на PowerShell като администратор и изпълнете следната команда:
Add-AppxPackage -Path C: Път към AppxManifest.xml -Register
Ще намерите файла AppxManifest.xml до файла Application.appx в зададената от вас директория.
Вече можете да стартирате приложението от менюто "Старт". Тя ще бъде "приложение за Windows" вместо "Десктоп ап", но в противен случай ще изглежда и ще работи като нормално настолно приложение.
Как да подпишете и инсталирате приложението
Не е необходимо да следвате тези инструкции, ако вече сте инсталирали приложението. Това е по-трудният начин.
Обикновено можете да инсталирате само .appx пакет, ако има валиден подпис. Microsoft препоръчва използването на приложението signtool.exe, включено в SDK за Windows 10, за създаване на самостоятелно подписан сертификат, който ще ви позволи да инсталирате и тествате приложението на собствения си компютър.
Просто отворете прозореца на командния ред като администратор и изпълнете следните команди, за да създадете самостоятелно подписан сертификат и да подпишете .appx пакета с него:
cd "C: Програмни файлове (x86) Комплекти на Windows 10 bin x64"
MakeCert.exe -r -h 0 -n "CN = Издател" -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: Път към \ t
Обърнете внимание, че издателят, който сте посочили - това е "CN = Издател"
-трябва да съвпада с издателя, който сте посочили по-рано при създаването на файла AppX. Така че, продължавайки с нашия VLC пример от по-горе, ще трябва да използваме "CN = VideoLAN"
.
Ще бъдете помолени да въведете парола. Можете просто да оставите паролата празна.
Сега можете да инсталирате .appx пакета в прозорец на PowerShell (Администратор) с командата Add-AppxPackage:
Add-AppxPackage C: Път към application.appx
Тази функция може да се използва от всеки, но само разработчиците и може би някои системни администратори ще искат да отидат по този маршрут. За щастие процесът е изключително лесен за разработчиците.