Développer des applications pour UWP (Universal Windows Platform)

Je cherche à configurer une machine windows pour développer des applications logicielles avec Visual Studio et UWP.(Universal Windows Platform).

Ce matin dans l'installeur de mon Visual Studio, je coche donc la case pour Modifier l'installation de mon Visual Studio :

Développement pour la plateforme Windows Universelle
Développement pour la plateforme Windows Universelle

Qu'est ce qu'il va falloir que je fasse, sur quel piège vais-je encore tomber pour développer des applications du type UWP ?

Développer pour UWP - Installation

Et me voilà parti pour développer de magnifique application Windows Universelles mais en écrivant cela je me rends compte du paradoxe Universelle et Windows ne devrait pas se trouver dans la même phrase !

Learn - Microsoft - Développer des applications pour la plateforme Windows universelle (UWP)

Au bout de 20 minutes d'installation :

Créer une application UWP avec Visual Studio
Créer une application UWP avec Visual Studio

Je ne pensais pas que l'installeur déciderait tout seul de supprimer .NET Core 3.1. Est ce que cela signifie que l'on ne peut pas développer pour WPF et UWP sur la même machine de Dev ?!

Développer pour UWP - Premier Template

Je créé enfin mon premier Template UWP :

UWP - Création de mon premier Template d'application

Déjà un choix à faire dans les version de Windows cible et version minimale ... Les listes déroulantes montrent une bonne dizaine d'items !

Je clique sur OK :

UWP - Création de mon premier Template d'application
UWP - Création de mon premier Template d'application

Je clique sur le Desinger de la page MainPage.xaml pour voir un peu la tête que ça à :

UWP - Création de mon premier Template d'application
UWP - Création de mon premier Template d'application

Et booouuuummmm !!! Ça recommence, j'en ai marre de ces applications de m...bip !

J'ai une machine configurée pour faire du développement, j'étais en train de développer en C#.NET pour WPF mais non cela ne suffit pas.

UWP - Activer le Mode développeur

Il faut activer le mode Développeur ! Alors, comment activer le Mode Développeur et bien lorsque vous essayez quand même d'exécuter l'application que vous venez de créer dans l'environnement de développement que vous venez d'installer, vous obtenez une belle fenêtre de configuration de votre Windows :

Développement d'application UWP - Activer le mode développeur !
Développement d'application UWP - Activer le mode développeur !

Je tente de cocher la case : "Mode développeur". Et boum !

Développement d'application UWP - Activer le mode développeur !
Développement d'application UWP - Activer le mode développeur !

C'est infernale, on dirait un jouet pour les enfants avec des pop-up de recommandation, des mises en garde, franchement c'est moyen. Il va falloir maintenant en savoir plus sur ce "Mode développeur" nouveau sur les plateformes Windows.

Ai-je le choix ?

Non, alors je clique sur "Oui".

Exécuter ma première application Template Vide

Après avoir coché la case "Mode développeur" je ferme et relance mon Visual Studio qui était planté c'est mieux pour qu'il prenne en compte la case à cocher "Mode développeur". 

Je clique à nouveau sur la vue Design de la page UWP MainPage.xaml et je peux voir le Design de la page qui va s'adapter à toutes les plateformes Windows :

UWP - Mon premier Template d'application vide
UWP - Mon premier Template d'application vide

Je clique sur la petite flèche verte pour lancer l'exécution de ma première application template vide UWP :

UWP - Exécution de ma première application template

Cela fonctionne et s'exécute c'est magnifique !

UWP - Développer une application - Conclusion

Ça fonctionne ! On est mieux qu'en 2018 dans :

C# .NET: Obtenir un environnement de développement Windows 10 - UWP

Où c'était impossible et ce sont les améliorations de Windows 10 et Windows 11 et des frameworks .NET qui permettent maintenant d'installer correctement un environnement de développement UWP.

Mais pour .NET Core 3.1 : Pour l'instant c'est clairement la catastrophe, en installant Universal Windows Platform development le .NET Framework Core 3.1 à disparu, tout simplement, aucune de mes applications WPF ne fonctionnent plus. Mais j'ai bon espoir ... d'y arriver à nouveau ;-)

Je vais maintenant faire deux choses. Regarder dans les Samples UWP pour essayer de compiler/exécuter l'un d'entre eux. Et je vais voir quel SDK Framework réinstaller pour continuer de travailler avec WPF et Visual Studio 2019.

Espace Github des Windows Universal Samples

Je vais regarder les UWP Samples pour essayer de les faire exécuter sur ma plateforme de développement :

