Pagina 1 di 1

[RISOLTO] Agente Meshcentral

Pubblicato: 12 settembre 2022 - 12:13
di smandel
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.

Re: Agente Meshcentral

Pubblicato: 12 settembre 2022 - 14:58
di jpele
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

Re: Agente Meshcentral

Pubblicato: 12 settembre 2022 - 15:16
di smandel
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.

Re: Agente Meshcentral

Pubblicato: 12 settembre 2022 - 15:46
di smandel
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)

Re: Agente Meshcentral

Pubblicato: 12 settembre 2022 - 15:59
di smandel
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")

Re: Agente Meshcentral

Pubblicato: 12 settembre 2022 - 16:16
di jpele
È 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.

Re: Agente Meshcentral

Pubblicato: 12 settembre 2022 - 17:42
di smandel
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)

Re: Agente Meshcentral

Pubblicato: 16 settembre 2022 - 16:24
di jpele
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 7942 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