Questa ricetta funziona per noi, una versione estesa della risposta di KHibma . Potrebbero esserci metodi migliori, ma questo ci fa abbastanza bene per ora - prendi i codici del prodotto del registro di Windows da HowTo: disinstalla silenziosamente i prodotti ArcGIS e inviali a msiexec :
msiexec /x %product_code% /qn /passive
Rimuovere l' /passive
esecuzione silenziosa (nessuna finestra di avanzamento popup).
Ho messo a punto i programmi di disinstallazione di ALL-ArcGIS -bat che rimuove tutti i prodotti ArcGIS da 8.2 a 10.3.1. (L'elenco 10.3+ è incompleto, ma più completo dell'articolo KB di Esri sopra). Non c'è intelligenza ad esso, nessun test per vedere se qualcosa è effettivamente lì, è solo una bruta forza nella lista. Funziona solo per i programmi che utilizzano inizialmente il programma di installazione msi, quindi cose come ArcPad non sono incluse.
Un approccio più mirato e flessibile sarebbe quello di sfruttare la riga di comando di Strumentazione gestione Windows (WMIC) .
Disinstallare un singolo programma denominato:
wmic product where ^
"name = 'ArcGIS 10.1 SP1 for Desktop Background Geoprocessing (64-bit)'" ^
call Uninstall
Disinstalla qualsiasi cosa con ArcGIS nel titolo, tutto in una volta (nota la bizzarra sintassi jolly ):
wmic product where ^
"name like '%ArcGIS%'" ^
call Uninstall
Molti altri esempi utili negli snippet di WMIC , come l'elenco dei programmi installati:
wmic product where "Name like '%ArcGIS%'" ^
get Name, IdentifyingNumber, Version
wmic product where "Vendor like '%Environmental Systems Research Institute%'" ^
get Name, Version, InstallDate, InstallLocation
Ho scelto di non usare wmic perché le query impiegano molto tempo per tornare (è allettante pensare che sia bloccato, guardando un prompt della shell vuoto e senza collegamenti per molte decine di secondi. Probabilmente non lo è).
Python è un po 'una bestia separata. Ad esempio, se python è stato installato con ArcGIS, la disinstallazione di ArcGIS disinstallerà anche python, ma eventuali moduli di terze parti aggiunti dopo le parole d'ordine verranno lasciati indietro.
Supponendo che si desideri rimuovere completamente Python 2.6 e qualsiasi materiale associato (copia e incolla cieca senza comprensione non consigliata) :
Rimuovi tutti i file Python per questa versione sul disco:
rd /s/q C:\Python27
Rimuovere le chiavi di registro con REG :
reg delete HKLM\SOFTWARE\Python\PythonCore\2.7 /f
reg delete HKCU\SOFTWARE\Python\PythonCore\2.7 /f
Se python non è stato installato nella solita posizione, è possibile recuperarne la posizione reg query HKLM\SOFTWARE\Python /s
e cercarloInstallPath
L'ultimo passo è rimuovere tutte le voci di Python 2.7 dalla variabile d'ambiente PATH, ma devo ancora trovare un modo semplice (tramite script) per farlo senza installare più strumenti. Detto questo, modifica la variabile d'ambiente PATH in Windows senza dolore è una grande risorsa per detti strumenti.
Anche forse è necessario assoc
eftype
per controllare e possibilmente correggere le associazioni di file:
Mostra associazione:
assoc .py
.py=Python.File
ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*
Elimina associazione:
assoc .py=
ftype Python.File=
(per gentile concessione di @ dash-tom-bang su Stack Overflow, controllare anche per .pyc
. pyw
)