卸载所有ArcGIS产品的最简单方法是?


26

Windows计算机可能会一次或多或少地卸载任何和所有ArcGIS产品的最简单,最直接的方法是什么?也许可以编写脚本?

从“控制面板”中的“添加/删除程序”非常简单,但是当安装了多个产品时,这是单击-单击-单击的过程,等待产品1的卸载,这可能需要一些时间,然后单击-单击-单击以获取# 2,依此类推。对于一台机器这没关系,但是当有几台机器时,这确实很痛苦。


我不确定我会相信脚本会正确执行此操作,尤其是如果您有任何自定义/第三方扩展/加载项,应首先将其卸载。
blah238 2013年

这只是部分折腾,但重新格式化硬盘,重新安装Windows并重新开始有时比卸载ArcGIS,其所有组件,更新,扩展等更容易。我最近尝试更新到ArcGIS Desktop 10.1和安装例程一直告诉我我不能,因为我仍然安装了早期版本的组件,据我所知我没有。我在计算机上安装了Arc之前的硬盘驱动器映像,最后重新对其进行了映像。
Dan C

Python也是一个痛点。卸载后,它将留下未随ArcGIS发行版一起安装的任何站点包或模块的痕迹。
blah238

感谢您提醒我有关python模块@ blah238的信息,为此我添加了一个答案。
马特·威尔基

Answers:


17

我用批处理文件来做。您可以将下面的代码单行编写,也可以通过更新位置来创建路径/安装程序循环。

SET INSTALL_PATH=\\myNetworkShare\InstallerLocation\

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

以下知识库文章提供了一个很好的起点:

使用批处理文件安装/卸载

静默卸载

编辑:只是为了澄清,使用第二篇文章,您可以使用GUID,因此您无需引用原始安装程序。我想一种方法对您的脚本/批处理文件更有意义


这是我们使用无提示卸载的方法
Mapperz

12

此食谱对我们有用,是希比马的答案的扩展版本。也许有更好的方法,但这对我们现在来说已经足够好了-从HowTo中获取Windows注册表产品代码:静默卸载ArcGIS产品并将其提供给msiexec

msiexec /x %product_code% /qn /passive

删除/passive以静默运行(没有弹出进度窗口)。

我将uninstall-ALL-ArcGIS-products .bat放在一起,从8.2到10.3.1删除了所有ArcGIS产品。(10.3+列表不完整,但比上述Esri KB文章更完整)。它没有情报,也没有测试来确定是否确实存在某些东西,只是蛮力地闯入了清单。它仅适用于首先使用msi安装程序的程序,因此不包括ArcPad之类的东西。


更具针对性和灵活性的方法是利用Windows Management Instrumentation命令行(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摘录中还有更多有用的示例,例如列出已安装的程序:

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,是因为查询需要很长的时间才能返回(很容易想起它已被挂起,在空白且不闪烁的shell提示符下等待了数十秒钟。这可能不是)。


Python有点独立。例如,如果在ArcGIS中安装了python,则卸载ArcGIS也将同时卸载python,但是添加了后缀的所有第3方模块将被保留。

假设要彻底删除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

最后一步是从PATH环境变量中删除任何Python 2.7条目,但是我还没有想出一种简单的(可编写脚本的)方式来执行此操作,而无需安装更多工具。也就是说,在Windows中轻松编辑PATH环境变量对于上述工具来说是一个很好的资源。

还可能需要assocftype检查并更正文件关联:

显示关联:

assoc .py
.py=Python.File

ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*

删除关联:

assoc .py=
ftype Python.File=

(由Stack Overflow上的@ dash-tom-bang提供,另请检查.pyc,。pyw


9

在卸载ArcGIS之前,请确保先卸载所有第3方arcgis扩展。 第三方(un)安装程序通常会在允许安装或卸载之前进行检查,以确保存在适当的Esri库!

例如,假设您有一个为10.0编写的第三方Arcmap扩展,然后卸载ArcGIS 10.0,然后安装ArcGIS 10.1。当您升级到10.1时,第三方扩展名可能会或可能不会起作用。无论如何,当您尝试卸载10.0版本的扩展程序时,卸载程序会抱怨缺少所需的库(换句话说,就是10.0库)。

痛苦的解决方案是:卸载10.1,重新安装10.0,卸载第3方扩展,卸载10.0,重新安装10.1。

我尝试过其他解决方案,例如ccleaner,但效果有限。如果有一种更可靠,更轻松的方法,我当然想听听。


柯克(Kirk),您能说出第三方扩展名吗?我想测试一下msiexec /x %product_code%路线是否避开了这种情况。
马特·威尔基

我可以恳求第五名吗?
Kirk Kuykendall

我不确定,但是我认为数据互操作性扩展也属于此类别。确保先卸载它。
blah238

terrago,ettools。
布拉德·尼索姆

2
我知道要安装什么第三方工具的最简单方法是进入Categories.exe,然后检查Hide Esri Components。每个旁边带有+的文件夹都应表明已安装了第三方工具。如果Esri的卸载程序可以执行此扫描并警告安装了第三方工具,那就太好了。
Kirk Kuykendall

3

为了完整起见,所有原始安装媒体上都包含Esri自己的Uninstall Utility,请阅读指南以了解哪些产品不包括在内(主要是ArcSDE和许可证管理器)。链接指向10.1,每个主要版本都会有一个新的卸载页面和实用程序。

请注意,该实用程序仅删除以前的版本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.