Page 1 sur 1

WAPT paquet suppresion anti-virus

Posté : 15 févr. 2022 - 11:01
par Eyji
Bonjour,

J’essaie de faire un paquet pour désinstaller l'ancien anti-virus via une clé de registre, mais il y a plusieurs versions différentes donc plusieurs clés de registres.
Je veux que ça check les clé de registres et si elle existe elle le désinstalle et si elle n'existe pas elle passe à la suivante et à la fin installer le nouveau anti-virus et si c'est du x64 installer la version 64 bits ou si c'est un système d'exploitation en x86 installer la version 32 bits.
Ci-joint le script que j'ai commencé à faire mais qui ne fonctionne pas.
Merci d'avance aux personnes qui pourront m'aider.

Code : Tout sélectionner

# -*- 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')

Re: WAPT paquet suppresion anti-virus

Posté : 15 févr. 2022 - 14:22
par olaplanche
Bonjour,

Attention dans ton script tu as défini deux fois la fonction def install():
Tu utilises également deux fois le paramètre /q pour la désinstallation, ça m'interpelle !

Perso j'essaierai avec le code ci-dessous :
il va check toutes les versions installés pour un logiciel donné (name=blabla), comparer si la version est inférieure à la version du paquet à installer et lancer automatiquement la désinstallation depuis l'uninstallkey. Si l'uninstallkey n'est pas silencieuse, il faut adapter la commande run()

Code : Tout sélectionner

   # 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"])

Re: WAPT paquet suppresion anti-virus

Posté : 15 févr. 2022 - 15:09
par Eyji
Bonjour,

Merci pour votre rapidité à m'avoir répondu :D
Du coup je m'excuse car j'ai oublié de donner des informations.
Je désinstalle l'ancien anti-virus ESET pour installer l'anti-virus TREND Micro et pour désinstaller toutes les anciennes versions d'ESET il faut absolument que je passe via le registre avec le mot passe admin de désinstallation de l'anti-virus car ESET se désinstalle en mode sans echec via l'unisinstaller.
Chaque agent et chaque ESET à ça propre clé de registre suivant la version installé.
Encore désolé.