Этот рецепт работает для нас, расширенная версия ответа Хибмы . Могут быть и более эффективные методы, но этого у нас сейчас достаточно. Возьмите коды продуктов реестра Windows из HowTo: молча удалите продукты ArcGIS и отправьте их в msiexec :
msiexec /x %product_code% /qn /passive
Удалите, /passive
чтобы работать тихо (без всплывающего окна прогресса).
Я собрал .bat uninstall -ALL-ArcGIS-products., Который удаляет все продукты ArcGIS с 8.2 до 10.3.1. (Список 10.3+ неполный, но более полный, чем приведенная выше статья Esri KB). Нет никакого интеллекта, никакого тестирования, чтобы увидеть, есть ли что-то на самом деле, это просто грубая сила, он пробирается сквозь список. Он работает только для программ, которые в первую очередь используют установщик MSI, поэтому такие вещи, как ArcPad, не включены.
Более целенаправленным и гибким подходом будет использование командной строки инструментария управления Windows (WMIC) .
Удалите одну именованную программу:
wmic product where ^
"name = 'ArcGIS 10.1 SP1 for Desktop Background Geoprocessing (64-bit)'" ^
call Uninstall
Удалите что-нибудь с помощью ArcGIS в заголовке, все сразу (обратите внимание на причудливый синтаксис с подстановочными знаками ):
wmic product where ^
"name like '%ArcGIS%'" ^
call Uninstall
В WMIC Snippets еще много полезных примеров , например, список установленных программ:
wmic product where "Name like '%ArcGIS%'" ^
get Name, IdentifyingNumber, Version
wmic product where "Vendor like '%Environmental Systems Research Institute%'" ^
get Name, Version, InstallDate, InstallLocation
Я решил не использовать wmic, потому что запросы возвращаются очень долго (заманчиво думать, что оно зависло, глядя на пустое и немигающее приглашение оболочки в течение многих десятков секунд. Вероятно, это не так).
Python - это немного отдельный зверь. Например, если python был установлен с ArcGIS, удаление ArcGIS также приведет к удалению python, но любые сторонние модули, добавленные после слов, останутся позади.
Предполагая, что кто-то хочет полностью удалить Python 2.6 и любой связанный с ним материал (слепое копирование и вставка без понимания не рекомендуется) :
Удалите все файлы Python для этой версии на диске:
rd /s/q C:\Python27
Удалить ключи реестра с помощью REG :
reg delete HKLM\SOFTWARE\Python\PythonCore\2.7 /f
reg delete HKCU\SOFTWARE\Python\PythonCore\2.7 /f
Если python не был установлен в обычном месте, вы можете получить его местоположение с помощью reg query HKLM\SOFTWARE\Python /s
и следить заInstallPath
Последний шаг - удалить все записи Python 2.7 из переменной среды PATH, но мне еще предстоит придумать простой (пригодный для сценариев) способ сделать это без установки дополнительных инструментов. Тем не менее, редактировать переменную среды PATH в Windows безболезненно является отличным ресурсом для указанных инструментов.
Кроме того, возможно , нужно будет assoc
и ftype
для проверки и , возможно , исправить ассоциации файлов:
Показать ассоциацию:
assoc .py
.py=Python.File
ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*
Удалить ассоциацию:
assoc .py=
ftype Python.File=
(любезно @ тире-TOM-паф на переполнение стека, а также проверить .pyc
,. pyw
)