Exemples simples de fonctions couramment utilisées

Nous présentons ici quelques fonctions implémentées dans Setuphelpers et fréquemment utilisées pour développer des paquets WAPT.

Tests et manipulation de dossiers et fichiers

Créer un chemin avec récursion

La commande …

makepath(programfiles,'Mozilla','Firefox')

… fabrique la variable pour le chemin C:Program FilesMozillaFirefox.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

Créer et détruire des répertoires

La commande …

mkdirs('C:\\test')

… crée le répertoire C:\test.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

La commande remove_tree …

remove_tree(r'C:\tmp\target')

… détruit le répertoire C:\tmp\target.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

Tester si des éléments de l’arborescence sont des fichiers ou des répertoires

La commande isdir …

isdir(makepath(programfiles32,'software')):
    print('The directory exists')

… vérifie que C:\Programfiles32\software est un répertoire.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

La commande …

isfile(makepath(programfiles32,'software','file')):
    print('file exist')

… vérifie que C:\Programfiles32\software\file est un fichier.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

Tester si un répertoire est vide

La commande …

dir_is_empty(makepath(programfiles32,'software')):
    print('dir is empty')

… vérifie que le répertoire C:\Programfiles32\software est vide.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

Copier un fichier

La commande …

filecopyto('file.txt',makepath(programfiles32,'software'))

… copie le fichier file.txt dans le répertoire C:\Programfiles32\software.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

Copier un répertoire

La commande …

copytree2('sources','C:\\projet')

… copie le dossier sources dans le répertoire C:\projet.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

Récupérer la version d’un fichier

La commande …

get_file_properties(makepath(programfiles32,'InfraRecorder','infrarecorder.exe'))['ProductVersion']

… affiche les propriétés du paquet.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

Manipulation de clés de registre

Tester la présence d’une clé de registre

La commande …

if registry_readstring(HKEY_LOCAL_MACHINE, "SOFTWARE\\Google\\Update\\Clients\\{8A69D345-D564-463c-AFF1-A69D9E530F96}", 'pv') :
    print('key exist')

… vérifie que la clé {8A69D345-D564-463c-AFF1-A69D9E530F96} existe dans le répertoire SOFTWAREGoogleUpdateClients de la ruche HKEY_LOCAL_MACHINE.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=registry_readstring#setuphelpers.registry_readstring

Afficher la valeur d’une clé de registre

La commande …

print(registry_readstring(HKEY_LOCAL_MACHINE, r'SOFTWARE\Google\Update\Clients\{8A69D345-D564-463c-AFF1-A69D9E530F96}', 'pv'))

… lit la valeur de la clé {8A69D345-D564-463c-AFF1-A69D9E530F96} inscrite dans le répertoire SOFTWAREGoogleUpdateClients de la ruche HKEY_LOCAL_MACHINE.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=registry_readstring#setuphelpers.registry_readstring

Modifier la valeur d’une clé de registre

La commande …

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

… modifie la valeur de la clé TOUVersion dans le répertoire SOFTWAREMicrosoftWindows Live de la ruche HKEY_CURRENT_USER.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=registry_setstring#setuphelpers.registry_setstring

Créer et supprimer des raccourcis

create_desktop_shortcut / remove_desktop_shortcut

La commande …

create_desktop_shortcut(r'WAPT Console Management',target=r'C:\Program Files (x86)\wapt\waptconsole.exe')

… crée le raccourci WAPT Console Management dans le répertoire C:UsersPublic pointant vers l’exécutable C:Program Fileswaptwaptconsole.exe ; le raccourci est ajouté pour tous les utilisateurs.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=create_desktop_shortcut#setuphelpers.create_desktop_shortcut

La commande …

remove_desktop_shortcut('WAPT Console Management')

… supprime le raccourci WAPT Console Management du répertoire C:UsersPublic ; le raccourci est supprimé pour tous les utilisateurs.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=remove_desktop_shortcut#setuphelpers.remove_desktop_shortcut

create_desktop_shortcut / remove_desktop_shortcut

Indication

Ces fonctions sont utilisées avec le session_setup.

La commande …

create_user_desktop_shortcut(r'WAPT Console Management',target=r'C:\Program Files (x86)\wapt\waptconsole.exe')

… crée le raccourci WAPT Console Management sur le bureau de l’utilisateur pointant vers l’exécutable C:Program Files (x86)waptwaptconsole.exe.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=create_user_desktop_shortcut#setuphelpers.create_user_desktop_shortcut

La commande …

Remove a shortcut from the current users

remove_user_desktop_shortcut('WAPT Console Management')

… supprime le raccourci WAPT Console Management du bureau de l’utilisateur.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=remove_user_desktop_shortcut#setuphelpers.remove_user_desktop_shortcut

