You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++Builder 11.3开发WinPE 5.0 VCL应用报错求解决方案

在WinPE运行C++Builder 11.3 VCL应用的配置方案

C++Builder 11.3可以开发能在WinPE环境运行的简单VCL应用,你遇到的"This application is not supported by the OS"报错,主要是新版本默认配置依赖WinPE缺失的系统组件或特性,调整以下项目设置即可解决:

1. 降低目标Windows版本

WinPE基于特定的Windows内核版本,需要让程序适配该版本:

  • 打开项目选项(Project Options),进入C++ Compiler > Preprocessor,修改_WIN32_WINNT宏的值为WinPE兼容的版本,比如_WIN32_WINNT=0x0601(对应Windows 7内核,适配WinPE 5.0及以上),或0x0600(适配WinPE 3.0)。
  • 切换到Linker > Advanced,设置Minimum required operating system为对应版本号,比如6.1(Windows 7/WinPE 5.0)。

2. 禁用VCL现代特性

WinPE不支持完整Windows的UI特性,需关闭相关依赖:

  • 在VCL > Appearance中,取消勾选Enable High-DPI和Use runtime themes。前者依赖WinPE缺失的高DPI服务,后者需要系统主题库支持。

3. 静态链接运行时与VCL库

避免WinPE缺少动态库导致运行失败:

  • 进入C++ Compiler > Linking,设置Link with runtime packages为No。
  • 在C++ Compiler > Code Generation中,将Runtime library设置为静态模式:Debug模式选Multi-threaded Debug (/MTd),Release模式选Multi-threaded (/MT)。

4. 清理不必要的系统依赖

  • 确保只使用基础VCL控件(如TEdit、TButton),避免引入WinPE没有的组件(如TTaskDialog、TShellListView等依赖Shell服务的控件)。
  • 若仍有问题,用dumpbin /imports 你的程序.exe命令查看依赖的DLL,排查哪些是WinPE环境缺失的,针对性移除相关代码或依赖。

5. 确认目标平台为32位

保持项目目标平台为Win32(你已设置,再次确认即可),WinPE 32位环境无法运行64位程序。

调整以上设置后重新编译,将程序复制到WinPE环境测试即可正常运行。

内容的提问来源于stack exchange,提问作者Sören Seyfert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:37:15