Windows 安装 MSI 包出现 2502、2503 时,可以核对运行权限,但错误码本身不等于“某目录必须开放所有权限”。2018 年安装 TortoiseGit/TortoiseSVN 的记录提到通过管理员命令行调用 msiexec;更完整的排查还需要安装日志。

先读错误码,不直接猜目录

Microsoft 的 Windows Installer 错误表中,2502 涉及未处于安装中却调用 InstallFinalize,2503 涉及未标记为进行中却调用 RunScript。它们描述安装流程状态,不能单独确定权限错误究竟发生在哪里。Installer 错误表

同一组错误可能是前面某个动作失败后的表现,因此要追首次失败及其上下文,而不是只搜索最后弹出的两个数字。

管理员终端是一个对照条件

原记录使用 msiexec /package 指定安装包。若可信安装包要求管理员权限,可在相应终端运行,并同时保留详细日志:

msiexec.exe /i "C:\Installers\example.msi" /L*V "C:\InstallLogs\example.log"

路径需换成真实可信的安装包,日志目录需事先存在且可写。执行该命令会实际安装软件,不是只读检查。msiexec 参数

终端菜单名称会随 Windows 版本变化;关键是确认当前终端权限和安装包来源,而不是照抄旧系统的右键菜单文字。

日志怎样支持判断

对照安装包版本和签名、Windows 版本、首次失败动作及附近错误,再比较普通运行与必要提权后的表现。日志可能包含本机路径和安装属性,对外提供时应脱敏。

不要默认给系统目录或临时目录递归授予所有用户完全控制,也不要关闭安全软件来绕过未知错误。如果提权后成功,只能说明运行上下文改变影响了结果;仍应确认具体失败步骤及完成后的安装状态。

右键菜单和状态图标问题属于安装后的 Shell 集成,见TortoiseGit 菜单与角标,不能与安装过程的错误混为一谈。