Самый простой способ удалить все продукты ArcGIS?

26

Какой самый простой и простой способ удалить все продукты ArcGIS более или менее за один раз, которые могут присутствовать на компьютере с Windows? возможно сценарий?

Установка и удаление программ с панели управления проста, но когда установлено несколько продуктов, это процесс щелчка по щелчку мышью, подождите, пока продукт 1 будет удален, что может занять некоторое время, затем нажмите щелчок по щелчку для значка # 2 и так далее. Это нормально для одной машины, но когда их несколько, это настоящая боль.

Мэтт Уилки
источник
Я не уверен, что доверял бы сценарию, чтобы сделать это правильно, особенно если у вас есть какие-либо пользовательские / сторонние расширения / надстройки, которые должны быть удалены в первую очередь.
blah238
Это только отчасти насмешливо, но иногда проще переформатировать жесткий диск, переустановить Windows и начать заново, чем удалить ArcGIS, все его компоненты, обновления, расширения и т. Д. Недавно я пытался обновить до ArcGIS Desktop 10.1 и Программа установки продолжала говорить мне, что я не могу, потому что у меня все еще были установлены компоненты более ранней версии, чего, насколько я могу судить, я не сделал. У меня есть образ жесткого диска с установкой компьютера до установки Arc, в итоге я его перерисовал.
Дан С
Python также является болевым пунктом; после удаления он оставит следы любых пакетов сайта или модулей, не установленных с дистрибутивом ArcGIS.
blah238
спасибо за напоминание о модулях Python @ blah238, я добавил ответ, чтобы помочь с этим.
Мэтт Уилки

Ответы:

17

Я делаю это с командным файлом. Вы можете написать приведенный ниже код в виде одной строки или, обновив местоположения, вы можете создать цикл путей / установщиков.

SET INSTALL_PATH=\\myNetworkShare\InstallerLocation\

MSIEXEC.EXE /X %INSTALL_PATH%\setup.msi /QB

Следующие статьи базы знаний обеспечивают хорошую отправную точку:

Установить / удалить с помощью командных файлов

Silent Uninstall

Редактировать: просто чтобы уточнить, используя 2-ю статью, вы можете использовать GUID, поэтому вам не нужно ссылаться на оригинальный установщик. Я думаю, что один метод будет иметь больше смысла для вашего скрипта / пакетного файла

KHibma
источник
Это наш метод с использованием Silent
деинсталляции
12

Этот рецепт работает для нас, расширенная версия ответа Хибмы . Могут быть и более эффективные методы, но этого у нас сейчас достаточно. Возьмите коды продуктов реестра 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)

Мэтт Уилки
источник
9

Обязательно удалите все сторонние расширения arcgis перед удалением ArcGIS. Часто сторонние (не) установщики проверяют наличие соответствующих библиотек Esri, прежде чем разрешить установку или удаление !

Например, скажем, у вас есть стороннее расширение Arcmap, написанное для 10.0, и вы удалите ArcGIS 10.0, а затем установите ArcGIS 10.1. При обновлении до 10.1 стороннее расширение может работать или не работать. В любом случае, когда вы пытаетесь удалить версию 10.0 расширения, деинсталлятор будет жаловаться на отсутствие необходимых библиотек (другими словами, библиотек 10.0).

Болезненное решение: удалить 10.1, переустановить 10.0, удалить сторонние расширения, удалить 10.0, переустановить 10.1.

Я пробовал другие решения, такие как ccleaner, но с ограниченным успехом. Если есть более надежный и менее болезненный способ, я, конечно, хотел бы услышать об этом.

Кирк Куйкендалл
источник
Кирк, можешь назвать стороннее расширение, которое это делает? Я хотел бы проверить, не msiexec /x %product_code%обходит ли маршрут эту ситуацию.
Мэтт Уилки
Могу ли я ссылаться на 5-й?
Кирк Куйкендалл
Я не уверен, но я думаю, что расширение Data Interoperability также подпадает под эту категорию. Обязательно сначала удалите его.
blah238
terrago, ettools.
Брэд Несом
2
Самый простой способ узнать, какие сторонние инструменты установлены, - это зайти в Categories.exe и проверить Скрыть компоненты Esri. Каждая папка со знаком + должна указывать на то, что установлен сторонний инструмент. Было бы хорошо, если бы деинсталлятор Esri имел возможность выполнить это сканирование и предупреждал об установленных сторонних инструментах.
Кирк Куйкендалл
3

Для полноты картины есть также собственная утилита удаления Esri , которая имеется на всех оригинальных установочных носителях. Прочтите руководство, чтобы узнать, какие продукты исключены (в основном ArcSDE и License Manager). Ссылка указывает на 10.1, будет новая страница удаления и утилита с каждым основным выпуском.

Обратите внимание, что утилита удаляет только предыдущие версии.

Мэтт Уилки
источник