Seite 1 von 1

WAPT Antivirus-Entfernungspaket

Veröffentlicht: 15. Februar 2022 - 11:01 Uhr
von Eyji
Guten Morgen,

Ich versuche, ein Paket zu erstellen, um das alte Antivirenprogramm über einen Registrierungsschlüssel zu deinstallieren. Da es jedoch mehrere verschiedene Versionen gibt, benötige ich auch mehrere Registrierungsschlüssel.
Ich möchte, dass es die Registrierungsschlüssel überprüft und, falls vorhanden, das entsprechende Antivirenprogramm deinstalliert. Falls es nicht vorhanden ist, soll es mit dem nächsten Programm fortfahren und am Ende das neue Antivirenprogramm installieren. Bei einem x64-System soll die 64-Bit-Version installiert werden, bei einem x86-Betriebssystem die 32-Bit-Version.
Im Anhang befindet sich das Skript, mit dem ich begonnen habe, aber es funktioniert nicht.
Vielen Dank im Voraus an alle, die mir helfen können.

Code: Alle auswählen

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

# Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls


def install():
    print("Installing: %s" % control.package)

if uninstall_key_exists('{867E468E-DD24-4599-8A61-C4454DD166FE}'):
        run('MSIEXEC.exe /qb /X {867E468E-DD24-4599-8A61-C4454DD166FE} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

elif uninstall_key_exists('{367F9C22-8DC9-4880-A14B-29B01881B05C}'):
        run('MSIEXEC.exe /qb /X {367F9C22-8DC9-4880-A14B-29B01881B05C} REBOOT="ReallySuppress" /q')

else: uninstall_key_exists('{B454B5C8-5C87-4F24-B9F5-2A9A199F08F5}')
        run('MSIEXEC.exe /qb /X {B454B5C8-5C87-4F24-B9F5-2A9A199F08F5} REBOOT="ReallySuppress" /q')

else: uninstall_key_exists('{7F98FC14-7576-4980-8985-BD5377EA765E}')
        run('MSIEXEC.exe /qb /X {7F98FC14-7576-4980-8985-BD5377EA765E} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

else: uninstall_key_exists('{7B3EFEF0-4D31-4221-8BA3-B1B1CBBAA5B8}')
        run('MSIEXEC.exe /qb /X {7B3EFEF0-4D31-4221-8BA3-B1B1CBBAA5B8} REBOOT="ReallySuppress" /q')

else: uninstall_key_exists('{92BA3DCC-50FA-4636-939F-254D454D2559}')
        run('MSIEXEC.exe /qb /X {92BA3DCC-50FA-4636-939F-254D454D2559} REBOOT="ReallySuppress" /q')

else: uninstall_key_exists('{26172EAA-2147-47B0-ABFB-D5FF4E6D4274}')
        run('MSIEXEC.exe /qb /X {26172EAA-2147-47B0-ABFB-D5FF4E6D4274} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

else: uninstall_key_exists('{7B3EFEF0-4D31-4221-8BA3-B1B1CBBAA5B8}')
        run('MSIEXEC.exe /qb /X {7B3EFEF0-4D31-4221-8BA3-B1B1CBBAA5B8} REBOOT="ReallySuppress" /q')

else: uninstall_key_exists('{8DDDE767-7175-46A3-BF28-939E8B755617}')
        run('MSIEXEC.exe /qb /X {8DDDE767-7175-46A3-BF28-939E8B755617} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

else: uninstall_key_exists('{92BA3DCC-50FA-4636-939F-254D454D2559}')
        run('MSIEXEC.exe /qb /X {92BA3DCC-50FA-4636-939F-254D454D2559} REBOOT="ReallySuppress" /q')

else: uninstall_key_exists('{3F509AE4-E4F1-4418-B0C2-92766748DC02}')
        run('MSIEXEC.exe /qb /X {3F509AE4-E4F1-4418-B0C2-92766748DC02} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

else: uninstall_key_exists('{F9699917-447C-4109-9479-5161D1636B24}')
        run('MSIEXEC.exe /qb /X {F9699917-447C-4109-9479-5161D1636B24} REBOOT="ReallySuppress" /q')

else: uninstall_key_exists('{082F6817-E4B9-406D-8E59-0551070D7B97}')
        run('MSIEXEC.exe /qb /X {082F6817-E4B9-406D-8E59-0551070D7B97} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

else: uninstall_key_exists('{E75932C3-67DD-42A7-A413-E748199C17C2}')
        run('MSIEXEC.exe /qb /X {E75932C3-67DD-42A7-A413-E748199C17C2} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

else: uninstall_key_exists('{19E36B07-F888-4822-BF50-49F9EA520018}')
        run('MSIEXEC.exe /qb /X {19E36B07-F888-4822-BF50-49F9EA520018} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

else: uninstall_key_exists('{CAC9C8AF-7485-48E0-AF87-FDC929B57E76}')
        run('MSIEXEC.exe /qb /X {CAC9C8AF-7485-48E0-AF87-FDC929B57E76} REBOOT="ReallySuppress" PASSWORD="mot de passe" /q')

def install():
    print("Installing: %s" % control.package)

if iswin64():
    print('Pc x64')
    run(r'"agent_cloud_x64.msi" -q /norestart')
else:
    print('Pc not x64')
    run(r'"agent_cloud_x86.msi" -q /norestart')

Betreff: WAPT-Antiviren-Entfernungspaket

Veröffentlicht: 15. Februar 2022 – 14:22 Uhr
von olaplanche
Guten Morgen,

Beachten Sie, dass Sie in Ihrem Skript die Funktion def install() zweimal definiert haben:
Sie verwenden den Parameter /q auch zweimal für die Deinstallation, das erscheint mir merkwürdig!

Ich persönlich würde es mit dem folgenden Code versuchen:
Es prüft alle installierten Versionen einer bestimmten Software (Name=blabla), vergleicht sie mit der Version des zu installierenden Pakets und startet die Deinstallation automatisch über den Deinstallationsschlüssel. Falls die Deinstallation nicht im Hintergrund erfolgt, muss der Befehl `run()` angepasst werden

Code: Alle auswählen

   # Uninstalling older versions of the software
    for to_uninstall in installed_softwares(name=r"lenomdemonantivirus"):
        if Version(to_uninstall["version"]) < Version(package_version) or force:
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(control.impacted_process.split(","))
            run(uninstall_cmd(to_uninstall["key"]))
            wait_uninstallkey_absent(to_uninstall["key"])

Betreff: WAPT-Antiviren-Entfernungspaket

Veröffentlicht: 15. Februar 2022 – 15:09 Uhr
von Eyji
Hallo,

vielen Dank für Ihre schnelle Antwort. :D
Ich entschuldige mich dafür, dass ich einige Informationen vergessen habe.
Ich deinstalliere das alte ESET-Antivirenprogramm, um TREND Micro zu installieren. Um alle vorherigen ESET-Versionen zu deinstallieren, muss ich unbedingt den Registrierungsschlüssel mit dem Administratorpasswort verwenden, da ESET im abgesicherten Modus über den Deinstallationsassistenten deinstalliert wird.
Jeder Agent und jede ESET-Version hat einen eigenen Registrierungsschlüssel, abhängig von der installierten Version.
Nochmals Entschuldigung.