Environment Windows / Logiciels / Services

windows_version

windows_version()<Version('6.2.0'):

… vérifie que la version de Windows est strictement inférieure à 6.2.0.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=windows_version#setuphelpers.windows_version

Liste des numéros de version de Windows.

iswin64

La commande …

if iswin64() :
    print('Pc x64')
else:
    print('Pc not x64')

… vérifie que le processeur de la machine est 64bits.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

programfiles / programfiles32 / programfiles64

Renvoie les différentes localisations de Program Files

La commande …

print(programfiles64())

Renvoie le répertoire natif du programme, c.à.d. C:Program Files (x86) pour les architecture win64 et win32.

print(programfiles())

Renvoie le chemin vers le répertoire Programs Files (x86) (sur architecture win64) ou Programs Files (sur architecture win32).

print(programfiles32())

user_appdata / user_local_appdata

Indication

Ces fonctions sont utilisées avec le session_setup.

La commande …

print(user_appdata())

… renvoie le profil appdata itinérant de l’utilisateur courant (C:UsersusernameAppDataRoaming).

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.propertiesser_appdata

La commande …

print(user_local_appdata())

… renvoie le profil appdata local de l’utilisateur courant (C:UsersusernameAppDataLocal).

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=user_appdata#setuphelpers.user_appdatalocal_appdata

disable_file_system_redirection

La commande …

with disable_file_system_redirection():
    filecopyto('file.txt',system32())

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=user_local_appdata#setuphelpers.user_local_appdatable_file_system_redirection

Gère le contexte pour désactiver temporairement le redirecteur wow3264.

get_computername / get_current_user

La commande …

print(get_current_user())

… affiche l’identifiant de l’utilisateur connecté.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

print(get_computername())

… affiche le nom de la machine sans le domaine.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

La commande …

get_domain_fromregistry()

… renvoie le nom de la machine avec le domaine.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_computername#setuphelpers.get_computernamein_fromregistry

installed_softwares / uninstall_cmd

installed_softwares

La commande …

installed_softwares('winscp')

… renvoie la liste des logiciels inscrits dans la base de registre machine sous forme de tableau.

[{'install_location': u'C:\\Program Files\\WinSCP\\', 'version': u'5.9.2', 'name': u'WinSCP 5.9.2', 'key': u'winscp3_is1', 'uninstall_string': u'"C:\\Program Files\\WinSCP\\unins000.exe"', 'publisher': u'Martin Prikryl', 'install_date': u'20161102', 'system_component': 0}]

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_domain_fromregistry#setuphelpers.get_domain_fromregistry

uninstall_cmd

La commande …

uninstall_cmd('winscp3_is1')

… renvoie la commande de désinstallation silencieuse :

"C:\Program Files\WinSCP\unins000.exe" /SILENT

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.properties

désinstaller des logiciels

La commande …

for soft in installed_softwares('winscp3'):
    if Version(soft['version']) < Version('5.0.2'):
        run(WAPT.uninstall_cmd(soft['key']))
  • pour chaque élément de la liste retournée par installed_softwares avec le mot clé winscp ;
  • si la version dans la liste est plus petite que 5.0.2 ;
  • alors lancer la désinstallation avec uninstall_cmd et en indiquant la uninstallkey ;

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://dev.tranquil.it/sphinxdocs/source/setuphelpers.html?highlight=uninstall_cmd#setuphelpers.uninstall_cmd

killalltasks

La commande …

killalltasks('firefox')

… termine l’exécution du logiciel Firefox.

Indication

Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :

https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=get_file_properties#setuphelpers.propertiesillalltasks

Utiliser les champs du fichier control

La commande …

def setup():
    print(control['version'])

… affiche le champ version du fichier control du paquet WAPT.

La commande …

def setup():
    print(control['version'].split('-',1)[0])

… affiche le numéro de version du fichier control sans le numéro de version de packaging WAPT.

Appeler des actions WAPT dans des paquets WAPT

Installer un paquet

La commande …

WAPT.install('tis-scratch')

… installe tis-scratch sur la machine.

Supprimer un paquet

La commande …

WAPT.remove('tis-scratch')

… désinstalle tis-scratch de la machine.

Oublier un paquet

La commande …

WAPT.forget_packages('tis-scratch')

… informe WAPT de ne plus suivre le paquet tis-scratch ; WAPT ne connaîtra plus l’existence de ce paquet.

Indication

Si vous voulez supprimer tis-scratch, il faudra soit réinstaller le paquet (wapt-get install "tis-scratch"), puis le supprimer (wapt-get remove "tis-scratch"), ou bien le supprimer manuellement à partir du panneau de configuration Windows Ajout / Suppression de Programmes.