[RISOLTO] Agente Meshcentral

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
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
Bloccato
smandel
Messaggi: 111
Registrazione: 5 maggio 2022 - 11:30

12 settembre 2022 - 12:13

Buongiorno,

Sto provando a distribuire l'agente Meshcentral utilizzando il pacchetto tis-mesh-template.
Sono riuscito a sbloccare l'installazione dell'agente; era bloccata perché gli eseguibili dell'agente mesh mostravano la versione "0.0.0.0".
Quindi non dovrebbero esserci problemi con l'installazione.

Tuttavia, quando provo a disinstallarlo dalla console, ricevo questo messaggio:

Codice: Seleziona tutto

...Checking for previous installation of "\"Mesh" [NONE]
e successivamente il seguente messaggio di errore e nessuna disinstallazione dell'agente:

Codice: Seleziona tutto

Waiting for the removal of key: Mesh Agent from Windows registry
Fatal error : Uninstallkey still present
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1894, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 692, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1286, in _run
    self.result = self.wapt.remove(self.packagenames,
  File "C:\Program Files (x86)\wapt\common.py", line 5500, in remove
    setuphelpers.error('Uninstallkey still present')
  File "C:\Program Files (x86)\wapt\waptutils.py", line 1907, in error
    raise EWaptSetupException('Fatal error : %s' % reason)
waptutils.EWaptSetupException: Fatal error : Uninstallkey still present

EWaptSetupException: Fatal error : Uninstallkey still present
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1894, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 692, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1286, in _run
    self.result = self.wapt.remove(self.packagenames,
  File "C:\Program Files (x86)\wapt\common.py", line 5500, in remove
    setuphelpers.error('Uninstallkey still present')
  File "C:\Program Files (x86)\wapt\waptutils.py", line 1907, in error
    raise EWaptSetupException('Fatal error : %s' % reason)
waptutils.EWaptSetupException: Fatal error : Uninstallkey still present
Mentre non ho problemi quando eseguo la "disinstallazione" del pacchetto in Pyscripter.
Ho quindi l'impressione che la funzione "disinstalla" del pacchetto non venga utilizzata durante una disinstallazione tramite WAPT.

GRAZIE.

Distinti saluti.
Avatar utente
jpele
Messaggi: 156
Registrazione: 4 marzo 2019 - 12:01
Posizione: Nantes

12 settembre 2022 - 14:58

Buongiorno,
È probabile che tu stia testando la disinstallazione tramite la Console sulla macchina di sviluppo su cui hai creato e testato il pacchetto. Ecco perché l'installazione non viene rilevata nella Console. Ti consiglio di testarla su un'altra macchina per convalidarla.

Esiste un'istruzione di stampa a tal fine, che è stata visualizzata al momento dell'installazione tramite PyScripter.

Codice: Seleziona tutto

    if not running_as_system():
        print("WARNING: %s will NOT be installed as SYSTEM account, it may cause issues" % app_name)
Sinceramente,
Jimmy
smandel
Messaggi: 111
Registrazione: 5 maggio 2022 - 11:30

12 settembre 2022 - 15:16

Salve,

grazie per la risposta.
Sto testando il pacchetto in locale con PyScripter, poi lo carico sul server e lo assegno al mio PC.
L'installazione procede senza problemi, così come il controllo; recupera correttamente tutte le informazioni, incluso l'ID per l'accesso tramite la console WAPT.
Tuttavia, quando provo a disinstallarlo tramite la console WAPT, ricevo questi messaggi di errore, sia sul mio computer che su un altro.

La disinstallazione sembra avviare il comando "remove" e non il comando "uninstall".
Il problema è che non ho alcun controllo su ciò che accade durante il processo di "remove".

Grazie.

Cordiali saluti.
smandel
Messaggi: 111
Registrazione: 5 maggio 2022 - 11:30

12 settembre 2022 - 15:46

Ok, credo di averlo appena trovato...
Infatti, l'eseguibile dell'agente crea una "UninstallString" errata nel registro:

Codice: Seleziona tutto

C:\Program Files\Mesh Agent\MeshAgent.exe -funinstall --meshServiceName="Mesh Agent"
La stringa corretta è la seguente:

Codice: Seleziona tutto

C:\Program Files\Mesh Agent\MeshAgent.exe -fulluninstall
Devo avere una versione difettosa... (versione 1.0.85 del server Meshcentral)
smandel
Messaggi: 111
Registrazione: 5 maggio 2022 - 11:30

12 settembre 2022 - 15:59

Quindi, per risolvere il problema, ho aggiunto quanto segue alla fine di install():

Codice: Seleziona tutto

registry_set(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Mesh Agent","UninstallString","C:\Program Files\Mesh Agent\MeshAgent.exe -fulluninstall")
Avatar utente
jpele
Messaggi: 156
Registrazione: 4 marzo 2019 - 12:01
Posizione: Nantes

12 settembre 2022 - 16:16

È probabile, dato che i test sono stati eseguiti sulle versioni 0.9.84 e 1.0.0 (non ne sono certo).
Lo testerò comunque di nuovo; è passato un po' di tempo dall'ultima volta che ho controllato questo pacchetto.
Non esitate a fornirci qualsiasi informazione aggiuntiva che possa aiutarci a migliorare il pacchetto.
smandel
Messaggi: 111
Registrazione: 5 maggio 2022 - 11:30

12 settembre 2022 - 17:42

Quindi, in base ai miei test attuali, è meglio restare sulla versione stabile 1.0.0:

Codice: Seleziona tutto

npm install meshcentral@1.0.0
A livello WAPT, aggiungere la chiave precedente a "install()".
E nella funzione audit(), aggiungi una sospensione di 15 secondi all'inizio per garantire che le chiavi del registro vengano create correttamente:

Codice: Seleziona tutto

time.sleep(15)
Avatar utente
jpele
Messaggi: 156
Registrazione: 4 marzo 2019 - 12:01
Posizione: Nantes

16 settembre 2022 - 16:24

Buongiorno,
In effetti, la versione 1.0 sembra più sicura.
Per vostra informazione, potete cambiare versione graficamente dall'interfaccia web.
2022-09-15 16_22_20-MeshCentral.png
2022-09-15 16_22_20-MeshCentral.png (97,79 KB) Visualizzato 7880 volte
Il pacchetto è stato aggiornato; ecco il changelog:

0.2.1.3-80

Il pacchetto può ora essere completamente personalizzato in modo interattivo con update_package
La configurazione è ora basata sul file JSON "mesh-conf.json" modificato graficamente in update_package
Ora si utilizza una cartella persistente per chiamare il file JSON localmente con get_persistent_package_file()
Riempimento automatico impacted_process
Correggi la disinstallazione aggiungendo QuietUninstallString


Sinceramente,
Jimmy
Bloccato