Création d’un outil d’installation et de mise à jour d’applications Windows Modern Ui

Dans le cadre du déploiement d’une application métier développée sous Windows 8.1, vers une cinquantaine d’utilisateurs au cours du mois de mai dernier, nous nous sommes ainsi confrontés à la problématique du déploiement de l’application à nos utilisateurs, notamment de part l’absence de store d’entreprise.

A l’heure où je publie ce billet, Windows a annoncé un store pour les entreprises sur Windows 10, d’ici fin 2015.

En attendant, cette solution peut très bien s’appliquer à des applications sous Windows 10.

Sideloading

Une application prévue pour une organisation et non prévue pour le Windows Store est dite « Sideloaded« 
Bien que le store pour entreprise ne soit pas présent, Microsoft propose une solution de déploiement et mise à jour des applications Modern Ui : Microsoft Intune.
Cependant, après avoir testé cette solution sous tous ses angles, nous n’avons pas été convaincus de son utilisation.
En outre, l’une de nos problématiques, est que nos utilisateurs se situent aux quatre coins de la France.
Il nous fallait une solution sûre, sur laquelle nous puissions nous reposer entièrement.

Windows Store Updater (WSU)

WSU, est une application de déploiement et mise à jour d’applications Windows 8.
Initialement conçu pour notre projet et notre propre application, nous en avons fait une version plus factorisée disponible sous github via le lien suivant : https://github.com/gooodhub/windows-store-updater

Installer une application Windows 8

Afin d’installer une application Windows 8, il vous faudra jouer des scripts Powershell d’installation, parmi ceux-ci, vous retrouverez entre autre :
  • Ajout du certificat de l’application
    certutil.exe -addstore Root $certPath
  • Installation de l’application
    Add-AppxPackage $packagePath -ForceApplicationShutdown
    
  • Mise à jour des clés de registre

    Set-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsAppx -Name AllowAllTrustedApps -Value 1
 
Si vous êtes curieux, vous pouvez jeter un œil à l’ensemble des commandes Powershell jouées lorsque vous créez votre propre package d’application via Visual Studio.

Clés d’utilisation

Une fois ces scripts joués, votre application sera installée, cependant vos utilisateurs ne pourront pas utiliser l’application, au lancement de celle-ci, ils se retrouveront avec un écran les bloquant à l’accueil de l’application.
En effet, pour pouvoir utiliser une application sideloadée, donc en ne passant pas par le store, il vous faudra disposer de clés d’utilisation.
Deux formats de clés sont disponibles :
 
Clés développeurs (valides 6 mois) que vous pourrez utiliser pour tester le bon fonctionnement de votre application, 
  • Ce sont ces mêmes clés que Windows vous demande d’installer lorsque vous commencez le développement de votre application
Clés de sideload, ce sont les clés que vous installerez à vos utilisateurs pour qu’ils puissent utiliser votre application, pour plus d’information, Microsoft a publié une documentation sur celles-ci

Créer son package d’application Windows Modern Ui

Vous pouvez créer des packages de deux types à partir de votre application :
  • Packages pour Windows Store
  • Packages de votre application, non prévu pour Windows Store
Ici c’est le second qui va nous intéresser et que nous déploierons chez nos utilisateurs.
Pour cela, depuis Visual Studio, faites un clic droit sur votre solution windows 8.1, puis dans la partie « Store » déployez pour afficher les options et choisissez « Create App Packages »
Une nouvelle fenêtre vous demandera alors si vous désirez publier vos packages sur Windows Store, choisissez « Non »

Vous aurez alors accès à une fenêtre vous proposant de définir l’endroit où sera créé le package, son numéro de version ainsi que l’architecture de déploiement spécifiée.

Une fois ces informations saisies, cliquez sur « Create »

ClickOnce

La problématique du déploiement d’applications windows 8 étant résolue, il nous reste à savoir comment déployer l’application qui permettra d’installer celle-ci.

ClickOnce est un outil fourni par Microsoft permettant de mettre à jour et d’installer simplement les applications en un minimum de clics des utilisateurs.

Vous avez sûrement déjà eu l’occasion de le voir par cette fenêtre

Dans notre cas, nous nous sommes penchés sur une application WPF par la création de WSU, et celles-ci sont très facilement déployables et maintenables à l’aide de ClickOnce.

Solution finale

En définitive, nous avons fait le choix d’implémenter :
  • Une solution ClickOnce hébergée sous Azure permettant de mettre à jour l’installeur d’applications Modern Ui.
  • Un installeur d’application allant récupérer la version actuelle du package installé, recherche et télécharge la dernière version et l’installe automatiquement à l’utilisateur
  • Une application Modern Ui recherchant elle-même si elle a besoin d’être mise à jour et propose à l’utilisateur d’installer celle-ci via WSU

Sources du projet

Si vous aussi, vous voulez vous lancer dans l’aventure d’un outil de déploiement d’applications Modern Ui maison, nous avons mis à disposition sur github les sources du projet

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s