La situation
Une application métier essentielle était la dernière application qui exigeait encore une installation manuelle par l’équipe informatique. Elle n’était plus prise en charge, ses options de déploiement étaient limitées et la procédure comportait des étapes avant et après redémarrage, aussi bien dans le contexte machine que dans celui de l’utilisateur. À première vue, une excellente candidate pour qu’on la laisse tranquille.
Ce que j’ai découvert
L’installateur de l’éditeur n’était qu’une partie de la procédure réelle. Il fallait placer correctement les bibliothèques d’exécution (DLL), appliquer les paramètres du Registre Windows au niveau de la machine, redémarrer le poste puis lancer l’application une première fois avec élévation de privilèges, puis appliquer les paramètres utilisateur aux profils existants. La désinstallation posait un autre problème : les boîtes de dialogue de l’éditeur devaient apparaître sur le bureau de l’utilisateur connecté, alors que le déploiement s’exécutait sous SYSTEM.
Ce que j’ai changé
J’ai repris le processus manuel avec le collègue le plus expérimenté, documenté la raison de chaque étape et divisé l’automatisation en phases claires. PowerShell gérait l’installation initiale et la configuration machine ; des fichiers préparés localement et une tâche planifiée permettaient de poursuivre après le redémarrage ; les paramètres utilisateur ont été appliqués explicitement aux profils existants ; et une procédure de désinstallation distincte gérait le passage du contexte SYSTEM à la session utilisateur. La journalisation et le nettoyage faisaient partie du processus dès le départ.
Le résultat
L’application est devenue disponible dans le Portail d’entreprise (Company Portal) pour l’installation comme pour la désinstallation gérée. L’équipe informatique n’avait plus à répéter les huit étapes sur chaque portable, y compris ceux préparés hors du bureau, et le support disposait de journaux et d’une structure suffisants pour localiser les échecs.
Ce que je ferais autrement
La solution initiale utilisait ServiceUI comme passerelle pratique pour la désinstallation interactive en contexte SYSTEM. PSAppDeployToolkit 4.1 a ensuite introduit un modèle d’interface client/serveur conçu pour cette interaction. Pour une nouvelle mise en œuvre, je réexaminerais cette couche plutôt que de conserver la solution de contournement d’origine.