Esta receta nos funciona, una versión ampliada de Respuesta de KHibma . Puede haber mejores métodos, pero esto es suficiente para nosotros en este momento - tomar los códigos de producto del registro de Windows de Cómo hacerlo: Desinstalación silenciosa de productos ArcGIS y darles de comer a msiexec :
msiexec /x %product_code% /qn /passive
Retire el /passive
para que se ejecute en silencio (sin ventana de progreso emergente).
He reunido uninstall-ALL-ArcGIS-products .bat que elimina todos los productos ArcGIS desde la versión 8.2 hasta la 10.3.1. (La lista de 10.3+ está incompleta, pero es más completa que el artículo de la KB de Esri mencionado anteriormente). No hay inteligencia para ello, no hay pruebas para ver si algo está realmente allí, sólo la fuerza bruta es a través de la lista. Sólo funciona para los programas que utilizan el instalador msi en primer lugar, por lo que las cosas como ArcPad no están incluidos.
Un enfoque más específico y flexible sería aprovechar Línea de comandos de instrumentación de gestión de Windows (WMIC) .
Desinstalar un solo programa con nombre:
wmic product where ^
"name = 'ArcGIS 10.1 SP1 for Desktop Background Geoprocessing (64-bit)'" ^
call Uninstall
Desinstalar cualquier cosa con ArcGIS en el título, todo de una vez (nótese el sintaxis de comodines extravagantes ):
wmic product where ^
"name like '%ArcGIS%'" ^
call Uninstall
Muchos más ejemplos útiles en Recortes de WMIC como el listado de programas instalados:
wmic product where "Name like '%ArcGIS%'" ^
get Name, IdentifyingNumber, Version
wmic product where "Vendor like '%Environmental Systems Research Institute%'" ^
get Name, Version, InstallDate, InstallLocation
Elegí no usar wmic porque las consultas tardan mucho en volver (es tentador pensar que está colgado, mirando un prompt de shell en blanco y sin parpadear durante muchas decenas de segundos. Pero probablemente no sea así).
Python es una bestia un poco separada. Por ejemplo, si python se instaló con ArcGIS, la desinstalación de ArcGIS también desinstalará python, pero cualquier módulo de terceros añadido después se quedará atrás.
Suponiendo que uno quiera eliminar completamente Python 2.6 y cualquier material asociado (no se aconseja copiar y pegar a ciegas sin entender) :
Eliminar todos los archivos de Python para esta versión en el disco:
rd /s/q C:\Python27
Eliminar las claves del registro con REG :
reg delete HKLM\SOFTWARE\Python\PythonCore\2.7 /f
reg delete HKCU\SOFTWARE\Python\PythonCore\2.7 /f
Si python no se instaló en el lugar habitual, puede recuperar su ubicación con reg query HKLM\SOFTWARE\Python /s
y vigilar para InstallPath
El último paso es eliminar cualquier entrada de Python 2.7 de la variable de entorno PATH, pero aún no he encontrado una forma directa (que se pueda ejecutar mediante un script) de hacerlo sin instalar más herramientas. Dicho esto, Editar la variable de entorno PATH en Windows sin dolor es un gran recurso para dichas herramientas.
También es posible que se necesite assoc
y ftype
para comprobar y posiblemente corregir las asociaciones de archivos:
Asociación para la visualización:
assoc .py
.py=Python.File
ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*
Eliminar la asociación:
assoc .py=
ftype Python.File=
(por cortesía de @dash-tom-bang en Stack Overflow, también comprueba .pyc
, . pyw
)