Disinstallazione completa del Client ICA per Citrix Xen App (Presentation Server)

19 marzo 2008 Francesco Lascia un commento Vai ai commenti

Citrix ha rilasciato numerosissime versioni di Client ICA e trovandosi a fare degli upgrade spesso si finisce per avere dei PC con più versioni di Client ICA installato (per esempio il Web ICA Client di una versione ed il client PN di un’altra). Alla fine è sempre un panico capire quale versione viene usata in una condizione o in un’altra.

Per una corretta disinstallazione è necessario capire quale versione di ICA Client dobbiamo rimuovere.

Esistono le seguenti possibilità:

  • ActiveX (solitamente versioni 4.x)
  • ICA Client installati tramite file .exe
  • ICA Client distribuiti tramite .cab dalla Web Interface
  • ICA Client installati tramite MSI

ActiveX

La versione ActiveX è piuttosto vecchia, ma cercando sulla Knowledgebase Citrix ho trovato questo interessante documento che propone una disinstallazione tramite uno script Visual Basic. Vi rimando pertanto al documento CTX372760

File EXE 

Questi sono il tipo di installazione più rognosa in quanto è per la disinstallazione è necessario l’intervento dell’utente per premere un Dialog Box nel quale si chiede la conferma di disinstallazione. Non c’è modo di saltare questa richiesta. Per rimuovere questo client il sistema più comune proposto è quello di utilizzare un tool come AutoIT che permette di intercettare il Dialog Box e simulare la conferma manuale dell’utente. Creato lo script si può usare un comando di questo tipo:

IF EXIST %SYSTEMROOT%\system32\ctxsetup.exe Script.exe

dove Script.exe è appunto lo script generato con AutoIT. Un’alternativa interessante è stata proposta sul forum Citrix in questo articolo dove è presente uno script vbs che va minuziosamente a cancellare tutti i file e le chiavi del registry e sostanzialmente disinstalla a mano il Client ICA. Questo script è stato pensato per rimuovere il Web Client versioni 7.1, 8.0 e 8.1. Per comodità vi allego qui di seguito lo script in formato testo.

File CAB

L’ICA Client installato tramite file cab dalla Web Interface è piuttosto comune e può essere facilmente disinstallato tramite la seguente riga di comando:

IF EXIST %SYSTEMROOT%\INF\wficat.inf RunDll32 ADVPACK.DLL,LaunchINFSection %SYSTEMROOT%\INF\wficat.inf,DefaultUninstall

Faccio notare l’utilizzo della variabile %SYSTEMROOT% che cambia a seconda del sistema operativo. Sfortunatamente questo sistema funziona solo dalla versione 7 in avanti… Per le versioni precedenti è necessario procedere con un sistema analogo ai file di tipo .exe.

Pacchetto MSI

Le installazioni effettuate tramite MSI sembrano le più semplici da rimuovere. La sintassi è di questo tipo

MsiExec.exe /X{DF1D5FEC-D67C-43C8-9230-41F5DF350196} /QUIET

Il problema più grande è che diverse versioni di Client ICA corrispondono a diversi ID. Per esempio:

  • {2C42EDE1E-6315-4E63-89E6-057EA114EBB8} per MetaFrame Presentation Server Client (8.00.24737) 
  • {C49067A8-8212-4A82-A4D9-1519701644F0} per Citrix Presentation Server Client – Web Only (10.100.55836)
  • {42ACCB45-3363-47E0-94E9-F0074CC8BC56} per Citrix Presentation Server Client (10.150.58643)

Gli ID del Client ICA possono essere trovati controllando i programmi installati nella chiave HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 

Per tutte le modalità di disinstallazione bisogna tenere presente che i file di configurazione memorizzati nella cartella %userprofile%\Application Data\ICAClient di ogni profilo utente presente sulla macchina non vengono cancellati. In questo caso è necessario utilizzare un semplice script come quello fornitomi dal bravissimo Ciano (che ringrazio):

for /D %%a in ("%SystemDrive%\Documents and Settings\*") do rmdir /S /Q "%%a\Dati applicazioni\ICAClient"     

rmdir /S /Q %Programfiles%\citrix\

  1. Alessio
    24 aprile 2008 a 10:36 | #1

    Qua ci stavamo rompendo la testa per rimuovere il client ICA (nella varie versioni distribuite da max).

    Mi ricordavo di avere letto un articolo qua che stava sul pezzo.

    ciao

  1. Nessun trackback ancora...