VS2017安装Win7.1 SDK编译XP程序提示缺RTM .NET Framework4怎么办
问题原因
Win7.1 SDK 安装程序仅识别 .NET Framework 4.0 RTM 正式版,你本地安装的.NET 4.0大概率是打过补丁的更新版本,或是被更高版本的.NET Framework(4.5+)覆盖了注册表标识,导致SDK检测不到符合要求的版本,Build Tools选项因此灰选无法勾选。
解决方案
方案1:修改注册表绕过检测(优先尝试,无需卸载现有组件)
- 关闭所有运行的Visual Studio、SDK安装程序
- 按下
Win+R输入regedit打开注册表编辑器,修改前建议右键对应路径项选择「导出」备份注册表,避免误操作 - 定位到路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client - 右键修改
Version值,暂时改为4.0.30319.0(.NET Framework 4.0 RTM 官方版本号) - 如果你是64位系统,同步修改
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client下的Version值为同一版本号 - 重新启动Win7.1 SDK安装程序,此时Build Tools选项即可正常勾选,完成安装
- SDK安装结束后,把之前修改的注册表
Version值改回原有数值,避免影响其他依赖高版本.NET的程序运行
方案2:通过VS2017安装器直接安装XP支持组件(更简单,无需单独下载Win7.1 SDK)
如果你的需求仅为让VS2017编译出支持XP的程序,可直接通过VS自带的安装组件配置,无需单独安装Win7.1 SDK:
- 打开Visual Studio Installer,找到你安装的VS2017版本点击「修改」
- 切换到「单个组件」标签页,勾选以下两个组件:
- 对C++的Windows XP支持
- Windows 7.1 SDK
- 点击右下角「修改」等待安装完成即可
- 安装结束后打开你的项目,在项目属性-「常规」-「平台工具集」选择
v141_xp,即可编译适配XP系统的程序
配置验证
安装完成后可通过以下操作确认配置正确:
- 打开项目属性页,确认平台工具集已切换为XP专用版本
- 检查项目属性-「链接器」-「系统」-「子系统」的最低版本设置为
5.01(32位XP)或5.02(64位XP)
报错界面截图:
内容的提问来源于stack exchange,提问作者nobby
相关产品推荐
相关产品推荐

