Windows 10Windows 7Windows 8Windows ClientWindows OSWindows VistaWindows XP

Packaging : Quelques mots sur Active Setup

Le packaging, c’est le fait de préparer une application en vue d’un déploiement. Récemment, j’ai eu à mettre en place une nouvelle application pour VPN dans notre organisation. Pour cela il a fallu que j’installe sur tous les postes utilisateurs notre nouveau client VPN. Jusque-là, pas trop de souci, car j’utilise SCCM.

Cependant, c’est pour la configuration que ce fut un peu plus compliqué, il a fallu que je pousse la configuration sur tous les utilisateurs des ordinateurs portables (nouveaux profils et profils existants). La configuration, je la pousse à l’aide de quelques clés de registre, rien de bien compliqué, cependant, c’est pousser cette configuration sur tous les profils qui n’est pas évidents. C’est là qu’Active Setup a joué tout son rôle.

Active Setup

Active Setup est similaire à un RunOnce, cela permet de lancer une commande à l’ouverture de session. Cette commande sera lancée une fois et une seule fois pour les utilisateurs (existants ou nouveaux) lors de l’ouverture de session.

Les clés de registre à mettre en place pour utiliser ActiveSetup se trouvent dans :

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\<UID>

Lors de l’exécution de l’ActiveSetup à l’ouverture de session, une clé de registre sera placée dans

  • HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\<UID>

Fonctionnement d’Active Setup

Lors de l’ouverture de session d’un utilisateur, le système check toutes les clés de registre Active Setup dans la ruche HKEY_LOCAL_MACHINE et regarde si elle existe déjà dans HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\

Si elle existe déjà, alors la clé n’est pas exécutée, cependant, si elle n’existe pas, alors clé est exécuté, puis copié dans HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\ pour ne plus être lancé à la prochaine ouverture de session.

Création d’un Active Setup

Vous l’aurez compris, cela se joue dans la base de registre. L’active Setup va vous permettre d’exécuter une commande, un script, un MSI, ect… au démarrage de la session utilisateur.

Pour cela, il est nécessaire de créer une clé avec un ID unique dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\

Dans mon cas, j’ai utilisé le GUID de ma machine pour être sûr de ne pas avoir de doublon avec un autre Active Setup. Mais vous pouvez tout aussi bien générer un ID unique manuellement.

Ensuite il faut créer au minimum la clé « StubPath » qui définira ce que vous souhaitez lancer (Script, MSI, ect…)

key-activesetup

Les données à mettre dans la clé StubPath est la commande que vous souhaitez exécuter. Cela peut être l’exécution d’un msi par exemple, ou bien encore, comme dans mon cas, l’exécution d’un fichier Regedit. Ainsi tous les utilisateurs auront une clé de registre copié sur « HKEY_CURRENT_USER ».  
C’est la seule technique que j’ai trouvé pour pouvoir copié une clé de registre sur tous les profils « HKEY_USERS ».

Vous pouvez utiliser Active Setup dans bien d’autres cas… C’est toujours bon de connaitre cette astuce.

Mikaël GUILLERM

Administrateur Système et Autoentrepreneur depuis 2009 pour la société zerobug. Je partage mes connaissances, problèmes et solutions à travers articles ou tweets !

Articles similaires

Un commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page