Pagina 1 di 1

[RISOLTO] Gestire una voce software duplicata nel registro

Pubblicato: 5 agosto 2020 - 11:09
di Patrice_minagri
Buongiorno,

Attualmente sto creando un pacchetto e, a seconda che il software sia installato o meno, utilizzo il seguente codice:

Codice: Seleziona tutto

for soft in installed_softwares('SIGAL'):
	if Version(soft['version']) < Version('1.15.1'):
Il codice non funziona perché quando si visualizza la funzione software_installati(software) - vedi sotto - ci sono due voci software nel registro.

La proprietà 'versione' è vuoto da un lato e pieno dall'altro. Ma, a quanto pare, questa è la proprietà 'versione' una stringa vuota che viene utilizzata durante l'esecuzione del comando se Versione(soft['versione']) < Versione('1.15.1'):

C'è un modo per usare il secondo input contenente 'versione' inserito correttamente con il valore 1.15.1?

Grazie mille per il tuo aiuto.

Codice: Seleziona tutto

[{'install_date': '',
  'install_location': '',
  'key': u'SIGAL',
  'name': u'SIGAL 1.15.1',
  'publisher': '',
  'system_component': 0,
  'uninstall_string': '',
  'version': '',
  'win64': False},
 {'install_date': u'20200803',
  'install_location': u'C:\\Program Files (x86)\\Minagri\\Sigal\\',
  'key': u'SIGAL_is1',
  'name': u'SIGAL',
  'publisher': u"Minist\xe8re de l'agriculture et de la p\xe8che",
  'system_component': 0,
  'uninstall_string': u'"C:\\Program Files (x86)\\Minagri\\Sigal\\unins000.exe"',
  'version': u'1.15.1',
  'win64': False}]

Re: Gestione di una voce software duplicata nel registro

Pubblicato: 7 agosto 2020 - 10:19
di sfontenau
Ciao Patrice

Hai due chiavi di disinstallazione: "SIGAL_is1" e "SIGAL"

Quindi, due programmi software.

In casi come questi:

Codice: Seleziona tutto

for soft in installed_softwares(uninstallkey='SIGAL_is1'):
	if Version(soft['version']) < Version('1.15.1'):