C++Builder 10.3开发的32位应用在新Win10 64位笔记本上无法运行如何解决
依赖项排查
- 确认安装对应版本的32位运行时:你需要安装RAD Studio 10.3 32位运行时包,以及Microsoft Visual C++ 2015-2019 x86 可再发行组件,注意必须是32位版本,仅安装64位运行时无法支撑32位程序运行
- 检查完整依赖项:使用32位版本的
Dependency Walker扫描目标exe,确认所有依赖的dll文件(包括C++Builder特有的VCL/FMX组件库、第三方控件对应的dll)都放置在exe同级目录,或已配置到系统PATH环境变量中,缺失依赖是这类静默闪退最常见的诱因
兼容性与系统规则调整
- 配置程序兼容属性:右键exe打开「属性」面板,切换到兼容性标签,勾选以兼容模式运行这个程序,依次选择
Windows 7、Windows XP (Service Pack 3)测试;同时可尝试勾选禁用全屏优化、高DPI缩放替代→应用程序、*简化的颜色模式(16位)*后再启动 - 关闭惠普预装优化软件的拦截:暗影精灵自带的OMEN Gaming Hub的进程调度、游戏优化规则可能会误拦截非常规32位程序,可完全退出该软件,或将你的程序加入软件白名单后重试
- 调整Windows漏洞防护规则:依次打开「设置→更新和安全→Windows安全中心→应用和浏览器控制→漏洞保护设置→程序设置」,添加你的目标exe,将默认开启的DEP、ASLR、控制流保护等安全规则逐一禁用测试,C++Builder 10.3编译的旧版程序大概率会被新的系统安全规则拦截触发闪退
根因定位方法
- 查看系统事件日志:打开「事件查看器→Windows日志→应用程序」,筛选程序闪退时间点对应的错误条目,通过错误模块名称、异常代码可直接定位是依赖缺失、权限问题还是程序初始化阶段的代码报错
- 调试启动进程:给程序加Debug编译参数后,在目标设备上用32位版本的
WinDbg附加启动进程,崩溃时可直接查看调用栈定位具体报错位置
内容的提问来源于stack exchange,提问作者RCSP
相关产品推荐
相关产品推荐

