Bonjour. J'utilise WAPT (community) sur une centaine de postes, sans gros soucis. Mais aujourd'hui, j'ai passé pas mal de temps à débuguer un problème sur un de ces postes. Le poste enregistré dans l'inventaire ne remontait plus son état (par exemple, un logiciel que j'ai installé en version 3 manuellement avec wapt-get install apparaissait toujours en version 2 dans l'inventaire). En débugant plus, en fait, toutes les commandes remontaient la même erreur :
FATAL ERROR : 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128) : faulty string is 'u'17 d\xe9cembre 2019'' Traceback (most recent call last): File "<string>", line 1431, in <module> File "<string>", line 1213, in main File "C:\Program Files (x86)\wapt\common.py", line 5477, in register_computer inv = self._get_host_status_data(old_hashes, new_hashes, force=True, include_dmi=True, include_wmi=True) File "C:\Program Files (x86)\wapt\common.py", line 5770, in _get_host_status_data _add_data_if_updated(inv,'installed_softwares',setuphelpers.installed_softwares(''),old_hashes,new_hashes) File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2961, in installed_softwares result.extend(list_fromkey("Software\Microsoft\Windows\CurrentVersion\Uninstall",noredir=False)) File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2924, in list_fromkey date = str(reg_getvalue(appkey,'InstallDate','')).replace('\x00','') UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128) Exception at 00442147: UnicodeEncodeError: exceptions.UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128).
J'ai fini par trouver le responsable dans la BdR : un des logiciels installé utilisait la chaîne "19 Décembre 2019" dans le InstallDate (alors que tous les autres soft utilisent un format YYYMMJJ). Et en supprimant l'accent, tout est OK.
Ne faudrait-il pas que WAPT ignore la date, si il n'arrive pas à la parser, plutôt que de s'arrêter brutalement ? C'est peut être rare comme cas, mais on n'a aucun contrôle sur ce que renseignent les logiciels dans ce champs
++