Windows 시스템에 존재하는 모든 ArcGIS 제품을 한 번에 어느 정도 제거 할 수있는 가장 간단하고 간단한 방법은 무엇입니까? 아마도 스크립트 가능?
제어판에서 프로그램 추가 / 제거는 간단하지만 여러 제품이 설치되어있는 경우 클릭-클릭-클릭 과정이며, 제품 1이 제거 될 때까지 기다렸다가 시간이 걸릴 수 있습니다. 2 등. 한 대의 기계에는 문제가 없지만, 여러 대의 기계가 있으면 정말 고통 스럽습니다.
Windows 시스템에 존재하는 모든 ArcGIS 제품을 한 번에 어느 정도 제거 할 수있는 가장 간단하고 간단한 방법은 무엇입니까? 아마도 스크립트 가능?
제어판에서 프로그램 추가 / 제거는 간단하지만 여러 제품이 설치되어있는 경우 클릭-클릭-클릭 과정이며, 제품 1이 제거 될 때까지 기다렸다가 시간이 걸릴 수 있습니다. 2 등. 한 대의 기계에는 문제가 없지만, 여러 대의 기계가 있으면 정말 고통 스럽습니다.
답변:
배치 파일로 처리합니다. 아래 코드를 한 줄로 작성하거나 위치를 업데이트하여 경로 / 설치 프로그램 루프를 만들 수 있습니다.
SET INSTALL_PATH=\\myNetworkShare\InstallerLocation\
MSIEXEC.EXE /X %INSTALL_PATH%\setup.msi /QB
다음 KB 기사는 좋은 출발점을 제공합니다.
편집 : 두 번째 기사를 사용하여 명확하게 설명하기 위해 GUID를 사용할 수 있으므로 원래 설치 프로그램을 참조 할 필요가 없습니다. 하나의 방법이 스크립트 / 배치 파일에 더 적합하다고 생각합니다
이 레시피는 KHibma의 답변의 확장 버전 인 우리에게 효과적입니다 . 더 나은 방법이있을 수 있지만 지금 당장 충분합니다 . HowTo : 에서 Windows 레지스트리 제품 코드를 가져와 ArcGIS 제품을 자동으로 제거 하고 msiexec에 공급하십시오 .
msiexec /x %product_code% /qn /passive
/passive
를 자동으로 실행하려면 제거하십시오 (팝업 진행 창 없음).
내가 조립 한 제거-ALL-는 ArcGIS-제품을 .bat 인 8.2에서 10.3.1을 통해 모든는 ArcGIS 제품을 제거한다. (10.3+ 목록은 불완전하지만 위의 Esri KB 기사보다 완전합니다.) 거기에는 지능이없고, 실제로 무언가가 있는지 확인하기위한 테스트도없고, 목록을 통과하는 데있어 무차별적인 힘이 있습니다. 처음에는 msi 설치 프로그램을 사용하는 프로그램에서만 작동하므로 ArcPad와 같은 것은 포함되지 않습니다.
보다 목표적이고 유연한 접근 방식은 WMIC (Windows Management Instrumentation Command-line) 를 활용하는 것 입니다.
명명 된 단일 프로그램을 제거하십시오.
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을 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
파이썬이 평소에 설치되지 않았다면, 위치를 검색 reg query HKLM\SOFTWARE\Python /s
하고 감시 할 수 있습니다InstallPath
마지막 단계는 PATH 환경 변수에서 Python 2.7 항목을 제거하지만 더 많은 도구를 설치하지 않고이 작업을 수행하는 간단한 (스크립트 가능) 방법을 아직 찾지 못했습니다. 즉, 고통없이 Windows에서 PATH 환경 변수를 편집하는 것은 해당 도구에 대한 훌륭한 리소스입니다.
또한 가능하게되어 필요한 assoc
및 ftype
파일 연결을 확인하고 가능하면 수정 :
디스플레이 연결 :
assoc .py
.py=Python.File
ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*
연결 삭제 :
assoc .py=
ftype Python.File=
(의 호의 @ 대시 - 톰 - 강타 스택 오버플로도 확인 .pyc
. pyw
)
ArcGIS를 제거하기 전에 모든 타사 arcgis 확장을 제거해야합니다. 타사 설치 관리자는 종종 설치 또는 제거를 허용하기 전에 적절한 Esri 라이브러리가 있는지 확인합니다 !
예를 들어 10.0 용으로 작성된 타사 Arcmap 확장명이 있고 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%
경로 가이 상황을 회피 하는지 테스트하고 싶습니다 .