Windows计算机可能会一次或多或少地卸载任何和所有ArcGIS产品的最简单,最直接的方法是什么?也许可以编写脚本?
从“控制面板”中的“添加/删除程序”非常简单,但是当安装了多个产品时,这是单击-单击-单击的过程,等待产品1的卸载,这可能需要一些时间,然后单击-单击-单击以获取# 2,依此类推。对于一台机器这没关系,但是当有几台机器时,这确实很痛苦。
Windows计算机可能会一次或多或少地卸载任何和所有ArcGIS产品的最简单,最直接的方法是什么?也许可以编写脚本?
从“控制面板”中的“添加/删除程序”非常简单,但是当安装了多个产品时,这是单击-单击-单击的过程,等待产品1的卸载,这可能需要一些时间,然后单击-单击-单击以获取# 2,依此类推。对于一台机器这没关系,但是当有几台机器时,这确实很痛苦。
Answers:
我用批处理文件来做。您可以将下面的代码单行编写,也可以通过更新位置来创建路径/安装程序循环。
SET INSTALL_PATH=\\myNetworkShare\InstallerLocation\
MSIEXEC.EXE /X %INSTALL_PATH%\setup.msi /QB
以下知识库文章提供了一个很好的起点:
编辑:只是为了澄清,使用第二篇文章,您可以使用GUID,因此您无需引用原始安装程序。我想一种方法对您的脚本/批处理文件更有意义
此食谱对我们有用,是希比马的答案的扩展版本。也许有更好的方法,但这对我们现在来说已经足够好了-从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环境变量对于上述工具来说是一个很好的资源。
显示关联:
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
)
在卸载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,但效果有限。如果有一种更可靠,更轻松的方法,我当然想听听。
msiexec /x %product_code%
路线是否避开了这种情况。
为了完整起见,所有原始安装媒体上都包含Esri自己的Uninstall Utility,请阅读指南以了解哪些产品不包括在内(主要是ArcSDE和许可证管理器)。链接指向10.1,每个主要版本都会有一个新的卸载页面和实用程序。
请注意,该实用程序仅删除以前的版本。