Cette recette fonctionne pour nous, une version étendue de la réponse de KHibma . Il existe peut-être de meilleures méthodes, mais cela fonctionne assez bien pour nous en ce moment - récupérez les codes de produit du registre Windows de HowTo: désinstallez silencieusement les produits ArcGIS et alimentez-les vers msiexec :
msiexec /x %product_code% /qn /passive
Supprimez le /passive
pour exécuter en silence (pas de fenêtre de progression contextuelle).
J'ai mis en place le fichier uninstall-ALL-ArcGIS-products .bat qui supprime tous les produits ArcGIS de 8.2 à 10.3.1. (La liste 10.3+ est incomplète, mais plus complète que l'article Esri KB ci-dessus). Il n'y a pas d'intelligence, pas de test pour voir si quelque chose est réellement là, cela force simplement la force à travers la liste. Cela ne fonctionne que pour les programmes qui utilisent le programme d'installation msi en premier lieu, donc des choses comme ArcPad ne sont pas incluses.
Une approche plus ciblée et plus souple consisterait à tirer parti de la ligne de commande WMIC (Windows Management Instrumentation Command-line) .
Désinstallez un seul programme nommé:
wmic product where ^
"name = 'ArcGIS 10.1 SP1 for Desktop Background Geoprocessing (64-bit)'" ^
call Uninstall
Désinstallez tout avec ArcGIS dans le titre, tout d'un coup (notez la syntaxe générique excentrique ):
wmic product where ^
"name like '%ArcGIS%'" ^
call Uninstall
Beaucoup d'autres exemples utiles sur WMIC Snippets , tels que la liste des programmes installés:
wmic product where "Name like '%ArcGIS%'" ^
get Name, IdentifyingNumber, Version
wmic product where "Vendor like '%Environmental Systems Research Institute%'" ^
get Name, Version, InstallDate, InstallLocation
J'ai choisi de ne pas utiliser wmic car les requêtes mettent beaucoup de temps à revenir (il est tentant de penser qu'il est bloqué, en regardant une invite de shell vide et non clignotante pendant plusieurs dizaines de secondes. Ce n'est probablement pas le cas).
Python est un peu une bête distincte. Par exemple, si python a été installé avec ArcGIS, la désinstallation d'ArcGIS entraînera également la désinstallation de python, mais tous les modules tiers ajoutés après les mots de passe seront laissés pour compte.
En supposant que l'on veuille supprimer complètement Python 2.6 et tout matériel associé (copier-coller aveugle sans compréhension déconseillé) :
Supprimez tous les fichiers Python de cette version sur le disque:
rd /s/q C:\Python27
Supprimez les clés de registre avec REG :
reg delete HKLM\SOFTWARE\Python\PythonCore\2.7 /f
reg delete HKCU\SOFTWARE\Python\PythonCore\2.7 /f
Si python n'a pas été installé à l'emplacement habituel, vous pouvez récupérer son emplacement avec reg query HKLM\SOFTWARE\Python /s
et surveillerInstallPath
La dernière étape consiste à supprimer toutes les entrées Python 2.7 de la variable d'environnement PATH, mais je n'ai pas encore trouvé de moyen simple (scriptable) de le faire sans installer plus d'outils. Cela dit, éditer la variable d'environnement PATH dans Windows sans douleur est une excellente ressource pour lesdits outils.
Également éventuellement nécessaire est assoc
et ftype
pour vérifier et éventuellement corriger les associations de fichiers:
Association d'affichage:
assoc .py
.py=Python.File
ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*
Supprimer l'association:
assoc .py=
ftype Python.File=
(avec l' aimable autorisation de @ tiret-tam-bang sur le débordement de pile, vérifiez aussi .pyc
,. pyw
)