Windows SDK 7.1安装失败

108

我正在尝试安装Windows 7的Windows SDK和.NET Framework 4,但是当我打开安装程序时,会收到以下错误信息:

某些Windows SDK组件需要RTM .NET Framework 4。安装程序检测到一个预发布版本的.NET Framework 4。如果您继续安装,这些组件将不会被安装。如果您想安装这些组件,请单击“取消”,然后从https://go.microsoft.com/fwlink/?LinkID=187668安装.NET Framework 4,然后重新运行安装程序。

单击“确定”继续。

当我尝试安装.NET Framework 4时,出现一条消息说我的电脑上已经有.NET Framework 4了:

Microsoft .NET Framework 4已经是操作系统的一部分。无需安装.NET Framework 4可再发行版。更多信息

相等或更高版本的.NET Framework 4已经安装在计算机上。

我不知道该怎么办了。我的电脑使用的是Windows 10企业版(x64)。


8
可能是 无法在 Windows 10 上安装 Windows SDK 7.1 的重复问题。 - Palec
3
现在,他们提供的链接已经失效并且只是重定向到通用的.NET页面 >:( - Nick T
5个回答

108

在 Windows 10 x64 中,安装 被阻止,原因是:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full\Version
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client\Version

将两个值暂时更改为4.0.30319,然后安装程序将允许您继续。请确保使用提升的特权编辑注册表,否则您将无法更改这些值。


12
在 Windows 7(32位)中,可以在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\ 中找到这些密钥。 - Jarno
38
如果您遇到“写入值的新内容出错”的错误提示,说明您没有权限更改该值。请参考这篇指南以获取权限:http://www.groovypost.com/howto/take-full-permissions-control-edit-protected-registry-keys/ - Maarten Kieft
1
@ArvoBowen:这个修复程序是用于安装SDK 7.1,而不是.NET Framework 4。这个修复程序的作用是欺骗SDK,使其认为已经安装的框架是旧版本,以便继续安装。 - Tapio
@Jarno,我也发现这些键位于您列出的位置,尽管我使用的是Windows 10 x64。 - aquirdturtle
5
这个方法确实在安装过程的早期解开了安装程序的阻塞,但无法完整地完成安装。结合MandM的解决方案和这个方法,卸载所有的.NET Frameworks >= 4.0,然后只重新安装4.0,似乎对我有用。 - Adrian Keister
显示剩余5条评论

27

我必须卸载以下内容:

  • "Microsoft Visual C++ 2010 x64 Redistributable"(Microsoft Visual C++ 2010 x64可再发行组件)
  • "Microsoft Visual C++ 2010 x86 Redistributable"(Microsoft Visual C++ 2010 x86可再发行组件)

在安装Windows 7.1 SDK和安装程序包期间,需要先卸载它们,并且这个安装程序包在安装过程中会重新安装这两个组件。


4
如果尝试了这种解决方法后错误消息仍然存在,只需单击“确定”并继续安装。这次安装将成功进行。 - Robert Važan
我也遇到了同样的问题,按照微软文章https://support.microsoft.com/en-us/kb/2717426 的说明安装了“兼容”的MVC++2010 更新程序,但仍然有部分SDK无法正常安装。特别是,我无法安装resgen.exe。或许我需要彻底卸载4.6版本,回退到.NET 4的版本。注意,这是与此其他问题的链接: https://dev59.com/63LYa4cB1Zd3GeqPSwca - Thomas Corriol

18
为了解决这个问题,我卸载了我的 .NET 框架版本 4.6 并安装了 4 版本。然后我安装了软件开发工具包(SDK),问题就解决了。

1
回滚到.NET Framework的第4个版本,然后安装SDK也解决了我的问题。谢谢。 - Thomas Corriol
2
你如何卸载4.6并安装4.0?我在软件列表中没有看到安装框架4.0的选项,而且4.0拒绝安装,说一个更新版本已经是操作系统的一部分了。 - Philipp
6
如果我已经安装了所有的 Visual Studio 组件,我就不能安装这个东西吗?这个东西(Windows 7 平台的 .NET Framework 4 Windows SDK)是编译 MATLAB 中的 C 代码所需的。对于这种情况,我很讨厌 Windows 系统。 - Helder
1
我在 Windows Server 2012 上尝试了这个,并成功地卸载了 Windows GUI,只能在启动时使用命令行!幸运的是,我有那台服务器的备份,所以只需从备份中还原即可,但我认为这值得一提。 - A. Murray
1
如何卸载4.6.1版本:搜索或向下滚动Microsoft Windows更新列表,找到“Microsoft Windows更新(KB3102467)”,然后单击“卸载”。单击“是”以卸载.NET Framework 4.6.1。大约一分钟后,您将被提示重新启动计算机。单击“立即重启”[来源:expta.com](http://www.expta.com/2016/02/how-to-uninstall-net-framework-461.html) - bkwdesign
显示剩余2条评论

1

我也遇到了上面提到的同样问题。尝试了很多次后,下面链接中提到的建议有所帮助。

https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/6e6c8a17-1666-42fa-9b5b-dfc21845d2f9/error-installing-windows-7-sdk-71-with-vs2008-vs2010-premium-on-win-7-32bit?forum=windowssdk

我执行的步骤如下:
  1. 卸载 Visual C++ 和 .NET 4.x 版本。
  2. 删除与这些安装对应的注册表项。我使用的是 Windows 7,但按照此处建议删除了条目。
  3. 重启 Windows。
  4. 尝试使用 Web 安装程序安装 SDK。
  5. 这没有起作用。稍后,在安装屏幕仍有“安装错误”消息的情况下调用 SDK 安装时,执行与调试相关的 msi [也可以安装任何提取的 msi]。
  6. 一旦安装完成,关闭“安装错误”界面[步骤 5],然后重新调用 SDK 的安装。
  7. 这次,UI 屏幕选项会更改。您可以看到的选项是更改、修复等。选择更改并完成其他组件安装。

0

我之前安装了.NET Framework的较旧版本以及C++ 2010 Redistributable x64和x86两个版本。卸载2010版本后,我便顺利继续进行了安装。我没有卸载较旧的.NET版本,但我首先下载并安装了最新版本。

SDK中唯一我想要安装的组件是Windows Performance Toolkit。我仍在安装开始时收到了警告。但无论如何,安装还是完成了。

也许这里会增加一些思考......


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接