Seite 1 von 1

[GELÖST] Update-Upgrade-Paket fusioninventory

Veröffentlicht: 26. April 2018 - 11:33 Uhr
von maintenancevla
Hallo


, ich schreibe Ihnen, da ich Probleme beim Aktualisieren meines Fusion Inventory-Pakets habe.

Ich habe die GLPI-Server gewechselt und daher mein Fusion Inventory-Paket auf Version 2.4.5 aktualisiert. Leider funktioniert das Update auf den Client-Rechnern nicht. Sie verwenden weiterhin Version 2.4.2 oder, schlimmer noch, zeigen zwar Version 2.4.5 an, aber mit der Fehlermeldung: „

Installation von Fusion Inventory agent.exe.
setup fusioninventory-agent_windows-x64_2.4.exe ist bereits installiert. Überspringen.“

Welche Schritte habe ich übersehen?

Vielen Dank im Voraus.

Betreff: Update-Upgrade-Paket fusioninventory

Veröffentlicht: 26. April 2018 – 16:25 Uhr
von htouvet
Hallo,
könnten Sie bitte den Inhalt Ihrer setup.py-Datei posten?
Ich vermute, dass Sie entweder den Deinstallationsschlüssel oder die Version nicht aktualisiert haben, falls der Schlüssel unabhängig von der Version gleich bleibt

.

Betreff: Update-Upgrade-Paket fusioninventory

Veröffentlicht: 27. April 2018 - 8:07 Uhr
von maintenancevla
Ich habe es hier sogar mit => min_version='2.4-3' getestet.
Zur Information: Es war vorher auch Version 2.4, es geht also jetzt nur noch um URL-Änderungen. GLPI-Server



# -*- 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('Installiere 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('Lösche ' + fileexe)
remove_file(fileexe)

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

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

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


if __name__ == '__main__':
update_package()

Betreff: Update-Upgrade-Paket fusioninventory

Veröffentlicht: 27. April 2018 – 14:19 Uhr
von htouvet
In der min_version sehe ich „2.4-3“ (mit Bindestrich … ich denke, „2.4“ (mit Punkt) wäre korrekter).
Die Fusion Inventory-Datei hat sich nicht geändert; es ist immer noch Version 2.4 vom Herausgeber. Daher ist es normal, dass WAPT sie nicht neu installiert, wenn es bereits die korrekte Version ist.
Die Parameter haben sich jedoch geändert. Daher müssen Sie:
* die Paketversion erhöhen (in der Steuerdatei beispielsweise von .2.4-0 auf 2.4-1 ändern).
* die Neuinstallation mit den neuen Parametern erzwingen. Die Funktion install_exe_if_needed berücksichtigt dies nicht; sie prüft lediglich den Deinstallationsschlüssel und die in der Registrierung eingetragene Version, merkt sich aber nicht die verwendeten Parameter.