windows installer服务未运行是jdk安装卡在“正在启动”的主因,需检查服务状态、排除安全软件拦截、验证安装包完整性、确保管理员权限、清理msi残留锁文件。

Windows Installer服务未运行导致JDK安装卡在“正在启动”
JDK安装程序(尤其是.exe格式)本质是MSI封装,依赖Windows Installer服务。如果该服务被禁用或处于暂停状态,安装会卡死在“正在启动”或进度条不动,任务管理器里可能看到多个msiexec.exe进程僵住。
- 打开「服务」管理器(
services.msc),找到Windows Installer,确认状态为「正在运行」,启动类型为「手动」或「自动」 - 若服务无法启动,右键 → 「属性」→ 「登录」选项卡 → 勾选「允许服务与桌面交互」(仅限旧版系统如Win7/Win10早期;Win11已移除此选项,跳过)
- 常见诱因:安全软件(如火绒、360)误杀
msiexec.exe或拦截服务调用,临时退出再试
JDK安装包损坏或下载不完整引发静默卡顿
Oracle或Eclipse Temurin的JDK安装包较大(300MB+),断连、代理中断、浏览器下载中途暂停都可能导致文件校验失败——但安装程序不报错,只卡在初始化阶段。
- 检查下载文件大小是否与官网标注一致,例如
jdk-21_windows-x64_bin.exe应为约350MB - 用命令行验证SHA256(官网提供哈希值):
certutil -hashfile jdk-21_windows-x64_bin.exe SHA256 - 优先使用
curl或wget重下,避免浏览器直下;若走公司代理,换用Offline Windows Installer(.exe不含在线组件)
用户权限不足或UAC干扰安装流程
即使以管理员身份运行,UAC虚拟化或当前用户无写入Program Files权限时,msiexec会在后台尝试重定向写入,导致路径冲突、注册表锁死、卡在「配置系统」环节。
- 右键安装程序 → 「以管理员身份运行」,且确保弹出的UAC确认框点击「是」(不是回车默认确认)
- 临时关闭UAC(控制面板 → 用户账户 → 更改用户账户控制设置 → 拉到最低)后重试,验证是否为权限问题
- 更稳妥做法:安装时自定义路径到非系统盘根目录,例如
C:\jdk21\,避开权限敏感区域
残留MSI事务或损坏的安装数据库锁定进程
前一次安装异常退出后,msiexec.exe可能残留锁文件(如C:\Windows\Installer\inprogress),或Windows Installer数据库损坏,新安装会无限等待释放锁。
- 打开命令提示符(管理员),执行:
net stop msiserver→net start msiserver - 清空临时安装缓存:
del /f /q "%windir%\Installer\*.tmp" - 终极手段:运行微软官方
Microsoft Program Install and Uninstall troubleshooter(离线工具,搜KB17588即可下载)
真正卡住的时候,往往不是JDK本身的问题,而是Windows Installer底层状态没被清理干净——它不报错,也不退出,就停在那里等一个永远收不到的信号。










