Página 1 de 1

[RESUELTO] Actualizar el paquete fusioninventory

Publicado: 26 de abril de 2018 - 11:33 a. m.
por maintenancevla
Hola


, les escribo porque tengo problemas para actualizar mi paquete Fusion Inventory.

Debido a un cambio en los servidores GLPI, actualicé Fusion Inventory a la versión 2.4.5, pero lamentablemente la actualización no funciona en los equipos cliente. Siguen en la versión 2.4.2 o, peor aún, muestran la versión 2.4.5 con el siguiente mensaje de error: "

Instalando Fusion Inventory agent.exe
setup fusioninventory-agent_windows-x64_2.4.exe ya instalado. Omitiendo".

¿Qué pasos me faltan?

Gracias de antemano.

Re: Actualización del paquete fusioninventory

Publicado: 26 de abril de 2018 - 16:25
por htouvet
Hola,
¿podrías publicar el contenido de tu archivo setup.py?
Creo que o no has actualizado la clave de desinstalación o la versión si la clave es la misma independientemente de la versión

.

Re: Actualización del paquete fusioninventory

Publicado: 27 de abril de 2018 - 8:07 a. m.
por maintenancevla
Aquí, incluso lo probé con => min_version='2.4-3'.
Para su información, antes también era la versión 2.4, así que ahora solo se trata de modificar la URL. Servidor GLPI



# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []


server = "http://XXX.XXX.XXX.XXX/plugins/fusioninventory/"

parameters = '/S /acceptlicense /server="%s" /execmode=service /no-ssl-check /runnow' % (server)

key='FusionInventory-Agent'

def install():

print('instalando el agente de inventario de Fusion')
versionpaquet = control['version'].split('-',1)[0]
if iswin64():
install_exe_if_needed("fusioninventory-agent_windows-x64_%s.exe" % packageversion,parameters,key=key,min_version='2.4-3')
else:
install_exe_if_needed("fusioninventory-agent_windows-x86_%s.exe" % packageversion,parameters,key=key,min_version=packageversion)




def update_package():
import BeautifulSoup,requests,re

from waptpackage import PackageEntry
verify=True
pe = PackageEntry()
pe.load_control_from_wapt(os.getcwd())
current_version = pe['version'].split('-',1)[0]
verify=True

url = 'https://github.com/fusioninventory/fusi ... t/releases'

import requests,BeautifulSoup
page = requests.get(url + '/latest',headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'},verify=verify).text
bs = BeautifulSoup.BeautifulSoup(page)

bs_raw_string = str(bs.find('a',{'class':'css-truncate'}).text)

versión = bs_raw_string

url64 = url + "/download/" + versión + "/fusioninventory-agent_windows-x64_%s.exe" % versión
url86 = url + "/download/" + versión + "/fusioninventory-agent_windows-x86_%s.exe" % versión

filenamex86 = "fusioninventory-agent_windows-x86_%s.exe" % versión
filenamex64 = "fusioninventory-agent_windows-x64_%s.exe" % versión

if not isfile( filenamex64 ) :
wget( url64 )
if not isfile( filenamex86 ):
wget( url86 )


for fileexe in glob.glob('fusioninventory-agent_windows-x64*.exe'):
if fileexe != filenamex64 :
print('Eliminar ' + fileexe)
remove_file(fileexe)

for fileexe in glob.glob('fusioninventory-agent_windows-x86*.exe'):
if fileexe != filenamex86 :
print('Eliminar ' + fileexe)
remove_file(fileexe)

if not isfile(filenamex64):
print('Descargar ' + url64)
wget(url64,filenamex64)

if not isfile(filenamex86):
print('Descargar ' + url86)
wget(url86,filenamex86)


if __name__ == '__main__':
update_package()

Re: Actualización del paquete fusioninventory

Publicado: 27 de abril de 2018 - 14:19
por htouvet
En min_version, veo '2.4-3' (con un guion... creo que '2.4' (con un punto) sería más correcto).
El binario de Fusion Inventory no ha cambiado; sigue siendo 2.4 del editor, así que es normal que WAPT no lo reinstale si ya es la versión correcta.
Sin embargo, los parámetros han cambiado, así que necesitarías:
* incrementar la versión del paquete (en el archivo de control, cambiar de .2.4-0 a 2.4-1, por ejemplo).
* forzar la reinstalación con los nuevos parámetros. La función install_exe_if_needed no maneja esto; esta función solo verifica la clave de desinstalación y la versión registrada en el registro, pero no recuerda los parámetros utilizados.