news 2026/10/19 13:05:40

ArcGIS许可服务安装错误1935的系统级排查与修复指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ArcGIS许可服务安装错误1935的系统级排查与修复指南

做GIS软件部署这些年,我对ArcMap安装包里的License Manager有一种条件反射般的警惕。进度条走到“注册组件”附近突然弹出一个对话框,标题写“错误1935”,下方往往跟着一串十六进制代码——这是许可服务安装失败的典型信号。License Manager装不上,哪怕后面ArcMap主程序装好了,也找不到可用许可,项目工期直接就崩了。

这篇文章不是给你罗列网上那些“关杀毒、管理员运行”的套话,而是把我实际处理这类故障时最稳定的一套排查顺序完整讲一遍:先理解1935错误到底发生在哪个环节,再判断系统环境的问题出在哪儿,最后按成功率从高到低逐层执行修复。正在被这个错误卡住的运维同学,或者准备在新电脑上部署ArcGIS环境的朋友,跟着走一遍基本能少熬一个晚上。

1. 1935错误的真面目:许可服务到底卡在哪一步

1.1 安装脚本的双重身份:InstallScript与MSI组件

ArcMap配套的License Manager安装包并不是一个纯MSI文件。它的安装过程分两段:第一段是InstallShield的InstallScript脚本,负责释放文件、写注册表、创建系统服务;第二段在注册运行库时把控制权交给Windows Installer。1935错误码的官方解释是“安装程序集组件时出错”,翻译过来就是:Windows Installer在把几十个所有程序共用的DLL嵌入到系统共享目录(WinSxS)的时候失败了。

可以用一个生活类比来理解:WinSxS目录就像小区公共配电房,新住户要接入电表,但配电房之前被某些装修队弄得乱七八糟,新住户就不能正常接入。1935就是跳闸报警灯,问题根源往往不在“新住户”身上,而在配电房——也就是系统的共享运行库环境。

1.2 我见过的高频诱因,按出现频率排序

先给一张经验表,让你心里有个底,修复前可以对照自己的机器情况判断大概率的嫌疑点:

诱因出现频率典型表现
旧版Microsoft Visual C++运行库损坏或缺失最高错误详情附带“系统错误14001”或找不到vc80/vc90模块
Windows Installer服务损坏或第三方安全软件拦截高重试偶尔成功,重启后必现
.NET Framework版本异常或功能未启用中等错误出现在注册.NET程序集阶段
旧许可组件卸载不干净,注册表残留中等之前装过其他版本Licensing组件
非管理员权限安装中等同一安装包换管理员账号就成功
临时目录权限异常或磁盘空间不足低错误出现在解压阶段

这张表不是凭空列的,大部分现场故障最后都落在第一行。ArcGIS许可服务是典型的原生C++应用,安装时要在WinSxS里注册共享运行库,一旦系统里存在半损坏的旧版本,或者安全软件盯着写入动作不放,就会在“Win32程序集”注册阶段报告1935。

1.3 先看弹窗里的“系统错误”字段,能省一半排查时间

很多人在1935弹窗里只看到红叉就赶紧点了关闭,其实弹窗里的错误文本非常有价值。我经手过的机器上,常见这种格式:

Error 1935. An error occurred during the installation of assembly component {组件GUID}. HRESULT: 0x800736B1.

0x800736B1转成十进制就是14001,这个数字代表“side-by-side configuration is incorrect”,也就是程序集并行配置错误,基本直指VC++运行库损坏。再往下看还可能遇到这些常见系统错误码:

  • 14001(0x800736B1):程序集并行配置错误,最常对应VC++库损伤。
  • 16389(0x80070005):访问被拒绝,通常是权限不足或安全软件干预。
  • 2(0x80070002):找不到指定文件,可能是临时目录被清理不完整或运行库缺失。

处理这类问题有个原则:弹窗里出现的错误码越具体,修复方向就越明确。你花三十秒读一下错误详情,比盲试任何“一键修复”工具都靠谱。

2. 动手前的环境判读:五分钟确认问题方向

2.1 事件日志里的MsiInstaller记录,比报错框更诚实

打开事件查看器,筛选来源为MsiInstaller的日志,时间对应到安装失败那一刻。重点看11707和1022这两种事件ID,它们通常会带着“Product: ArcGIS License Manager”和一条“Command line”信息,直接告诉我是哪个组件注册失败。这是定位问题的第一手资料,比反复点重试有效得多。

