Come convertire un'app desktop di Windows in un'app universale di Windows

0
65

Con l'aggiornamento dell'anniversario di Windows 10, Microsoft consente agli sviluppatori di convertire le applicazioni desktop Windows tradizionali in applicazioni UWP (Universal Windows Platform). Ma chiunque può farlo con qualsiasi app, non solo con gli sviluppatori.

Con il convertitore di Windows 10, basta dargli un file .msi o .exe e uscirà un pacchetto .appx. Puoi quindi caricare l'app sul tuo PC oppure, se sei lo sviluppatore dell'applicazione, puoi inviare l'app UWP risultante al Windows Store. Questa funzionalità arriverà per tutti con l'aggiornamento dell'anniversario di Windows 10, portando molte applicazioni “legacy” su Windows Store.

Perché vorresti farlo

RELAZIONATO: Novità dell'aggiornamento dell'anniversario di Windows 10

Questa funzionalità è il risultato finale del Project Centennial di Microsoft, progettato per portare quelle applicazioni desktop “legacy” Win32 e .NET su Windows Store e sulla nuova piattaforma Windows universale.

Potresti chiederti perché qualcuno vorrebbe convertire un'applicazione desktop in una nuova app UWP. Per prima cosa, nel Windows Store sono consentite solo le app UWP. Ciò consente agli sviluppatori di avere molta più attenzione sulle loro app, per non parlare dell'installazione con un solo clic, dell'acquisto facile e degli aggiornamenti automatici.

La nuova piattaforma applicativa UWP di Microsoft è in modalità sandbox, ma non le app desktop convertite. Queste applicazioni avranno pieno accesso al tuo sistema, proprio come un'applicazione desktop tradizionale. Come dice la documentazione di Microsoft: “Come app UWP, la tua app è in grado di fare le cose che potrebbe fare come un'app desktop classica. Interagisce con una vista virtualizzata del registro e del file system indistinguibile dal registro e dal file system attuali. “

Le limitazioni

RELAZIONATO: Come diventare un membro di Windows e testare nuove funzionalità di Windows 10

Ci sono alcune importanti limitazioni qui. Innanzitutto, puoi farlo solo sull'aggiornamento dell'anniversario di Windows 10. Per ora, funzionerà con Windows 10 Insider Preview build 14316 e successive, quindi dovrai unirti al programma Windows Insider e utilizzare una build Insider Preview di Windows 10.

Questa funzione richiede anche le versioni Professional o Enterprise di Windows 10. Gli utenti di Windows 10 Home non potranno utilizzare Desktop App Converter. A partire dalla build 14316, funzionava solo su Windows 10 Enterprise, ma il supporto per Windows 10 Professional è in arrivo. Attualmente, questo strumento può essere utilizzato solo su versioni a 64 bit di Windows e il pacchetto AppX risultante può essere installato solo su versioni a 64 bit di Windows. Questo cambierà nelle future build Insider di Windows 10.

Le applicazioni risultanti sono destinate a PC Windows 10. Non funzionano su smartphone Windows 10 Mobile, Xbox One, HoloLens, Surface Hub e le altre piattaforme Windows 10 che eseguono app UWP. Tuttavia, se sei uno sviluppatore, Microsoft offre un percorso per portare la tua applicazione desktop in un'applicazione UWP multipiattaforma: “Se scegli di spostare tutte le funzionalità della tua app dalla partizione a pieno titolo dell'app e nella partizione contenitore app, quindi la tua app sarà in grado di funzionare su qualsiasi dispositivo Windows 10 “.

Tuttavia, alcuni tipi di comportamento dell'applicazione non sono supportati. Un'applicazione non può richiedere che venga eseguita come amministratore o utilizzare altri tipi di accesso al sistema di basso livello. Microsoft fornisce un elenco di comportamenti non consentiti.

Come configurare il convertitore di app desktop

Supponendo che tu stia utilizzando una build abbastanza nuova di Windows 10 Insider Preview, puoi scaricare e installare Desktop App Converter dal sito per sviluppatori di Microsoft. Scarica entrambi i file DesktopAppConverter.zip e BaseImage-14316.wim. Estrarre il file DesktopAppConverter.zip scaricato in una cartella sul computer e posizionare il file BaseImage nella stessa directory. (Se è disponibile una nuova build di Windows 10, dovresti visualizzare un nuovo file BaseImage. Dovrai utilizzare il file BaseImage con lo stesso numero di versione della build installata di Windows 10.)

Dovrai anche scaricare e installare l'SDK di Windows 10.

Quindi, aprire una finestra di PowerShell come amministratore. Per fare ciò, apri il menu Start, cerca “PowerShell”, fai clic con il tasto destro del mouse sul collegamento e seleziona “Esegui come amministratore”.

Modifica la politica di esecuzione di PowerShell eseguendo il comando seguente. Accetta la modifica digitando y successivamente.

Set-ExecutionPolicy bypass

Eseguire il comando seguente, sostituendo C:UsersNAMEDownloadsDesktopAppConvertor con il percorso della directory sul tuo computer:

cd -Path C:UsersNAMEDownloadsDesktopAppConvertor

Configurare Desktop App Converter eseguendo il comando seguente:

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

Se ti viene chiesto di riavviare mentre esegui uno di questi comandi, riavvia il computer ed esegui nuovamente il comando.

Come convertire un'applicazione desktop

Ora puoi eseguire il DesktopAppConverter.ps1 script da una finestra di PowerShell dell'amministratore per convertire un'applicazione desktop in un'applicazione UWP in un unico comando. Per fare ciò è necessario il programma di installazione dell'applicazione. Ad esempio, utilizzeremo VLC qui.

Per visualizzare l'elenco dettagliato delle opzioni, è possibile eseguire il comando seguente in qualsiasi momento:

get-help .DesktopAppConverter.ps1 -detailed

Ecco un comando che puoi utilizzare e modificare per la tua applicazione:

.DesktopAppConverter.ps1 -ExpandedBaseImage C:ProgramDataMicrosoftWindowsImagesBaseImage-14316
 –Installer C:InstallerMyApp.exe -InstallerArguments "/S" -Destination C:OutputMyApp
 -PackageName "MyApp" -Publisher "CN=" -Version 0.0.0.1 -MakeAppx -Verbose

Dovrai modificare il comando per aggiungere il tuo nome editore, versione, nome del pacchetto e puntarlo sul file di installazione e sulla directory di destinazione che preferisci. Il -InstallerArguments "/S" qui l'opzione passa /S passare al programma di installazione, il che fa sì che molti programmi di installazione dell'applicazione vengano installati in modo silenzioso senza alcun input da parte dell'utente. Le applicazioni devono essere installabili senza alcun input dell'utente o non è possibile convertirle.

Il programma di installazione dell'applicazione dovrebbe trovarsi nella propria directory senza altri file, poiché i file nella stessa directory del programma di installazione verranno copiati nel pacchetto .appx risultante.

Ad esempio, stiamo usando VLC qui, quindi ecco il comando che useremmo:

.DesktopAppConverter.ps1 -ExpandedBaseImage C:ProgramDataMicrosoftWindowsImagesBaseImage-14316
 –Installer C:UserschrisDownloadsvlcvlc-2.2.2-win32.exe -InstallerArguments "/S" -Destination C:OutputVLC
 -PackageName "VLC" -Publisher "CN=VideoLAN" -Version 0.2.2.2 -MakeAppx -Verbose

Lo strumento ti darà un pacchetto .appx, che è la versione UWP dell'app.

Come installare l'app senza firmarla

Di solito sono richieste app di firma con una firma valida prima che possano essere installate. Microsoft consiglia di creare un certificato autofirmato e di firmare l'app con quella sul computer. Puoi farlo usando le istruzioni qui sotto, se vuoi.

Tuttavia, se desideri semplicemente installare l'app sul tuo computer, puoi farlo da solo più velocemente, senza interferire con le firme. Windows 10 ti consente di installare app senza firmarle se stai installando un'app “non compressa” da una directory.

Per fare ciò, aprire una finestra di PowerShell come amministratore ed eseguire il comando seguente:

Add-AppxPackage -Path C:PathtoAppxManifest.xml -Register

Troverai il file AppxManifest.xml accanto al file Application.appx nella directory di output che hai specificato.

Ora puoi avviare l'applicazione dal menu Start. Sarà un'app per Windows anziché un'app per desktop, ma sembrerà e funzionerà come una normale app per desktop.

Come firmare e installare l'app

Non è necessario seguire queste istruzioni se hai già installato l'applicazione. Questo è il modo più difficile.

Normalmente puoi installare un pacchetto .appx solo se ha una firma valida. Microsoft consiglia di utilizzare l'applicazione signtool.exe inclusa con l'SDK di Windows 10 per creare un certificato autofirmato, che consente di installare e testare l'applicazione sul proprio computer.

Basta aprire una finestra del prompt dei comandi come amministratore ed eseguire i comandi seguenti per creare un certificato autofirmato e firmare il pacchetto .appx con esso:

cd "C:Program Files (x86)Windows Kits10binx64"
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:Pathtoapplication.appx

Nota che l'editore specificato è quello "CN=Publisher" – deve corrispondere al publisher specificato in precedenza durante la creazione del file AppX. Quindi, continuando con il nostro esempio VLC dall'alto, dovremmo usare "CN=VideoLAN" .

Ti verrà chiesto di inserire una password. Puoi semplicemente lasciare vuota la password.

È ora possibile installare il pacchetto .appx in una finestra di PowerShell (amministratore) con il comando Add-AppxPackage:

Add-AppxPackage C:Pathtoapplication.appx

Questa funzione può essere utilizzata da chiunque, ma solo gli sviluppatori – e forse alcuni amministratori di sistema – vorranno seguire questa strada. Fortunatamente, il processo è estremamente semplice per gli sviluppatori.

LEAVE A REPLY

Please enter your comment!
Please enter your name here