Salve,
una
versione Wapt Enterprise di Wapt 2.4.14.143,
server = Debian e
PC per la creazione dei pacchetti = Windows 10.
Vorrei sapere se è possibile rimuovere un pacchetto dalle sue dipendenze tramite uno script Python.
Ad esempio:
A = condizione,
B = nome del pacchetto,
C = hostname.
Se la condizione A è vera, allora
rimuovi B da C.
Ho cercato usando wapt-get, ma non ho trovato nulla.
Grazie in anticipo per l'aiuto.
[RISOLTO] Rimozione di una dipendenza in Python
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Ciao Benoit,
L'approccio migliore in questo tipo di situazione è creare un meta-pacchetto ed evitare dipendenze; in tal caso, sei libero di fare ciò che vuoi
esempio :
Simone
L'approccio migliore in questo tipo di situazione è creare un meta-pacchetto ed evitare dipendenze; in tal caso, sei libero di fare ciò che vuoi
esempio :
Codice: Seleziona tutto
# -*- coding: utf-8 -*-
from setuphelpers import *
def install():
hostname = get_computername().lower()
# Si les 4 dernier caractères du poste sont "prof" alors j'installe Firefox ESR
if hostname.endswith('prof') :
WAPT.install('tis-firefox-esr')
if 'eleves' in hostname :
if WAPT.is_installed('tis-gestionnote') :
WAPT.remove('tis-gestionnote')
if installed_softwares('Mozilla Firefox') :
WAPT.install('tis-firefox-esr')
# Si la manufacture du poste est 'innotek GmbH', installer le paquet drivers smp-drivers-for-innotek
if wmi_info_basic()["System_Information"]["Manufacturer"] == 'innotek GmbH' :
WAPT.install('tis-drivers-for-innotek')
unitorga = registry_readstring(HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine', 'Distinguished-Name')
if 'OU=Ordinateur_compta,OU=Ordinateur_administratif,DC=tranquilit,DC=local' in unitorga :
WAPT.install('tis-libreoffice-stable')
if 'mongroup' in get_computer_groups():
WAPT.install('tis-group')
Grazie per la risposta, ma non è questo che sto cercando di fare:
Ecco la configurazione per cui sto posando:
Vorrei che se "pro" è vero, allora questo pacchetto dovrebbe essere rimosso dalle dipendenze del PC per il quale pro è vero.
Ecco la configurazione per cui sto posando:
Codice: Seleziona tutto
# -*- coding: utf-8 -*-
"""
Script type pour installation d'un exécutable
"""
"""
import module
"""
from setuphelpers import *
import subprocess
"""
déclarations variables
"""
# Indiquez le nom d'affichage du programme
name_app ="Adobe Acrobat"
# Indiquez le nom de l'executable servant à installer le programme
exe = "AcroRdrDCx642300820470_MUI.exe"
# Indiquez le Version du programme
min_version="2023.008.20470"
#varibles pour la mise en place du raccourci si besoin
label= ""
target = r""
silentflags =f'/sAll /rs /msi EULA_ACCEPT=YES '
#uninstall_cmd ="MsiExec.exe /x {AC76BA86-1033-FF00-7760-BC15014EA700} /quiet"
"""
déclaration fonctions
"""
# fonction qui permet d'installer l'application
def install_app():
try :
print(f"L'installation de {name_app} est en cours ...")
install_exe_if_needed(exe,silentflags=silentflags,key='',min_version=min_version)
print(f"L'application {name_app} a été installée avec succès")
# commenté les deux lignes ci-dessous avec un '#' si vous n'avez pas besoin de créer un raccourci
#create_desktop_shortcut(label,target)
#print(f"Le raccourci {label} a été créer avec succès")
except Exception as e :
print(f"L'erreur 1 suivante s'est produite : {e}")
# fonction qui permet de désinstaller l'application
def uninstall():
try:
for soft in installed_softwares():
if name_app in soft['name']:
if soft['name'] != "Adobe Acrobat 2017" and soft['name'] != "Adobe Acrobat 2020":
key= soft['key']
uninstall_cmd = f"msiexec /x {key} /quiet"
print(f"L'application {name_app} est déjà installée. Elle va être désinstallée.\nMerci de patienter ...")
subprocess.run(uninstall_cmd)
print(f"L'application {name_app} a été désinstallée avec succès")
# commenté les deux lignes ci-dessous avec un '#' si vous n'avez pas besoin de supprimer un raccourci
#remove_desktop_shortcut(label)
#print(f"Le raccourci {label} a été supprimé avec succès")
break
except Exception as e :
print(f"L'erreur 2 suivante s'est produite : {e}")
"""
main code
"""
def install():
try:
pro = False
for soft in installed_softwares():
if soft['name'] == "Adobe Acrobat 2017" or soft['name'] == "Adobe Acrobat 2020" or soft['name'] == "Adobe Creative Cloud":
print(f"Une version pro de l'application {name_app} est déjà installée.\nCette version ne sera donc pas déployé sur ce poste")
pro =True
break
if not pro:
uninstall()
install_app()
except Exception as e :
print(f"L'erreur 3 suivante s'est produite : {e}")
Ciao Benoit,
Impossibile, la dipendenza è a livello di pacchetto, quindi tornerà...
È necessario creare un meta-pacchetto per Adobe Reader:
tis-adboe-reader
e nel pacchetto qualcosa del genere:
Simone
Impossibile, la dipendenza è a livello di pacchetto, quindi tornerà...
È necessario creare un meta-pacchetto per Adobe Reader:
tis-adboe-reader
e nel pacchetto qualcosa del genere:
Codice: Seleziona tutto
def install():
if installed_software('adobe reader pro'):
WAPT.install('tis-adboe-reader-pro')
else
WAPT.install('tis-adboe-reader-normal')
Ciao Benoit,
no, il PC non può modificare i pacchetti (rimuovere una dipendenza) perché non ha la tua chiave privata.
Simon
no, il PC non può modificare i pacchetti (rimuovere una dipendenza) perché non ha la tua chiave privata.
Simon
