Homepage » come » Come convertire un'applicazione desktop Windows in un'applicazione Windows universale

    Come convertire un'applicazione desktop Windows in un'applicazione Windows universale

    Con l'Aggiornamento Anniversario di Windows 10, Microsoft consente agli sviluppatori di convertire le tradizionali applicazioni desktop Windows in applicazioni Universal Windows Platform (UWP). 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 sputerà un pacchetto .appx. È quindi possibile caricare l'app sul PC, oppure, se si è lo sviluppatore dell'applicazione, è possibile inviare l'app UWP risultante a Windows Store. Questa funzione arriverà per tutti con l'Aggiornamento Anniversario di Windows 10, portando molte applicazioni "legacy" a Windows Store.

    Perché dovresti farlo

    Questa funzione è il risultato finale del Project Centennial di Microsoft, progettato per portare quelle "legacy" applicazioni desktop Windows Win32 e .NET a Windows Store e alla nuova Universal Windows Platform.

    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 che hai convertito non lo sono. 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 una classica app desktop. Interagisce con una vista virtualizzata del registro e del file system che è indistinguibile dal registro e dal file system effettivi. "

    Le limitazioni

    Ci sono alcune limitazioni importanti qui. Per prima cosa, puoi farlo solo nell'aggiornamento di Windows 10 Anniversary. Per ora, funzionerà con Windows 10 Insider Preview build 14316 e versioni successive, quindi dovrai unirti al programma Windows Insider e utilizzare una versione di Insider Preview di Windows 10.

    Questa funzione richiede anche l'edizione Professional o Enterprise di Windows 10. Gli utenti di Windows 10 Home non saranno in grado di utilizzare Desktop App Converter. A partire dalla build 14316, ha funzionato 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 di 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 portare la tua applicazione desktop in un'applicazione UWP multipiattaforma: "Se scegli di spostare tutte le funzionalità della tua app dalla partizione piena attendibilità dell'app e partizione del contenitore dell'app, quindi 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 non consentiti.

    Come impostare il convertitore di app desktop

    Supponendo che si stia utilizzando una versione abbastanza nuova di Windows 10 Insider Preview, è possibile scaricare e installare Desktop App Converter dal sito per gli 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 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 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 pulsante destro del suo collegamento e seleziona "Esegui come amministratore".

    Modifica il criterio di esecuzione di PowerShell eseguendo il seguente comando. Accettare il cambiamento digitando y in seguito.

    Set-ExecutionPolicy bypass

    Esegui il comando qui sotto, sostituendo C: \ Users \ Nome \ Download \ DesktopAppConvertor con il percorso della directory sul tuo computer:

    cd -Path C: \ Users \ NAME \ Download \ DesktopAppConvertor

    Configurare il convertitore di app desktop eseguendo il seguente comando:

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

    Se ti viene chiesto di riavviare mentre esegui uno di questi comandi, riavvia il computer e poi esegui di nuovo 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 singolo comando. Avrai bisogno del programma di installazione dell'applicazione per farlo. Ad esempio, useremo VLC qui.

    Per visualizzare l'elenco dettagliato delle opzioni, è possibile 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" -Destinazione C: \ Output \ MyApp -PackageName "MyApp" - Publisher "CN =" -Version 0.0.0.1 -MakeAppx -Verbose

    Dovrai modificare il comando per aggiungere il nome del publisher, la versione, il nome del pacchetto e puntarlo nel file di installazione e nella directory di destinazione che preferisci. Il -InstallerArguments "/ S" l'opzione qui passa il /S passare al programma di installazione, il che rende l'installazione di molti programmi di installazione invisibile all'utente 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 deve 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: \ 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 firmarlo

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

    Tuttavia, se si desidera installare l'app sul proprio computer, è possibile farlo da soli più velocemente, senza compromettere alcuna firma. Windows 10 ti consente di installare app senza firmarle se installi un'applicazione "non compressa" 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

    Troverete il file AppxManifest.xml accanto al file Application.appx nella directory di output specificata.

    È ora possibile avviare l'applicazione dal menu Start. Sarà una "app per Windows" invece di una "app per desktop", ma altrimenti funzionerà come una normale app desktop.

    Come firmare e installare l'app

    Non hai bisogno di 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 nell'SDK di Windows 10 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 il pacchetto .appx con esso:

    cd "C: \ Programmi (x86) \ Kit di Windows \ 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 sign -f my.pfx -fd SHA256 -v C: \ Path \ to \ application.appx

    Nota che il publisher che hai specificato è il "CN = Editore" -deve corrispondere al publisher specificato in precedenza durante la creazione del file AppX. Quindi, continuando con il nostro esempio VLC di cui sopra, dovremmo usare "CN = VideoLAN" .

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

    È ora possibile installare il pacchetto .appx in una finestra di PowerShell (amministratore) con il comando Aggiungi-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 facile per gli sviluppatori.