具体操作路径:

  • Win+R输入eventvwr回车。
  • 左侧导航到Windows日志 -> 应用程序。
  • 右侧点击“筛选当前日志”,事件来源勾选MsiInstaller。
  • 按时间找到安装失败窗口的记录,双击复制完整错误文本。

如果你发现事件日志里连续几条都是同一个组件的热错误,基本就可以确认问题出在运行库注册环节,而不是安装包本身损坏。如果事件日志压根不写任何MsiInstaller记录,那要回头检查安装包是不是被安全软件拦截在释放阶段了。

2.2 Windows Installer服务的健壮性检查

打开服务管理器(services.msc),确认Windows Installer的状态。正常情况它是“已启动”,或者至少可以手动启动。如果服务标为“手动”但启动时报“找不到指定文件”,说明系统文件损伤,这时候可以考虑重注册Windows Installer服务:

打开管理员CMD,依次执行:

msiexec /unregister msiexec /regserver net start msiserver

提示:执行完三条命令后,回服务管理器验证状态,能正常起来再继续。安全软件如果拦住了msiexec的进程行为,注册动作会执行到一半被“踩刹车”,所以重注册之前最好先把第三方安全软件的服务完全退出,别只关托盘图标。

2.3 运行库与.NET清单梳理:缺什么、坏什么、装什么

在控制面板的“程序和功能”里,直接查看所有“Microsoft Visual C++ 20xx Redistributable”条目。ArcMap的许可服务在不同版本依赖不同的运行库:较早版本(如10.2)依赖VC++ 2005/2008,后续版本基本依赖2013和2015-2022。建议x64和x86版本都装上,别觉得64位系统只装x64就行——很多许可服务进程是32位,需要的是x86运行库。

.NET部分也不能忽略。Win+R输入optionalfeatures,确认“.NET Framework 3.5(包括 .NET 2.0 和 3.0)”是否勾选启用。部分ArcGIS 10.x的安装步骤要求.NET 3.5存在,企业内网环境尤其常见默认镜像没勾选这个功能的情况。缺失的话,安装接近完成时容易出现1935或类似错误。

3. 修复实操流水线:按成功率从低到高逐层执行

3.1 零成本试错:完全退出安全软件并用管理员身份安装

这一步没成本,先排除人为因素。注意“完全退出”不是点托盘右上角的X,许多安全软件退出界面后核心服务和驱动仍在运行。打开任务管理器,确认安全软件相关进程都消失了,再把安装包复制到本地磁盘根目录,右键“以管理员身份运行”。

有个实际案例供参考:现场一台机器从U盘里直接双击安装包,反复失败;把安装包拷贝到C盘根目录后一次成功。原因是U盘的文件系统或目录权限影响了组件注册。这一步虽然简单,但能做到的人不多,值得先试。

3.2 清理临时目录和Installer缓存,别手滑删错

安装过程中,InstallScript会往系统临时目录释放中间文件,如果%temp%目录权限异常或空间不足,组件注册也会失败。清理方法:

  • 打开%temp%和C:\Windows\Temp,删掉能删的内容。
  • 遇到“文件被占用”提示时,打开资源监视器查看是哪个进程锁定了文件,结束进程后再删。
  • 运行磁盘清理工具,勾选“临时文件”和“临时Windows安装文件”进行清理。

特别提醒:C:\Windows\Installer目录不要手动清理。这里存放的是所有MSI安装数据库和补丁缓存,乱删之后很多软件会出出现无法卸载、修复、升级的问题。这个目录的清理工作应该交给磁盘清理和系统工具,而不是手贱去翻。

3.3 重装VC++运行库:整个修复流程中的关键一步

把VC++运行库单独安装一遍,用来判断问题归属:

  1. 到微软官方下载页面,下载vc_redist.x86.exe和vc_redist.x64.exe,版本选2015-2022最新版。
  2. 先装x86,再装x64,全程管理员身份。
  3. 重点观察:单独安装库时如果复现1935,说明不是ArcMap安装包的问题,而是系统组件底层损伤。此时先执行系统修复:
dism /online /cleanup-image /restorehealth

重启后执行:

sfc /scannow
  1. 如果单独装库正常,再回装License Manager。
  2. 回装仍报错的话,把现有所有VC++库统一升级到微软支持的版本,而不是只补缺失那个,再次安装。