Windows-universal-samples/Samples at main · microsoft/Windows-universal-samples

Je télécharge, je dézippe, je cherche un projet à compiler/exécuter :

Universal Windows Platform with Visual Studio 2019 community
Universal Windows Platform with Visual Studio 2019 community

Ok, je cible le framework installé.

Je tente de compiler le projet -> Ok

Je tente d'exécuter le Sample UWP - 3D Printig :

UWP - Échec de la connexion à l'appareil '127.0.0.1' à l'aide de l'authentification universelle.
UWP - Échec de la connexion à l'appareil '127.0.0.1' à l'aide de l'authentification universelle.

Gravité Code Description Projet Fichier Ligne État de la suppression
Erreur DEP6957 : Échec de la connexion à l'appareil '127.0.0.1' à l'aide de l'authentification universelle. Vérifiez que le mode d'authentification distant approprié est spécifié dans les paramètres de débogage du projet. COMException - Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée. (Exception de HRESULT : 0x8007274D) [0x8007274D] 3DPrinting

Bon ! ...

.NET 6.0 pour développer en WPF avec Visual Studio 2019

Et je vais essayer de passer au .NET 5.0 ou 6.0 ou x.x peu m'importe pour refaire fonctionner mes applications WPF sur ma plateforme de développement Visual Studio 2019.

\Visual Studio 2019\Samples\WPF-Samples\Events\CustomRoutedEvents\CustomRoutedEvents.csproj : error : Impossible d'ouvrir le fichier projet. La version 6.0.405 du SDK .NET nécessite au moins la version 17.0.0 de MSBuild. La dernière version disponible de MSBuild est 16.11.2.50704. Remplacez le SDK .NET spécifié dans global.json par une ancienne version qui nécessite la version de MSBuild actuellement disponible.

Oh bas mince alors !

.NET 6.0 c'est clairement avec Visual Studio 2022 et MSBuild 17.0.0 exit VS 2019 ! 

Pour pouvoir continuer à développer des application WPF avec Visual Studio 2019, il faudra réinstaller le :

.NET Core 3.1

J'espère que cela vous a plu, Have fun!

UWP - Exécutable qui ne s'exécute pas

Vous avez, comme moi trouvé, téléchargé, dézippé, démarré, exécuté un bel exemple d'application UWP le PhotoLab :

Vous avez générez votre application en Release et vous avez un fichier exécutable :

\\Visual Studio 2019\Samples\Windows-appsample-photo-lab-master\PhotoLab\bin\x86\Release\PhotoLab.exe

Mais vous avez un problème avec car quand vous double-cliquez sur l’exécutable, rien ne se passe ! 

Alors, j'ai même tenté d'exécuter cette application sur une bonne vieille plateforme Windows 7 pour obtenir enfin un message :

UWP - Executable non valide - PhotoLab.exe n'est pas une application Win32 valide.
UWP - Executable non valide - PhotoLab.exe n'est pas une application Win32 valide.

Je plus gros du délire, c'est que vous avez une explication dans Microsoft Developer Network :

UWP : Mon .exe ne semble pas marché correctement

Nina Zaekova vous explique avec la plus grande désinvolture qu'un exécutable UWP s'exécute dans une sorte de Sandbox et donc que l'on en peut pas cliquer directement sur un exécutable UWP mais cela ne vous dit pas comment faire.

Formidable, alors comment je livre à mon client ?

C'est complètement idiot de ne pas avoir au moins une DialogBox qui vous prévienne que vous ne pouvez pas exécuter cet exécutable UWP sur une machine Windows.

Et sinon alors comment faire ? Pour Nina Zaekova, la réponse est : démerdez-vous !

Le début de la solution Ici :

Microsoft Learn - Empaquetage d’applications - UWP applications

La suite de la solution pour exécuter votre application UWP sous Windows Ici :

Microsoft Learn -Empaqueter une application de bureau ou UWP dans Visual Studio
Clique-droit sur le projet -> Publier -> Associer l'application au Store..., Convertir le fichier Content Group Map, Créer des packages d'application...

Et vous rentrez dans l'enfer du Microsoft Store, vous pouvez également créer un certificat auto-signé.

Accès au répertoire WindowsApps de votre exécutable UWP

Pour accéder au répertoire d'installation des applications UWP c'est Ici :

Administration Windows - Accédez au répertoire WindowsApps activer le compte Administrateur Windows 11

Et vous pourrez par exemple coller un raccourcis de votre application sur votre bureau.

Don't forget to have fun!

Aucun commentaire:

Enregistrer un commentaire

Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.