IBM Notes-Paket

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
FGA-Praktikant
Nachrichten: 4
Anmeldung: 18. Juni 2015 - 12:17 Uhr

18. Juni 2015 – 13:56 Uhr

Guten Morgen,

Ich muss ein Paket für eine Anwendung erstellen, die in den offiziellen TIS-Repositories nicht verfügbar ist.
IBM Notes 9.0.1

Ich habe zwei ausführbare Dateien; die erste deinstalliert alle auf dem Client-Rechner installierten Versionen von Lotus Notes vollständig. Die zweite installiert IBM Notes 9.0.1.

Ich habe es geschafft, ein Paket für die Deinstallation und ein anderes für die separate Installation zu erstellen. Es funktioniert sehr gut, aber leider unterstützt es keine Remote-Deinstallation. Man muss zwischen den Paketen wechseln, und das ist nicht wirklich eine optimale Lösung.

Am Ende habe ich also zwei Pakete, zwei Skripte, die völlig unabhängig voneinander sind.

Code: Alle auswählen

def install():
    print('Désinstallation de IBM Notes')
    run(r'"nice.exe" -rp -rd -wipe /qn+')

Code: Alle auswählen

def install():
    print('Installation de IBM Notes 9.0.1')
    run(r'"IBM_NOTES_CLIENT_9.0.1_WIN_FR.exe" -s -a /s /v"ADDFEATURES=NotesPlugin /qn+"')
Ich möchte:
  1. Führen Sie die beiden Codes zusammen, damit Sie die Software über die Konsole mithilfe der entsprechenden Schaltfläche installieren oder deinstallieren können, anstatt zwischen zwei separaten Paketen wechseln zu müssen.
  2. Prüfen Sie vor der Installation auf dem Rechner, ob Notes bereits installiert ist; falls ja, deinstallieren Sie es zuerst
  3. Zu wissen, wie man Dienste und Prozesse in Python stoppt.
Ich bitte Sie nicht unbedingt, mir den Code direkt zur Verfügung zu stellen (das wäre zwar sehr nett, aber so viel verlange ich nicht). Unter den Anwendungen im offiziellen Repository muss es doch sicher ein Beispiel geben, das dasselbe Installationsschema verwendet, um mich zu inspirieren.

Da ich weder Python noch irgendeine andere Programmiersprache beherrsche, fällt es mir sehr schwer, ohne Beispiel ein Skript zu erstellen.

Vielen Dank im Voraus.
Benutzeravatar
Frédéric Bonnier
Nachrichten: 24
Anmeldung: 23. Juni 2014 - 10:10 Uhr
Ort: Nantes
Kontakt:

18. Juni 2015 – 14:23 Uhr

Hallo,

ich denke, das LibreOffice-Paket könnte Ihnen helfen: http://wapt.tranquil.it/wapt/tis-libreo ... 0_all.wapt.

Es erkennt, ob OpenOffice installiert ist, und deinstalliert es gegebenenfalls. Dasselbe gilt für andere LibreOffice-Versionen.

Als letzte Möglichkeit bieten wir WAPT-Schulungen an. :D

– Frédéric
Frédéric Bonnier – Tranquil IT Systems.
Tragen Sie sich in die WAPT-Nutzerkarte , indem Sie den Fragebogen.
Entdecken Sie unsere Serviceangebote bei Tranquil IT Systems und folgen Sie uns auf Twitter.
FGA-Praktikant
Nachrichten: 4
Anmeldung: 18. Juni 2015 - 12:17 Uhr

19. Juni 2015 - 10:34 Uhr

Vielen Dank, ich wurde in geringerem Maße von der LibreOffice-Suite inspiriert. Hier ist der von mir erstellte Code:

Code: Alle auswählen

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

uninstallkey = []
uninstallstring = []

def install():
	if os.path.exists("C:\Program Files (x86)\IBM\Notes" or "C:\Program Files (x86)\IBM\Lotus\Notes"):
		print('Désinstallation des anciennes version de Notes')
		run(r'"IBM_Notes\nice.exe" -rp -rd -wipe /qn+')
		print('Installation de IBM Notes 9.0.1')
		run(r'"IBM_Notes\IBM_NOTES_CLIENT_9.0.1_WIN_FR.exe" -s -a /s /v"ADDFEATURES=NotesPlugin /qn+"')
	else:
		print('Installation de IBM Notes 9.0.1')
		run(r'"IBM_Notes\IBM_NOTES_CLIENT_9.0.1_WIN_FR.exe" -s -a /s /v"ADDFEATURES=NotesPlugin /qn+"')
Ich verstehe nicht ganz, wie die Deinstallation über die Konsole funktioniert.
Vor allem
uninstallkey = []
Uninstallstring = []

In der Dokumentation steht für uninstallstring: „Befehlszeile zum Starten der Softwaredeinstallation“. Also habe ich schnell Folgendes hinzugefügt:

Code: Alle auswählen

run(r'"IBM_Notes\IBM_NOTES_CLIENT_9.0.1_WIN_FR.exe" -s -a /s /v"ADDFEATURES=NotesPlugin /qn+"')
Ich habe es in Klammern versucht, aber ohne Erfolg.

