Comment convertir une application de bureau Windows en une application Windows universelle
Avec la mise à jour anniversaire de Windows 10, Microsoft permet aux développeurs de convertir les applications de bureau Windows traditionnelles en applications Windows universelles (UWP). Mais tout le monde peut le faire avec n'importe quelle application, pas seulement les développeurs..
Avec le convertisseur de Windows 10, donnez-lui simplement un fichier .msi ou .exe et il crachera un paquet .appx. Vous pouvez ensuite charger latéralement cette application sur votre propre PC ou, si vous êtes le développeur de l'application, vous pouvez soumettre l'application UWP obtenue au Windows Store. Cette fonctionnalité arrivera à tout le monde avec la mise à jour anniversaire de Windows 10, apportant de nombreuses applications «héritées» au Windows Store..
Pourquoi tu veux faire ça
Cette fonctionnalité est le résultat final de Project Centennial de Microsoft, conçu pour intégrer ces applications de bureau Windows "traditionnelles" sous Win32 et .NET au Windows Store et à la nouvelle plate-forme universelle Windows..
Vous pourriez vous demander pourquoi quelqu'un voudrait convertir une application de bureau en une nouvelle application UWP. D'une part, seules les applications UWP sont autorisées dans le Windows Store. Cela permet aux développeurs d’avoir beaucoup plus d’œil sur leurs applications, sans parler de l’installation en un seul clic, de la facilité d’achat et des mises à jour automatiques..
La nouvelle plate-forme d’application UWP de Microsoft est en mode bac à sable, mais pas les applications de bureau que vous convertissez. Ces applications auront un accès complet à votre système, tout comme une application de bureau traditionnelle. Comme le dit la documentation de Microsoft: «En tant qu'application UWP, votre application est capable de faire ce qu'elle pourrait faire comme une application de bureau classique. Il interagit avec une vue virtualisée du registre et du système de fichiers impossible à distinguer du registre et du système de fichiers réels. ”
Les limites
Il y a quelques limitations importantes ici. Tout d'abord, vous ne pouvez le faire que sur la mise à jour d'anniversaire de Windows 10. Pour l'instant, cela fonctionnera avec Windows 10 Insider Preview version 14316 et ultérieure, vous devrez donc rejoindre le programme Windows Insider et utiliser une version Insider Preview de Windows 10..
Cette fonctionnalité nécessite également les éditions Professionnel ou Entreprise de Windows 10. Les utilisateurs de Windows 10 Home ne pourront pas utiliser Desktop App Converter. À partir de la version 14316, cela ne fonctionnait que sous Windows 10 Entreprise, mais le support pour Windows 10 Professionnel est à venir. Actuellement, cet outil ne peut être utilisé que sur les versions 64 bits de Windows et le package AppX résultant ne peut être installé que sur les versions 64 bits de Windows. Cela changera dans les futures versions Insider de Windows 10.
Les applications résultantes sont destinées aux PC Windows 10. Ils ne fonctionneront pas sur les smartphones Windows 10 Mobile, Xbox One, HoloLens, Surface Hub et les autres plates-formes Windows 10 qui exécutent des applications UWP. Toutefois, si vous êtes développeur, Microsoft vous propose un moyen d’intégrer votre application de bureau dans une application UWP multiplate-forme: «Si vous choisissez de déplacer toutes les fonctionnalités de votre application hors de la partition de confiance totale de l’application et dans le dossier de stockage. partition du conteneur d’applications, votre application pourra alors être exécutée sur n’importe quel périphérique Windows 10. ”
Cependant, certains types de comportement d'application ne sont pas pris en charge. Une application ne peut pas nécessiter son exécution en tant qu'administrateur ou l'utilisation d'autres types d'accès système de bas niveau. Microsoft fournit une liste de comportements non autorisés..
Comment configurer le convertisseur d'applications de bureau
En supposant que vous utilisez une version suffisamment récente de Windows 10 Insider Preview, vous pouvez télécharger et installer Desktop App Converter à partir du site de développement de Microsoft. Téléchargez les fichiers DesktopAppConverter.zip et BaseImage-14316.wim. Extrayez le fichier DesktopAppConverter.zip téléchargé dans un dossier de votre ordinateur et placez le fichier BaseImage dans le même répertoire. (Si une nouvelle version de Windows 10 est disponible, vous devriez voir un nouveau fichier BaseImage. Vous devrez utiliser le fichier BaseImage avec le même numéro de version que votre version installée de Windows 10.)
Vous devrez également télécharger et installer le SDK Windows 10..
Ensuite, ouvrez une fenêtre PowerShell en tant qu’administrateur. Pour ce faire, ouvrez le menu Démarrer, recherchez «PowerShell», cliquez dessus avec le bouton droit de la souris, puis sélectionnez «Exécuter en tant qu'administrateur».
Modifiez la stratégie d'exécution de PowerShell en exécutant la commande suivante. Acceptez le changement en tapant y
ensuite.
Contournement Set-ExecutionPolicy
Exécutez la commande ci-dessous en remplaçant C: \ Utilisateurs \ NOM \ Téléchargements \ DesktopAppConvertor
avec le chemin du répertoire sur votre ordinateur:
cd -Path C: \ Utilisateurs \ NOM \ Téléchargements \ DesktopAppConvertor
Configurez Desktop App Converter en exécutant la commande suivante:
.\ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim
Si vous êtes invité à redémarrer lors de l'exécution de l'une de ces commandes, redémarrez votre ordinateur, puis réexécutez la commande..
Comment convertir une application de bureau
Vous pouvez maintenant exécuter le DesktopAppConverter.ps1
script depuis une fenêtre Administrateur PowerShell pour convertir une application de bureau en une application UWP en une seule commande. Pour ce faire, vous aurez besoin du programme d'installation de l'application. Par exemple, nous allons utiliser VLC ici.
Pour afficher la liste détaillée des options, vous pouvez exécuter la commande suivante à tout moment:
get-help. \ DesktopAppConverter.ps1 -détailed
Voici une commande que vous pouvez utiliser et ajuster pour votre application:
.\ DesktopAppConverter.ps1-ExpandBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destination C: \ Output \ MyApp -PackageName "MyApp" - Publisher "CN =" -Version 0.0.0.1 -MakeAppx -Verbose
Vous devrez ajuster la commande pour ajouter votre propre nom d'éditeur, votre version, votre nom de package et le pointer vers le fichier d'installation et le répertoire de destination que vous préférez. le -InstallerArguments "/ S"
l'option passe ici la / S
passez au programme d'installation, ce qui oblige de nombreux installateurs à installer en mode silencieux sans intervention de l'utilisateur. Les applications doivent pouvoir être installées sans aucune intervention de l'utilisateur, sinon vous ne pouvez pas les convertir..
Le programme d'installation de l'application doit se trouver dans son propre répertoire, sans aucun autre fichier, car les fichiers du même répertoire que le programme d'installation seront copiés dans le package .appx résultant..
Par exemple, nous utilisons VLC ici, alors voici la commande que nous utiliserions:
.\ 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
L'outil vous donnera un paquet .appx, qui est la version UWP de l'application..
Comment installer l'application sans la signer
Vous devez normalement signer des applications avec une signature valide avant de pouvoir les installer. Microsoft recommande de créer un certificat auto-signé et de signer l'application avec celui de votre ordinateur. Vous pouvez le faire en suivant les instructions ci-dessous, si vous le souhaitez.
Toutefois, si vous souhaitez simplement installer l'application sur votre propre ordinateur, vous pouvez le faire vous-même plus rapidement, sans jouer avec les signatures. Windows 10 vous permet d'installer des applications sans les signer si vous installez une application «décompactée» à partir d'un répertoire.
Pour ce faire, ouvrez une fenêtre PowerShell en tant qu'administrateur et exécutez la commande suivante:
Add-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Register
Vous trouverez le fichier AppxManifest.xml à côté du fichier Application.appx dans le répertoire de sortie que vous avez spécifié..
Vous pouvez maintenant lancer l'application à partir de votre menu Démarrer. Ce sera une "application Windows" au lieu d'une "application de bureau", mais cela ressemblera autrement à une application de bureau normale..
Comment signer et installer l'application
Vous n'avez pas besoin de suivre ces instructions si vous avez déjà installé l'application. C'est le moyen le plus difficile.
Vous ne pouvez normalement installer un package .appx que s'il possède une signature valide. Microsoft recommande l’utilisation de l’application signtool.exe fournie avec le SDK Windows 10 pour créer un certificat auto-signé, qui vous permettra d’installer et de tester l’application sur votre propre ordinateur..
Ouvrez simplement une fenêtre d'invite de commande en tant qu'administrateur et exécutez les commandes suivantes pour créer un certificat auto-signé et signer le package .appx avec celui-ci:
cd "C: \ Fichiers de programme (x86) \ Kits Windows \ 10 \ bin \ x64"
MakeCert.exe -r -h 0 -n "CN = Éditeur" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer
pvk2pfx.exe -pvk mon.pvk -spc mon.cer -pfx mon.pfx
signtool.exe signe -f mon.pfx -fd SHA256 -v C: \ chemin \ vers \ application.appx
Notez que l'éditeur que vous spécifiez, c'est le "CN = Editeur"
-doit correspondre à l'éditeur que vous avez spécifié précédemment lors de la création du fichier AppX. Donc, en continuant avec notre exemple VLC d’en haut, nous devrions utiliser "CN = VideoLAN"
.
Vous serez invité à entrer un mot de passe. Vous pouvez simplement laisser le mot de passe vide.
Vous pouvez maintenant installer le package .appx dans une fenêtre PowerShell (administrateur) à l'aide de la commande Add-AppxPackage:
Add-AppxPackage C: \ Path \ to \ application.appx
Cette fonctionnalité peut être utilisée par n'importe qui, mais seuls les développeurs, et peut-être certains administrateurs système, voudront emprunter cette voie. Heureusement, le processus est extrêmement facile pour les développeurs.