Página 1 de 1

[RESUELTO] Problema con múltiples entradas 'Clave' relacionadas con un software

Publicado: 14 de enero de 2019 - 14:57
por Patrice_minagri
Buen día,

Cuando ejecuto la línea installed_softwares('BIG-IP Edge Client'), obtengo el siguiente resultado:

Código: Seleccionar todo

[{'install_date': '',
  'install_location': u'C:\\Windows\\Downloaded Program Files',
  'key': u'F5 Networks Client Components',
  'name': u'BIG-IP Edge Client Components (All Users)',
  'publisher': u'F5 Networks, Inc.',
  'system_component': 0,
  'uninstall_string': u'"C:\\ProgramData\\F5 Networks\\f5unistall.exe" /uninstall',
  'version': u'71.2018.0808.2011'},
 {'install_date': u'20190114',
  'install_location': u'',
  'key': u'{6D4839CB-28B4-4070-8CA7-612CA92CA3D0}',
  'name': u'BIG-IP Edge Client',
  'publisher': u'F5 Networks, Inc.',
  'system_component': 0,
  'uninstall_string': u'MsiExec.exe /X{6D4839CB-28B4-4070-8CA7-612CA92CA3D0}',
  'version': u'71.2018.0808.2011'}]
De hecho, esto es bastante normal porque el nombre 'BIG-IP Edge Client' se menciona dos veces en la lista de software instalado en Windows, a saber:
- 'Cliente de borde BIG-IP'
- 'Componentes del cliente BIG-IP Edge (todos los usuarios)'

Cuando ejecuto el siguiente código:

Código: Seleccionar todo

for soft in installed_softwares('BIG-IP Edge Client'):
           key_uninst = soft['key']
El resultado es: Componentes de cliente de F5 Networks

Lo que me interesa recuperar es la segunda clave de referencia, que es: {6D4839CB-28B4-4070-8CA7-612CA92CA3D0}

¿Cómo puedo recuperarlo? ¿Es posible limitar la búsqueda a la mención de "BIG-IP Edge Client"?

GRACIAS.

Patrice

Re: Problema con varias entradas 'Clave' relacionadas con un software

Publicado: 14 de enero de 2019 - 15:05
por htouvet

Código: Seleccionar todo

installed_softwares(uninstallkey=u'{6D4839CB-28B4-4070-8CA7-612CA92CA3D0}')

Re: Problema con varias entradas 'Clave' relacionadas con un software

Publicado: 14 de enero de 2019 - 15:13
por Patrice_minagri
Y suponiendo que la clave no se conoce y que queremos usar la variable del registro en su lugar.

Porque en mi caso, el código `installed_softwares('BIG-IP Edge Client')` siempre devuelve dos resultados, ¿es correcto? ¿

No hay ninguna forma de buscar específicamente 'BIG-IP Edge Client' sin recuperar las propiedades de 'BIG-IP Edge Client Components (All Users)'?

Re: Problema con varias entradas 'Clave' relacionadas con un software

Publicado: 14 de enero de 2019 - 16:10
por htouvet
Hay un pequeño error en la función... para solucionarlo, uninstallkey=''

Código: Seleccionar todo

installed_softwares(uninstallkey='',name=r'BIG-IP Edge Client')