双击一个绿色软件,弹窗只有一行字:找不到指定的模块。换一台电脑又能打开,说明文件没坏,是这台机器缺了它依赖的东西。

Windows 加载 exe 时会顺带加载一堆 DLL,缺哪个都会报这句。最常见的是 VC++ 运行库,尤其是 2015 到 2022 这一套,32 位和 64 位要分别装。DirectX 组件、.NET Framework 缺失,也会报类似的提示。

先弄清楚缺的是哪个文件

事件查看器里打开 Windows 日志 > 应用程序,找对应时间的错误,详细信息里一般会写模块名。也可以用 Dependencies 这类工具打开 exe 看依赖树,缺的项会标红。拿到文件名再去找对应的运行库,别瞎装,Procmon 也能看加载失败的过程,比凭空猜快。

文件名里带 api-ms-win 开头的,多半是 Universal CRT,装 VC++ 运行库时一起带上。文件名带 d3dx9 的是 DirectX 9 组件,老游戏常见。提示 0xc000007b 的别看错,那是位数不匹配,和找不到模块是两个问题。

修复顺序:运行库、系统组件、软件本身

先装或者修复 VC++ 运行库,两个架构都装;再补 DirectX 和 .NET;还不行就重装软件,注意装到不含中文和空格的路径。游戏的话,安装目录里通常有个 _CommonRedist 文件夹,里面的运行库装一遍能解决大半问题。系统是 64 位、软件是 32 位,运行库两个都要装,这是最常见的坑。

系统文件损坏也会这样

管理员身份打开命令提示符,跑 sfc /scannow,再跑 DISM /Online /Cleanup-Image /RestoreHealth,跑完重启。还提示找不到指定的模块,就检查软件是 32 位还是 64 位,装错架构一样打不开。

别去那些 DLL 下载站下单个文件往 System32 里塞,版本对不上会引出更多错误,还有捆绑软件的风险。找不到指定的模块 这句提示本身不可怕,按依赖关系一层层补就行。修完记一下是哪个组件和版本,下次换机器直接装,省得再查一遍。