88

我在安装我在 Internet 上看到的 Windows SDK 时遇到了错误,但没有一个解决方案适合我。这是我得到的日志

9:43:37 AM Monday, October 14, 2013: SFX C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup\SFX\vcredist_x64.exe installation started with log file C:\Users\clarkbd\AppData\Local\Temp\Microsoft Windows SDK for Windows 7_c3c42538-8a3e-439d-be39-aee3078ca098_SFX.log
9:43:43 AM Monday, October 14, 2013: C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup\SFX\vcredist_x64.exe installation failed with return code 1603
9:43:53 AM Monday, October 14, 2013: [SDKSetup:Error] Config_Products_Install: Installation of Product Microsoft Windows SDK for Windows 7 (failed): Please refer to Samples\Setup\HTML\ConfigDetails.htm document for further information. Stack:    at SDKSetup.Product.ConfigureRelatedSfx()    at SDKSetup.Product.ConfigureNewProduct(ManualResetEvent CancelEvent)
9:43:53 AM Monday, October 14, 2013: [SDKSetup:Info] Config_Products_InstallNew: End installation of new product: Microsoft Windows SDK for Windows 7
9:43:53 AM Monday, October 14, 2013: [SDKSetup:Error] Config_Products_Install: Windows SDK Setup (failed): Installation of the "Microsoft Windows SDK for Windows 7" product has reported the following error: Please refer to Samples\Setup\HTML\ConfigDetails.htm document for further information. Stack:    at SDKSetup.Product.ConfigureNewProduct(ManualResetEvent CancelEvent)      at SDKSetup.Product.SetupProduct(TaskMode taskMode, ManualResetEvent CancelEvent)       at SDKSetup.ProductCollection.SetupProducts(TaskMode taskMode, DownloadManager downloadManager, ManualResetEvent cancelEvent)       at SDKSetup.ConfigProducts.DoCurrentTask(TaskMode Task)

当我尝试单独运行 vcredist_x64 时,出现此错误:

MSI (s) (80:5C) [09:51:50:971]: Product: Microsoft Visual C++ 2010  x64 Redistributable - 10.0.30319 -- A later version of Microsoft Visual C++ 2010  x64 Redistributable - 10.0.30319 is already installed.

现在,根据我在网上阅读的每个解决方案,我将卸载可再发行组件并继续安装。问题是我没有安装任何 VC++ 2010 可再发行组件(仅 2005 和 2008)。除了主程序之外,唯一的东西叫做Microsoft Visual Studio 2010 Express Prerequisites x64 - ENU. 卸载它对我收到的错误没有影响。我的电脑上有一些东西告诉 SDK 我安装了这个 redist,但我不确定是什么。任何人都可以为我阐明这一点吗?

编辑:即使我完全卸载 Visual C++ 2010,这个问题仍然存在。我还能做些什么来从我的机器上删除这个软件的所有痕迹?

编辑 2:在搜索注册表后,我发现 NI 安装了自己的 Visual c++ 2010 可再分发程序之一,但它不包含在“添加或删除程序”列表中。我已经卸载了这个,希望 sdk 能正确安装。

编辑3:没有运气,仍然得到同样的错误。我可以在注册表中找到其他 2010 可再发行组件,但尝试手动执行卸载字符串只会告诉我我只能在已安装的包上运行它。如果我知道 vcredist 如何找到当前安装的重新分发,这会简单得多。

4

4 回答 4

131

这是一个已知问题http://support.microsoft.com/kb/2717426

原因

当您在安装了较新版本的 Visual C++ 2010 Redistributable 的计算机上安装 Windows 7 SDK 时,会出现此问题。

解析度

要解决此问题,您必须在安装 Windows 7 SDK 之前卸载所有版本的 Visual C++ 2010 Redistributable。您可能安装了以下一种或多种产品:

  • Microsoft Visual C++ 2010 x86 可再发行组件
  • Microsoft Visual C++ 2010 x64 可再发行组件

卸载 Microsoft Visual C++ 2010 Redistributable 产品后,您可以安装 Windows 7 SDK。安装 Windows 7 SDK 后,您可以重新安装较新版本的 Visual C++ 2010 Redistributable 产品,以便将 Visual C++ 2010 Redistributable 产品恢复到其原始状态。

卸载图片

于 2014-04-12T16:04:36.990 回答
66

成功!我能够使用 Microsoft 的 Fix it 实用程序从我的机器中清除 vc++ 2010 可再发行文件:http: //support.microsoft.com/mats/Program_Install_and_Uninstall

它能够找到可再发行组件的 x64 和 x86 版本并将其卸载,从注册表中删除约 120 个条目并允许 sdk 安装继续进行。它与 NI 的 vc++ 2010 可再发行版本无关。

于 2013-10-14T21:47:59.110 回答
4

我在 Win7 Prof 64bit 上使用 Windows SDK Web 安装程序时遇到了困难。卸载/重新安装 VS 2010 可再发行组件没有帮助。只有在下载 Windows SDK ISO 文件后才能成功安装(x64 的文件是 GRMSDKX_EN_DVD.iso)。

我的理论是网络安装程序选择了错误的架构,导致安装失败。

于 2014-10-07T14:41:11.220 回答
2

以上所有答案都对我有帮助,但没有一个真正适合我。

通过在 Visual Express 2010之前安装 SDK,我终于设法使用 Visual Express 2010 编译 64 位。所以:

  1. (卸载 Visual Express 2010,如果某些 Visual Compiler 仍被视为已安装但未显示在“程序和功能”面板中,则可能使用此注册表黑客)
  2. 安装 Windows SDK
  3. 安装 Visual Express 2010
  4. 配置默认库搜索路径以指向 SDK

我懒得卸载 Visual Express,重新安装 SDK,然后又重新安装 Visual Express,但我把它全部放在了一个 VirtualBox VM 中,我会珍藏在银行的保险箱里!;)

于 2015-05-14T13:11:32.140 回答