Avec la mise à jour anniversaire de Windows 10, Microsoft permet aux développeurs de convertir les applications de bureau Windows traditionnelles en applications de la plateforme Windows universelle (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 package .appx. Vous pouvez ensuite charger cette application sur votre propre PC ou, si vous êtes le développeur de l’application, vous pouvez soumettre l’application UWP résultante au Windows Store. Cette fonctionnalité arrivera pour tout le monde avec la mise à jour anniversaire de Windows 10, apportant de nombreuses applications «héritées» au Windows Store.
Pourquoi vous voudriez faire cela
Cette fonctionnalité est le résultat final du projet du centenaire de Microsoft, qui est conçu pour apporter ces applications de bureau Windows «héritées» Win32 et .NET au Windows Store et à la nouvelle plate-forme Windows universelle.
Vous vous demandez peut-être 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’yeux sur leurs applications, sans parler de l’installation en un seul clic, des achats faciles et des mises à jour automatiques.
La nouvelle plate-forme d’applications UWP de Microsoft est en bac à sable, mais les applications de bureau que vous convertissez ne le sont pas. Ces applications auront un accès complet à votre système, tout comme une application de bureau traditionnelle. Comme Documentation de Microsoft dit: «En tant qu’application UWP, votre application est capable de faire les choses qu’elle pourrait faire en tant qu’application de bureau classique. Il interagit avec une vue virtualisée du registre et du système de fichiers qui ne se distingue pas du registre et du système de fichiers réels. »
Les limites
Il y a ici quelques limitations importantes. Tout d’abord, vous ne pouvez le faire que sur la mise à jour anniversaire de Windows 10. Pour l’instant, cela fonctionnera avec Windows 10 Insider Preview build 14316 et supérieur, 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 Famille ne pourront pas utiliser Desktop App Converter. À partir de la build 14316, cela ne fonctionnait que sur Windows 10 Entreprise, mais la prise en charge de 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. Cependant, si vous êtes un développeur, Microsoft propose un moyen de transformer votre application de bureau en une application UWP multiplateforme: «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 partition de conteneur d’application, votre application pourra alors s’exécuter sur n’importe quel appareil Windows 10. »
Cependant, certains types de comportement d’application ne sont pas pris en charge. Une application ne peut pas exiger qu’elle soit exécutée en tant qu’administrateur ou utiliser d’autres types d’accès système de bas niveau. Microsoft fournit une liste de comportements qui ne sont pas autorisés.
Comment configurer le convertisseur d’application de bureau
En supposant que vous utilisez une version suffisamment nouvelle de Windows 10 Insider Preview, vous pouvez télécharger et installer le Convertisseur d’applications de bureau à partir du site des développeurs 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 avec le bouton droit sur son raccourci et 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.
Set-ExecutionPolicy bypass
Exécutez la commande ci-dessous, en remplaçant C:UsersNAMEDownloadsDesktopAppConvertor
avec le chemin du répertoire sur votre ordinateur:
cd -Path C:UsersNAMEDownloadsDesktopAppConvertor
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 exécutez à nouveau la commande.
Comment convertir une application de bureau
Vous pouvez maintenant exécuter le DesktopAppConverter.ps1
script à partir d’une fenêtre Administrateur PowerShell pour convertir une application de bureau en application UWP en une seule commande. Vous aurez besoin du programme d’installation de l’application pour ce faire. À titre d’exemple, nous utiliserons VLC ici.
Pour afficher la liste détaillée des options, vous pouvez exécuter la commande suivante à tout moment:
get-help .DesktopAppConverter.ps1 -detailed
Voici une commande que vous pouvez utiliser et ajuster pour votre application:
.DesktopAppConverter.ps1 -ExpandedBaseImage C:ProgramDataMicrosoftWindowsImagesBaseImage-14316 –Installer C:InstallerMyApp.exe -InstallerArguments "/S" -Destination C:OutputMyApp -PackageName "MyApp" -Publisher "CN=<publisher_name>" -Version 0.0.0.1 -MakeAppx -Verbose
Vous devrez ajuster la commande pour ajouter votre propre nom d’éditeur, la version, le nom du package et le pointer vers le fichier d’installation et le répertoire de destination que vous préférez. le -InstallerArguments "/S"
option ici passe le /S
basculez vers le programme d’installation, ce qui oblige de nombreux installateurs d’applications à s’installer silencieusement sans aucune intervention de l’utilisateur. Les applications doivent être installables sans aucune intervention de l’utilisateur ou vous ne pouvez pas les convertir.
Le programme d’installation de l’application doit être 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: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
L’outil vous donnera un package .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-ci sur votre ordinateur. Vous pouvez le faire en suivant les instructions ci-dessous, si vous le souhaitez.
Cependant, si vous souhaitez simplement installer l’application sur votre propre ordinateur, vous pouvez le faire vous-même plus rapidement, sans modifier aucune signature. Windows 10 vous permet d’installer des applications sans les signer si vous installez une application «non empaqueté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:PathtoAppxManifest.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 autrement elle ressemblera et fonctionnera comme 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 la manière la plus difficile.
Vous ne pouvez normalement installer un package .appx que s’il possède une signature valide. Microsoft recommande d’utiliser l’application signtool.exe incluse 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 commandes en tant qu’administrateur et exécutez les commandes suivantes pour créer un certificat auto-signé et signer le package .appx avec:
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
Notez que l’éditeur que vous spécifiez, c’est le "CN=Publisher"
–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 ci-dessus, nous devrons 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) avec la commande Add-AppxPackage:
Add-AppxPackage C:Pathtoapplication.appx
Cette fonctionnalité peut être utilisée par n’importe qui, mais seuls les développeurs – et peut-être certains administrateurs système – voudront suivre cette voie. Heureusement, le processus est extrêmement simple pour les développeurs.