Con Aggiornamento dell'anniversario di Windows 10 , Microsoft consente agli sviluppatori di convertire le tradizionali applicazioni desktop Windows in applicazioni UWP (Universal Windows Platform). Ma chiunque può farlo con qualsiasi app, non solo con gli sviluppatori.
Con il convertitore di Windows 10, dagli un file .msi o .exe e verrà emesso un pacchetto .appx. Puoi quindi caricare lateralmente questa app sul tuo PC oppure, se sei lo sviluppatore dell'applicazione, puoi inviare l'app UWP risultante a Windows Store. Questa funzionalità arriverà per tutti con l'Aggiornamento dell'anniversario di Windows 10, portando molte applicazioni "legacy" a Windows Store .
Perché dovresti farlo
RELAZIONATO: Novità nell'aggiornamento dell'anniversario di Windows 10
Questa funzionalità è il risultato finale del Project Centennial di Microsoft, progettato per portare le applicazioni desktop Windows "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, solo le app UWP sono consentite in Windows Store. Ciò consente agli sviluppatori di avere molti più occhi sulle loro app, per non parlare dell'installazione con un solo clic, degli acquisti facili e degli aggiornamenti automatici.
La nuova piattaforma applicativa UWP di Microsoft è in modalità sandbox, ma le app desktop convertite non lo sono. Queste applicazioni avranno pieno accesso al tuo sistema, proprio come una tradizionale applicazione desktop. Come Microsoft’s documentation afferma: "In quanto 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 che è indistinguibile dal registro e dal file system effettivi. "
Le limitazioni
RELAZIONATO: Come diventare un Windows Insider e testare le nuove funzionalità di Windows 10
Ci sono alcune importanti limitazioni qui. Innanzitutto, puoi farlo solo sull'aggiornamento dell'anniversario di Windows 10. Per ora, funziona con Windows 10 Insider Preview build 14316 e versioni successive, quindi dovrai aderire al programma Windows Insider e usa una build Insider Preview di Windows 10 .
Questa funzione richiede anche le edizioni 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 è in arrivo il supporto per Windows 10 Professional. 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 ai PC Windows 10. Non funzioneranno su smartphone Windows 10 Mobile, Xbox One, HoloLens, Surface Hub e altre piattaforme Windows 10 che eseguono app UWP. Tuttavia, se sei uno sviluppatore, Microsoft offre un percorso per inserire la tua applicazione desktop in un'applicazione UWP multipiattaforma: "Se scegli di spostare tutte le funzionalità della tua app dalla partizione con attendibilità totale dell'app e nella la partizione del contenitore dell'app, la tua app potrà essere eseguita 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 che non sono consentiti .
Come impostare il convertitore di app desktop
Supponendo che tu stia utilizzando una build abbastanza nuova di Windows 10 Insider Preview, puoi scaricare e installare il file Convertitore di app desktop dal sito degli sviluppatori di Microsoft. Scarica 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 vedere 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 il file Windows 10 SDK .
Quindi, apri una finestra di PowerShell come amministratore. Per fare ciò, apri il menu Start, cerca "PowerShell", fai clic con il pulsante destro del mouse sul collegamento e seleziona "Esegui come amministratore".
Modifica i criteri di esecuzione di PowerShell eseguendo il comando seguente. Accetta la modifica digitando
Y
in seguito.
Set-ExecutionPolicy bypass
Esegui il comando seguente, sostituendo
C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
con il percorso della directory sul tuo computer:
cd -Path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
Configura il convertitore di app desktop eseguendo il comando seguente:
.\DesktopAppConverter.ps1 -Setup -BaseImage .\BaseImage-14316.wim
Se ti viene chiesto di riavviare durante l'esecuzione di uno di questi comandi, riavvia il computer e quindi esegui di nuovo il comando.
Come convertire un'applicazione desktop
Ora puoi eseguire il file
DesktopAppConverter.ps1
script da una finestra di PowerShell dell'amministratore per convertire un'applicazione desktop in un'applicazione UWP con un singolo comando. Avrai bisogno del programma di installazione dell'applicazione per farlo. Ad esempio, useremo VLC qui.
Per visualizzare l'elenco dettagliato delle opzioni, puoi eseguire il seguente comando in qualsiasi momento:
get-help. \ DesktopAppConverter.ps1 -detailed
Ecco un comando che puoi utilizzare e modificare per la tua applicazione:
. \ 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 = <publisher_name>" -Version 0.0.0.1 -MakeAppx -Verbose
Dovrai modificare il comando per aggiungere il nome del tuo editore, la versione, il nome del pacchetto e indirizzarlo al file di installazione e alla directory di destinazione che preferisci. Il
-InstallerArguments "/ S"
opzione qui passa il
/S
passare al programma di installazione, che consente a molti programmi di installazione di applicazioni di installarsi silenziosamente senza alcun input 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, qui stiamo usando VLC, quindi ecco il comando che useremmo:
. \ 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
Lo strumento ti darà un pacchetto .appx, che è la versione UWP dell'app.
Come installare l'app senza firmarla
Normalmente è necessario firmare le app con una firma valida prima che possano essere installate. Microsoft consiglia di creare un certificato autofirmato e di firmare l'app con quello sul tuo computer. Puoi farlo utilizzando le istruzioni seguenti, se lo desideri.
Tuttavia, se vuoi solo 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 pacchettizzata" da una directory.
Per fare ciò, apri una finestra di PowerShell come amministratore ed esegui il seguente comando:
Aggiungi-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Register
Troverai il file AppxManifest.xml accanto al file Application.appx nella directory di output che hai specificato.
È ora possibile avviare l'applicazione dal menu Start. Sarà una "app di Windows" invece di una "app desktop", ma per il resto apparirà e funzionerà come una normale app 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 Windows 10 SDK per creare un certificato autofirmato, che consentirà di installare e testare l'applicazione sul proprio computer.
Basta aprire una finestra del prompt dei comandi come amministratore ed eseguire i seguenti comandi per creare un certificato autofirmato e firmare con esso il pacchetto .appx:
cd "C: \ Programmi (x86) \ Windows Kits \ 10 \ 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 segno -f my.pfx -fd SHA256 -v C: \ Path \ to \ application.appx
Tieni presente che l'editore che specifichi, questo è il
"CN=Publisher"
- deve corrispondere all'editore 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 la password vuota.
È ora possibile installare il pacchetto .appx in una finestra di PowerShell (amministratore) con il comando Add-AppxPackage:
Aggiungi-AppxPackage C: \ Path \ to \ application.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.