Bei `uninstallkey = []` müssen wir den Registrierungsschlüssel, der die Deinstallation der Software ermöglicht, selbst finden, oder übernimmt WAPT das Abrufen während der Installation? Mir ist nämlich aufgefallen, dass dieser Wert oft nicht ausgefüllt ist, und dasselbe gilt für `uninstallstring = []`, das nicht immer verwendet wird.

Vielen Dank für Ihre Zeit.
FGA-Praktikant
Nachrichten: 4
Anmeldung: 18. Juni 2015 - 12:17 Uhr

24. Juni 2015 – 15:33 Uhr

Ich habe es alleine geschafft und schließlich verstanden, wie Pakete funktionieren, insbesondere die Deinstallation über die Registry.
Hier ist mein Skript, vielleicht ist es ja für andere nützlich.

Code: Alle auswählen

# -*- coding: utf-8 -*-

from setuphelpers import *
import platform

uninstallkey = []

def uninstall():
	# liste des logiciels nommés notes
	notes = installed_softwares('notes')
	# si cette liste n'est pas vide, on desinstalle explicitement chaque logiciel
	if notes:
		# boucle pour chaque logiciel trouvé
		for uninstall in notes:
			# on regarde si la version 9 est installée
			if uninstall['version'].startswith('9.'):
				# on recupere la commande de desinstallation correspondant à la clé du logiciel
				cmd = WAPT.uninstall_cmd(uninstall['key'])
				print(u'uninstalling %s' % (uninstall['name'],))
				# on execute la commande de desinstallation
				run_notfatal(cmd)
				# on supprime les dossiers restants
				run_notfatal(r'rmdir "C:\Program Files (x86)\IBM" /s /q ')

def install():
	# liste des logiciels nommés notes
	old_notes = installed_softwares('notes')
	zipmail = installed_softwares('zipmail')
	swiftfile = installed_softwares('swiftfile')
	# si zipmail est installé on desinstalle explicitement chaque logiciel
	if zipmail:
		# boucle pour chaque logiciel trouvé
		for uninstall in zipmail:
			# on regarde si la version 12 est installée
			if uninstall['version'].startswith('12.'):
				# on recupere la commande de desinstallation correspondant à la clé du logiciel SwiftFile 4.2
				cmd = WAPT.uninstall_cmd(uninstall['key'])
				print(u'uninstalling %s' % (uninstall['name'],))
				# on execute la commande de desinstallation
				run_notfatal(cmd)
	# pour désinstaller les anciennes version de zipmail
	zipmail = installed_softwares('zipmail')
	if zipmail:
		print('Supression de Zipmail v10')
		run_notfatal(r'C:\Windows\IsUn040c.exe -a -x -f"c:\Program Files (x86)\IBM\Lotus\Notes\Data\zmlnl.isu" -c"C:\Program Files (x86)\IBM\Lotus\Notes\Uninst.dll')
	# si swiftfile est installé on desinstalle explicitement chaque logiciel
	if swiftfile:
		# boucle pour chaque logiciel trouvé
		for uninstall in swiftfile:
			# on regarde si la version 4.2 est installée
			if uninstall['version'].startswith('4.2'):
				# on recupere la commande de desinstallation correspondant à la clé du logiciel SwiftFile 4.2
				cmd = WAPT.uninstall_cmd(uninstall['key'])
				print(u'uninstalling %s' % (uninstall['name'],))
				# on execute la commande de desinstallation
				run_notfatal(cmd)
	# pour désinstaller les anciennes version de zipmail
	zipmail = installed_softwares('zipmail')
	if swiftfile:
		print('Supression de SwiftFile 4.00')
		run_notfatal(r'MsiExec.exe /qn /x {34843AB3-8DBA-4388-8838-080635E1EDB6}')
	# si notes est installé, on desinstalle explicitement chaque logiciel
	if old_notes:
		# boucle pour chaque logiciel trouvé
		for uninstall in old_notes:
			# on regarde si la version 8 est installée
			if uninstall['version'].startswith('8.'):
				print('Supression de Notes 8.x')
				run_notfatal(r'"nice.exe" -rp -rd -wipe /qn')
			if uninstall['version'].startswith('9.'):
				print('Supression de Notes 9.x')
				run_notfatal(r'"nice.exe" -rp -rd -wipe /qn')
			# on supprime les dossiers restants
			run_notfatal(r'rmdir "C:\Program Files (x86)\IBM" /s /q ')
	
	# on installe ibm notes
	print('Installation de IBM Notes 9.0.1')
	run_notfatal(r'"IBM_NOTES_CLIENT_9.0.1_WIN_FR.exe" -s -a /s /v"ADDFEATURES=NotesPlugin,ClientSingleLogon /qn+"')
Die Software ZipMail und SwftFile ist spezifisch für die Workstations, auf denen unsere Software eingesetzt wird; passen Sie das Skript Ihren Bedürfnissen entsprechend an.
Gesperrt