Personnaliser l’environment utilisateur

Principe du session_setup

Il est parfois nécessaire de personnaliser un programme ou un logiciel en contexte utilisateur pour rendre le logiciel immédiatement exploitable par l’utilisateur dans le contexte spécifique de son entreprise ou du service au sein de son entreprise :

  • créer des raccourcis sur le bureau utilisateur avec des arguments spécifiques ;
  • modifier de clés registres utilisateurs ;
  • modifier des fichiers, une configuration de navigateur ;
  • configurer des raccourcis réseaux aux modèles de documents de l’entreprise pour assurer la conformité des documents aux chartes éditoriales en vigueur ;
  • paramétrer la messagerie de l’utilisateur à partir d’un référentiel externe (annuaire, base de données, etc) ;
  • paramétrer un logiciel bureautique ou métier à partir d’un référentiel externe (annuaire, base de données, etc) ;

La fonction session_setup bénéficie de toute la puissance et de l’étendue des librairies python pour atteindre un niveau d’automatisation élevé.

Fonctionnement du session_setup

La fonction WAPT session_setup s’exécute à chaque ouverture de session utilisateur, en appelant la commande :

C:\Program Files (x86)\wapt\wapt-get.exe session-setup ALL

L’appel à cette fonction permet d’exécuter la partie session_setup de chaque paquet WAPT logiciel installé sur la machine.

WAPT enregistre en base locale les instructions de tous les paquets dans le fichier C:Program Fileswaptwaptdb.sqlite.

Attention

Le session_setup de chaque paquet n’est exécuté qu”une seule fois par paquet ou version de paquet et par profil utilisateur.

Le session_setup va enregistrer dans le fichier %appdata%\wapt\waptsession.sqlite les session_setup déjà exécutées.

Pour lancer un programme à chaque démarrage, il s’agira de privilégier l’utilisation d’un script au démarrage utilisateur contenu dans le démarrage utilisateur (startup(0)) ou Démarrage All Users (startup(1)), ou via une stratégie de groupe GPO.

Exemple de sortie de la commande wapt-get session-setup ALL :

Note

le session_setup de l’utilisateur connecté, avait déjà été exécuté.

wapt-get session-setup ALL

Configuring tis-7zip ... No session-setup. Done
Configuring tis-ccleaner ... Already installed. Done
Configuring tis-vlc ... No session-setup. Done
Configuring tis-tightvnc ... No session-setup. Done
Configuring tis-paint.net ... No session-setup. Done
Configuring wsuser01.mydomain.lan ... No session-setup. Done

Utiliser le session_setup

On définit la partie session_setup dans le fichier setup.py du paquet dans une fonction def session_setup() :

Exemple :

def session_setup():
   registry_setstring(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows Live\\Common",'TOUVersion','16.0.0.0', type=REG_SZ)

Attention

Avec session_setup, il n’est pas possible de faire appel à des fichiers contenus dans le paquet.

Pour utiliser des fichiers lors de la désinstallation, copier / coller les fichiers dans un répertoire extérieur au paquet lors de l’installation du paquet (exemple : un sous-répertoire créé à la racine du répertoire utilisateur).