为什么要这样拆开判断?License Manager安装过程中会调用VC++库注册,单独装库能成功,至少证明系统基本组件是可写的;回装仍然失败,往往是安装包内嵌的旧库版本和系统里已有库存在冲突。这时候统一升级现有版本通常能解决。

另外别去下载第三方“运行库合集”,这类整合版在注册表信息上经常不完整,装上之后反而可能引出一堆新错误。运行库这东西,官方原版才是底线。

3.4 检查.NET环境与注册表残留

如果运行库层面没问题,接着看.NET。系统镜像缺少.NET 3.5的,用管理员CMD执行:

dism /online /enable-feature /featurename:NetFx3 /all

执行完重启,再继续安装。

注册表残留方面,Win+R输入regedit,检查这些位置:

  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ESRI
  • HKEY_LOCAL_MACHINE\SOFTWARE\ESRI

如果之前卸载过旧版本许可组件,这里可能残留不完整的子键。右键导出备份后,再删除不完整子键。注意:不要直接删整个ESRI主键,里面包含ArcMap桌面的许可引用,网上很多教程让“直接删ESRI键”,真照做会让你连主程序一起废掉。

3.5 微软官方安装疑难解答工具与系统还原点兜底

走到这一步还没解决,就用微软官方的“程序安装和卸载疑难解答工具”。这个工具会重置Windows Installer状态、清理临时文件、修复某些常见注册表问题,运行后重启电脑再安装。它有时候会有奇效,但局限在于不会帮你把缺失的运行库补回来。所以运行前最好先确认3.3的内容已经做完了。

如果你的系统有明确的还原点,而且安装失败之前环境还相对干净,回滚到那个还原点,先装运行库,再装License Manager,速度往往比继续原地排查快得多。前提是还原点要真的存在,而不是系统设置里“显示”一个但还原失败。

4. 装成功只是开始:许可服务的运行态验证

4.1 服务状态、进程与默认端口检查

安装完成后进入服务管理器,找到许可服务(不同版本显示为ArcGIS License Manager或License Manager Service),确认启动类型是自动、状态是运行中。然后命令行检查端口:

netstat -aon | findstr 27000

正常应该看到LISTENING状态,对应的PID在任务管理器里能定位到许可服务主进程。如果服务显示“已启动”但端口没有监听,大概率是许可文件路径有问题。打开许可管理界面,确认许可文件路径指向你保存的那个.lic文件。这里有个实际经验:路径中不要出现中文和括号目录,个别环境会出现服务后台找不到文件、前台却不报错的诡异情况,检查路径能省去大量误判。

4.2 本机连接测试与防火墙规则

在ArcMap主程序里打开可用性设置,应能看到localhost节点以及批准的许可类型。如果连接测试失败,按这个顺序排查:

  1. 防火墙有没有放行许可服务程序,或允许27000端口TCP入站。
  2. hosts文件中localhost解析是否正常。IPv6优先环境下,可以把127.0.0.1 localhost手动放在hosts文件最前面,避免解析到::1。
  3. 如果机器是虚拟机或者做过硬件克隆,授权绑定的特征值会变化,需要重新申请许可文件。

给一条防火墙命令行规则(管理员CMD):

netsh advfirewall firewall add rule name="ArcGIS License TCP 27000" dir=in action=allow protocol=TCP localport=27000

不习惯用命令行的话,可以在“高级安全Windows Defender防火墙 -> 入站规则 -> 新建规则 -> 端口”里做同样配置。这两件事做完,本机连接基本就顺了。

4.3 安装完成的现场固化

安装成功不是终点,建议顺手固化现场状态:

  1. 创建新的系统还原点,命名成“After Lic Manager Install”,方便后续回滚。
  2. 备份许可文件到非系统盘,顺手记录绑定信息。
  3. 记录当前VC++运行库和.NET版本的状态,方便Windows更新后做对比。

为什么值得固化?许可服务对运行库环境敏感,Windows大版本更新可能调整WinSxS里的共享组件,一旦后续更新把某个旧库替换掉,服务可能静默起不来。有还原点和许可文件备份,恢复时间可以从半天缩短到半小时。

5. 从1935说开去:同族许可安装错误的通用排查逻辑

5.1 错误码家族:不要一条道走到黑

1935并不是唯一的安装类错误。许可服务安装时还可能遇到这些兄弟错误码:

