Pagina principala » HOWTO » Cum se convertește un App Desktop Windows într-o aplicație Windows universală

    Cum se convertește un App Desktop Windows într-o aplicație Windows universală

    Cu actualizarea de aniversare a Windows 10, Microsoft permite dezvoltatorilor să convertească aplicațiile tradiționale Windows desktop la aplicațiile UWP (Universal Windows Platform). Dar oricine poate face acest lucru cu orice aplicație - nu doar pentru dezvoltatori.

    Cu convertorul Windows 10, dați-i doar un fișier .msi sau .exe și va scuipa un pachet .appx. Puteți apoi să blocați această aplicație pe PC-ul dvs. sau - dacă sunteți dezvoltatorul aplicației - puteți trimite aplicația UWP care rezultă în Magazinul Windows. Această caracteristică va apărea pentru toată lumea, cu Actualizare de Aniversare Windows 10, care aduce multe aplicații "vechi" în Magazinul Windows.

    De ce ai vrea să faci asta

    Această caracteristică este rezultatul final al Proiectului Centennial al Microsoft, care este conceput pentru a aduce acele aplicații desktop "Win32" și ".NET Windows" "vechi" la Windows Store și noua platformă Windows Universal.

    S-ar putea să vă întrebați de ce cineva ar dori să transforme o aplicație desktop într-o nouă aplicație UWP. În primul rând, numai aplicațiile UWP sunt permise în Magazinul Windows. Acest lucru permite dezvoltatorilor să obțină mult mai multe ochi pe aplicațiile lor, să nu mai vorbim de instalarea cu un singur clic, cumpărarea ușoară și actualizările automate.

    Noua platformă de aplicații UWP de la Microsoft este cutie de tip sandbox, însă aplicațiile desktop pe care le convertiți nu sunt. Aceste aplicații vor avea acces deplin la sistemul dvs., la fel ca o aplicație desktop tradițională. Documentația Microsoft spune: "Ca aplicație UWP, aplicația dvs. poate face lucrurile pe care le-ar putea face ca o aplicație desktop clasică. Interacționează cu o vizualizare virtualizată a sistemului de registri și de fișiere, care nu poate fi distinsă de sistemul real de registru și de fișiere. "

    Limitările

    Există câteva limitări importante aici. În primul rând, puteți face acest lucru numai cu Windows 10 Anniversary Update. Deocamdată, va funcționa cu Windows 10 Insider Preview construi pe 14316 și mai mult, deci va trebui să vă alăturați programului Windows Insider și să utilizați o construcție de previzualizare Insider de Windows 10.

    Această caracteristică necesită, de asemenea, edițiile Professional sau Enterprise ale Windows 10. Utilizatorii Windows 10 Home nu vor putea utiliza aplicația Desktop App Converter. De la construirea 14316, a funcționat numai pe Windows 10 Enterprise, dar vine suportul pentru Windows 10 Professional. În prezent, acest instrument poate fi utilizat numai pe versiunile pe 64 de biți de Windows, iar pachetul AppX rezultat poate fi instalat numai pe versiunile pe 64 de biți ale Windows. Acest lucru se va schimba în viitor Insider builds de Windows 10.

    Aplicațiile rezultate sunt destinate calculatoarelor Windows 10. Nu vor funcționa pe smartphone-urile Windows 10 Mobile, Xbox One, HoloLens, Surface Hub și celelalte platforme Windows 10 care rulează aplicații UWP. Cu toate acestea, dacă sunteți dezvoltator, Microsoft vă oferă o cale de a obține o aplicație desktop într-o aplicație UWP pe mai multe platforme: "Dacă alegeți să mutați toate funcționalitățile aplicației din partiția de încredere a aplicației și în app partition container, atunci aplicația dvs. va putea să ruleze pe orice dispozitiv Windows 10. "

    Cu toate acestea, unele tipuri de comportament de aplicații nu sunt acceptate. O aplicație nu poate solicita ca aceasta să fie difuzată ca Administrator sau să utilizeze alte tipuri de acces la un nivel scăzut al sistemului. Microsoft oferă o listă de comportamente care nu sunt permise.

    Cum se configurează aplicația Desktop App Converter

    Presupunând că utilizați o nouă construcție suficientă a Previzualizării Windows 10 Insider, puteți descărca și instala aplicația Desktop App Converter de pe site-ul Microsoft Developer. Descărcați fișierele DesktopAppConverter.zip și BaseImage-14316.wim. Extrageți fișierul descărcat DesktopAppConverter.zip într-un dosar de pe computer și plasați fișierul BaseImage în același director. (Dacă există o nouă construcție de Windows 10 disponibilă, ar trebui să vedeți un nou fișier BaseImage. Va trebui să utilizați fișierul BaseImage cu același număr de versiune ca și versiunea instalată a Windows 10.)

    De asemenea, va trebui să descărcați și să instalați kitul Windows 10 SDK.

    Apoi, deschideți o fereastră PowerShell ca Administrator. Pentru a face acest lucru, deschideți meniul Start, căutați "PowerShell", faceți clic dreapta pe comanda rapidă și selectați "Run as Administrator".

    Modificați politica de execuție a PowerShell executând următoarea comandă. Sunt de acord cu schimbarea tastând y după aceea.

    Setarea-ExecuțiePoliție ocolire

    Rulați comanda de mai jos, înlocuind-o C: \ Users \ nume \ Downloads \ DesktopAppConvertor cu calea spre directorul de pe computer:

    cd - Calea C: \ Users \ NAME \ Downloads \ DesktopAppConvertor

    Configurați aplicația Desktop App Converter executând următoarea comandă:

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

    Dacă vi se cere să reporniți în timp ce executați oricare dintre aceste comenzi, reporniți computerul și apoi executați din nou comanda.

    Cum se convertește o aplicație desktop

    Acum puteți rula DesktopAppConverter.ps1 script din fereastra PowerShell Administrator pentru a converti o aplicație desktop într-o aplicație UWP într-o singură comandă. Veți avea nevoie de programul de instalare al aplicației pentru a face acest lucru. Ca exemplu, vom folosi VLC aici.

    Pentru a vedea lista detaliată a opțiunilor, puteți rula oricând următoarea comandă:

    primiți ajutor. \ DesktopAppConverter.ps1 -detailed

    Iată o comandă pe care o puteți utiliza și o ajustați pentru aplicația dvs.:

    .\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Imagini \ BaseImage-14316 - Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destination C: \ Output \ MyApp -PackageName "MyApp" Editorul "CN =" -Versiunea 0.0.0.1 -MakeAppx -Verbose

    Va trebui să ajustați comanda pentru a adăuga propriul nume de editor, versiunea, numele pachetului și indicați-l la fișierul de instalare și la directorul de destinație pe care îl preferați. -InstallerArguments "/ S" opțiunea aici trece / S treceți la programul de instalare, ceea ce face ca mulți instalatori de aplicații să se instaleze în tăcere fără nici o intrare de către utilizatori. Aplicațiile trebuie să fie instalabile fără vreo intrare a utilizatorului sau nu le puteți converti.

    Programul de instalare al aplicației trebuie să fie în propriul director fără alte fișiere, deoarece fișierele din același director ca și instalatorul vor fi copiate în pachetul .appx rezultat.

    De exemplu, folosim VLC aici, deci iată comanda pe care o vom folosi:

    .\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 - Instalator C: \ Users \ chris \ Descărcări \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" C: \ Output \ VLC -PackageName "VLC" -Publisher "CN = VideoLAN" -Versiunea 0.2.2.2 -MakeAppx -Verbose

    Instrumentul vă va oferi un pachet .appx, care este versiunea UWP a aplicației.

    Cum se instalează aplicația fără semnarea acesteia

    În mod normal, este necesar ca aplicațiile semnate să aibă o semnătură valabilă înainte ca acestea să poată fi instalate. Microsoft recomandă crearea unui certificat auto-semnat și semnarea aplicației cu cea de pe computer. Puteți face acest lucru folosind instrucțiunile de mai jos, dacă doriți.

    Cu toate acestea, dacă doriți doar să instalați aplicația pe calculatorul propriu, puteți face acest lucru mai repede, fără a fi nevoie de semnături. Windows 10 vă permite să instalați aplicații fără a le semna dacă instalați o aplicație "neambalată" dintr-un director.

    Pentru aceasta, deschideți o fereastră PowerShell ca Administrator și executați următoarea comandă:

    Adăugați-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Register

    Veți găsi fișierul AppxManifest.xml lângă fișierul Application.appx în directorul de ieșire specificat.

    Acum puteți lansa aplicația din meniul Start. Va fi o "aplicație Windows" în loc de o "aplicație desktop", dar va arăta altfel și va funcționa ca o aplicație desktop obișnuită.

    Cum să vă conectați și să instalați aplicația

    Nu aveți nevoie să urmați aceste instrucțiuni dacă ați instalat deja aplicația. Acesta este cel mai greu mod.

    În mod normal, puteți instala numai un pachet .appx dacă are o semnătură valabilă. Microsoft recomandă să utilizați aplicația signtool.exe inclusă împreună cu setul de instrumente Windows 10 SDK pentru a crea un certificat auto-semnat, care vă va permite să instalați și să testați aplicația pe propriul computer.

    Doar deschideți o fereastră Prompt comandă ca Administrator și rulați următoarele comenzi pentru a crea un certificat auto-semnat și semnați pachetul .appx cu acesta:

    cd "C: \ Program Files (x86) \ Kituri Windows \ 10 \ bin \ x64"
    MakeCert.exe -r -h 0 -n "CN = editor" -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
    semnul signtool.exe -f my.pfx -fd SHA256 -v C: \ Path \ to \ application.appx

    Rețineți că editorul pe care îl specificați - asta este "CN = Publisher" -trebuie să se potrivească editorului pe care l-ați specificat mai devreme când creați fișierul AppX. Deci, continuând cu exemplul VLC de mai sus, trebuie să-l folosim "CN = VideoLAN" .

    Vi se va cere să introduceți o parolă. Puteți lăsa parola necompletată.

    Acum puteți instala pachetul .appx într-o fereastră PowerShell (Administrator) cu comanda Add-AppxPackage:

    Adăugați-AppxPackage C: \ Path \ to \ application.appx

    Această caracteristică poate fi utilizată de oricine, dar numai dezvoltatorii - și poate unii administratori de sistem - vor dori să meargă pe acest traseu. Din fericire, procesul este extrem de ușor pentru dezvoltatori.