软件安装与启动报错排查
保留原始报错,区分直接观察、可能原因与尚未核对项。先找一个有证据的下一步;修复后必须用原操作重新验证,安装成功不能自动算原问题已解决。
环境与首用
- Python 3.8+ 标准库;本机环境采集需要目标 Windows 10/11。
analyze与固定demo可在其他系统运行。采集的是执行工具所在电脑;在远端运行不能说成检查了用户本机。 - 有报错就直接分析,不强制先看演示。没有本机工具也可用完整文字和截图开展排查,不能声称读取了注册表或程序。
collect只读系统架构、VC++ v14 注册项及用户指定程序的 PE 头;不启动程序、列出全部个人软件、读取产品密钥或接受管理员提权。
如何判断
- 记录软件名称/版本、官方来源、原始报错、触发步骤、最后成功时间与刚发生的变更。截图无法辨认时把无法确认的字保留为未知。
- 可运行工具时采集目标 Windows 环境;程序路径只在用户指定后读取。PE 头只能提供文件声明的架构,不证明签名可信、文件完整或依赖可加载;.NET AnyCPU 等情况还需官方构建要求。
- 报错明确提及
VCRUNTIME140.dll/MSVCP140.dll时,核对程序架构与 VC++ v14。安装包架构应匹配程序,不只看系统位数。旧 VC++ 100/110/120 不用“装最新版 v14”一概代替。注册项存在不证明完好,未找到也不排除应用自带运行库。 - .NET、无效映像、拒绝访问和未知错误保留为对应线索。
0xc000007b不能证明一定缺 VC++,单凭报错不推荐万能修复。 - 只使用软件供应商或微软的来源,查看
references/official-sources.md对应的说明;具体安装版本按当时官方要求核对。脚本不会联网或安装。用户明确授权安装/修复后,再按当前 AI 可用工具完成单项操作并用原步骤复查;许可证、提权、重启需按实际授权处理。
命令
python "{baseDir}/scripts/app_startup.py" demo
python "{baseDir}/scripts/app_startup.py" collect --app "D:/软件/Example.exe" --out "D:/诊断/env.json"
python "{baseDir}/scripts/app_startup.py" analyze --error "找不到 VCRUNTIME140.dll" --environment "D:/诊断/env.json" --out "D:/诊断/启动报告-新建"
--app 和 --environment 可省略;未知环境不会猜测。报告保存为新目录内的 report.json 和 report.md,不覆盖已有报告。不要把含用户身份、路径或密钥的报错直接上传到公开平台。
不从 DLL 下载站复制文件到 System32,不默认关闭安全软件或扩大权限,不批量卸载运行库,不把一次启动失败直接认定为硬件故障。