错误码典型时机主要修复方向
1935注册Win32程序集阶段检查VC++运行库、WinSxS、Windows Installer
1920服务启动失败检查服务账户权限、依赖服务
1923服务安装失败检查旧服务残留、端口占用、安全软件阻止
1706找不到安装源检查安装包完整性、盘符变化
1603安装期间致命错误查看临时日志、管理员运行、升级Windows Installer

这组错误的核心逻辑是一样的:问题通常不在安装包本身,而在Windows系统组件和权限环境。排查顺序固定为:事件日志定位组件 -> 检查运行库 -> 复位安装服务 -> 清理残留 -> 重装。不需要看到错误码就焦虑,家族解法大同小异。

5.2 环境“干净”才是一劳永逸:部署阶段的预防思维

从大量现场经验来看,1935高发的机器都有共同特点:长期不更新、装过各种绿色软件和运行库整合包、安全软件策略激进,或者使用过非正规系统镜像。想从源头降低发生率,建议把运行库和.NET纳入基础镜像,每次装机打好底子再装ArcGIS。

批量部署环境还有一个实操经验:先用一台干净机器验证完整安装顺序,再制作系统镜像,而不是让每台机器都踩一遍坑。做过镜像恢复的机器尤其要注意,Sysprep或克隆后的系统,运行库注册状态可能不完整,装什么大型软件都可能翻车。

5.3 最后的兜底方案:保留文件的重装系统

最后说一个不算优雅但非常有效的兜底方案。如果问题机器已经重度使用多年,各种修复手段都试过仍然失败,直接用“重置此电脑 -> 保留我的文件”恢复系统。恢复完成进入桌面后,第一件事装VC++运行库和.NET 3.5,然后装License Manager,最后装ArcMap主程序。

这个顺序我在多台顽固环境机器上实测有效,原因是重装后的系统没有旧组件残留和安全软件干扰。代价是第三方软件需要重装,但用户的数据文件都能保住。真到了这一步,别再纠结是不是某个特定驱动的问题了,恢复系统往往比继续排查快得多。

我在实际处理1935错误时的体会有两条。第一条:永远先确认运行库,不要第一轮就去动注册表,删除ESRI键值只会让局面更复杂。第二条:安装完成后别急着跑,花三十秒确认许可服务端口和防火墙规则,能避免后续一连串连接问题。这两个动作做扎实,License Manager的1935基本就彻底翻篇了。希望这篇经验能帮你少折腾一个晚上,如果是在某个特定版本上碰到的顽固案例,欢迎在评论区聊聊你的排查过程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 13:03:17

open-code-review:面向Git工作流的开源代码审查协议层

1. 这不是又一个“AI代码审查”玩具:open-code-review 的真实定位与设计哲学“open-code-review”这个项目名乍看平平无奇,甚至有点像某个被遗忘在 GitHub 角落的半成品仓库。但当你把目光从标题本身移开,扫一眼那些高频出现的热搜词——CLI、…

作者头像 李华
网站建设 2026/10/19 13:01:07

选硬度计之前,先把你要测的“坑”问明白

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/19 12:59:00

bypy百度网盘命令行工具实战指南

1. 为什么非得在命令行里碰百度网盘?——一个被低估的生产力缺口你有没有过这种时刻:深夜改完一份200MB的实验数据集,想传给合作者,但图形界面的百度网盘客户端卡在“正在扫描文件”上纹丝不动;或者在一台没有桌面环境…

作者头像 李华
网站建设 2026/10/19 12:57:51

三相整流器(半波):为什么一定是Dy连接?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/19 12:55:36

ie-HGCN:可解释且高效的异构图神经网络模型解析

1. 从"黑盒"到"白盒":异构图神经网络的可解释性困局异构图神经网络这两年在学术圈和工业界的讨论热度一直居高不下。原因也不难理解——现实世界里的数据天然就是"多类型节点多类型边"的结构。比如学术网络里有作者、论文、会议、机构…

作者头像 李华
网站建设 2026/10/19 12:54:35

开源AI视频生成全流程:零成本制作产品宣传片实战指南

做过产品的人都知道,做一支像样的产品宣传片有多贵。找外包拍实景,一天下来几万块是起步价;用三维动画,建模和渲染的时间成本高到离谱;哪怕只是请人写脚本、配个音、做个简单的动态图文,一套流程走完也得几…

作者头像 李华