Pagina 1 di 1

[RISOLTO] Aggiorna-Aggiorna pacchetto fusioninventory

Pubblicato: 26 aprile 2018 - 11:33
di maintenancevla
Salve


, scrivo perché sto riscontrando dei problemi con l'aggiornamento del mio pacchetto Fusion Inventory.

A seguito di questo cambiamento, ho modificato i server GLPI e ho aggiornato Fusion Inventory alla versione 2.4.5, ma purtroppo l'aggiornamento non funziona sui computer client. Questi rimangono fermi alla versione 2.4.2, o peggio, mostrano la versione 2.4.5 ma con il seguente messaggio di errore: "

Installazione di Fusion Inventory agent.exe
setup fusioninventory-agent_windows-x64_2.4.exe già installato. Operazione saltata".

Quali passaggi mi sfuggono?

Grazie in anticipo.

Re: Aggiorna-Aggiorna pacchetto fusioninventory

Pubblicato: 26 aprile 2018 - 16:25
di htouvet
Ciao,
potresti per favore pubblicare il contenuto del tuo file setup.py?
Credo che tu non abbia aggiornato la chiave di disinstallazione o la versione, se la chiave rimane la stessa indipendentemente dalla versione

.

Re: Aggiorna-Aggiorna pacchetto fusioninventory

Pubblicato: 27 aprile 2018 - 08:07
di maintenancevla
Qui l'ho persino testato con => min_version='2.4-3'.
Per tua informazione, anche prima era la versione 2.4, quindi ora si tratta solo di modifiche all'URL. Server 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('installazione di Fusion inventory agent')
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)

version = bs_raw_string

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

filenamex86 = "fusioninventory-agent_windows-x86_%s.exe" % version
filenamex64 = "fusioninventory-agent_windows-x64_%s.exe" % version

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('Elimina ' + fileexe)
remove_file(fileexe)

per fileexe in glob.glob('fusioninventory-agent_windows-x86*.exe'):
se fileexe != filenamex86 :
print('Elimina ' + fileexe)
remove_file(fileexe)

se non è file(filenamex64):
print('Scarica ' + url64)
wget(url64,filenamex64)

se non è file(filenamex86):
print('Scarica ' + url86)
wget(url86,filenamex86)


se __name__ == '__main__':
update_package()

Re: Aggiorna-Aggiorna pacchetto fusioninventory

Pubblicato: 27 aprile 2018 - 14:19
di htouvet
Nel parametro min_version vedo '2.4-3' (con un trattino... credo che '2.4' (con un punto) sarebbe più corretto).
Il binario di Fusion Inventory non è cambiato; è ancora la versione 2.4 del produttore, quindi è normale che WAPT non lo reinstalli se è già la versione corretta.
Tuttavia, i parametri sono cambiati, quindi dovresti:
* incrementare la versione del pacchetto (nel file di controllo, cambia da .2.4-0 a 2.4-1, ad esempio).
* forzare la reinstallazione con i nuovi parametri. La funzione install_exe_if_needed non gestisce questo; questa funzione controlla solo la chiave di disinstallazione e la versione registrata nel registro, ma non ricorda i parametri utilizzati.