Bonjour
Je suis actuellement en train de faire une refonte de tout mes paquet wapt et j’intègre un check avant d’exécuter l'installation ce qui me permet de ne pas réinstaller si la version du logiciel que j'install est déjà sur la machine.
Je fait également ce check en sortie pour vérifier que tout s'est bien passer et générer un erreur si ce n'est pas le cas.
Je test dans la plupart des cas la version du uninstall.
Mais par exemple je ne peut pas utiliser ce genre de check pour infrarecorder. Il me faut tester la version du fichier dans programme files car celle n'est pas dans uninstall
Pouvez-vous m'aider sur la fonction python a utiliser ?
Simon
La fonction get_file_properties peut aider... :
... exefilename = *makepath*(programfiles,'7-Zip','7zFM.exe') version = *get_file_properties*(exefilename)['*ProductVersion*'] # ou : version = get_file_properties(exefilename)['*FileVersion*'] if version != '9.38 bet': *error*(u"La version de 7-Zip n'est pas celle attendue")
Le 07/03/2015 14:09, Simon Fonteneau a écrit :
Bonjour
Je suis actuellement en train de faire une refonte de tout mes paquet wapt et j’intègre un check avant d’exécuter l'installation ce qui me permet de ne pas réinstaller si la version du logiciel que j'install est déjà sur la machine.
Je fait également ce check en sortie pour vérifier que tout s'est bien passer et générer un erreur si ce n'est pas le cas.
Je test dans la plupart des cas la version du uninstall.
Mais par exemple je ne peut pas utiliser ce genre de check pour infrarecorder. Il me faut tester la version du fichier dans programme files car celle n'est pas dans uninstall
Pouvez-vous m'aider sur la fonction python a utiliser ?
Simon
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
Parfait, Merci beaucoup, j'ai pu terminer mon paquet. Pour info le voici :
required_params = [] uninstallstring=['taskkill /im infrarecorder.exe /f',r'"%s\InfraRecorder\uninstall.exe" /S' % programfiles32] uninstallkey=[]
def install(): global uninstallkey global uninstallstring
exefilename = makepath(programfiles32,'InfraRecorder','infrarecorder.exe') versionpaquet = control.version.split('-',1)[0]
softname = 'InfraRecorder' check_installed = installed_softwares(softname) if check_installed: version = get_file_properties(exefilename)['ProductVersion'] if version > versionpaquet : print(u'The software is already installed and its version is newer than the version of the package' ) return (0) if version == versionpaquet : print(u'The software is already installed' ) return (0)
print "closing infrarecorder" print run_notfatal("taskkill /im infrarecorder.exe /f") print"installing exe" print run("ir053.exe /S /LANGUAGE=french")
check_installed_out = installed_softwares(softname) if check_installed_out: version = get_file_properties(exefilename)['ProductVersion'] if version < versionpaquet : error('The output verification has found a old version of software') if version == versionpaquet : print(u'The software installation was successful') return (0); error('End audit did not find the software.')
Simon
Le 9 mars 2015 09:43, Hubert TOUVET htouvet@tranquil.it a écrit :
La fonction get_file_properties peut aider... :
... exefilename = *makepath*(programfiles,'7-Zip','7zFM.exe') version = *get_file_properties*(exefilename)['*ProductVersion*'] # ou : version = get_file_properties(exefilename)['*FileVersion*'] if version != '9.38 bet': *error*(u"La version de 7-Zip n'est pas celle attendue")
Le 07/03/2015 14:09, Simon Fonteneau a écrit :
Bonjour
Je suis actuellement en train de faire une refonte de tout mes paquet wapt et j’intègre un check avant d’exécuter l'installation ce qui me permet de ne pas réinstaller si la version du logiciel que j'install est déjà sur la machine.
Je fait également ce check en sortie pour vérifier que tout s'est bien passer et générer un erreur si ce n'est pas le cas.
Je test dans la plupart des cas la version du uninstall.
Mais par exemple je ne peut pas utiliser ce genre de check pour infrarecorder. Il me faut tester la version du fichier dans programme files car celle n'est pas dans uninstall
Pouvez-vous m'aider sur la fonction python a utiliser ?
Simon
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
--