安装 Windows SDK 7.1时出错

我在安装 WindowsSDK 时遇到了一个错误,这个错误我在互联网上看到过,但是没有一个解决方案对我有效。这是我拿到的日志

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,但我不确定是什么。有人能解释一下吗?

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

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

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

81875 次浏览

Success! I was able to purge the vc++ 2010 redistributables from my machine using Microsoft's Fix it utility: http://support.microsoft.com/mats/Program_Install_and_Uninstall

It was able to find both the x64 and x86 versions of the redistributable and uninstall it, removing ~120 entries from the registry and allowing the sdk installation to go forward. It had nothing to do with NI's version of the vc++ 2010 redistributable.

This is a known issue http://support.microsoft.com/kb/2717426

CAUSE

This issue occurs when you install the Windows 7 SDK on a computer that has a newer version of the Visual C++ 2010 Redistributable installed.

RESOLUTION

To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the Windows 7 SDK. You may have one or more of the following products installed:

  • Microsoft Visual C++ 2010 x86 Redistributable
  • Microsoft Visual C++ 2010 x64 Redistributable

After uninstalling the Microsoft Visual C++ 2010 Redistributable products, you may install the Windows 7 SDK. After installing the Windows 7 SDK, you may then reinstall the newer version of the Visual C++ 2010 Redistributable products, in order to restore the Visual C++ 2010 Redistributable products to their original state.

uninstallation picture

I struggled with Windows SDK web installer on Win7 Prof 64bit. Uninstalling/reinstalling VS 2010 redistributables didn't help. Only after downloading Windows SDK ISO file the installation completed successfully (the one for x64 is GRMSDKX_EN_DVD.iso).

My theory would be that web installer chose wrong architecture somehow causing installation to fail.

All of the above answers helped me but none really worked for me.

I finally managed to compile 64 bits with Visual Express 2010 by installing the SDK before Visual Express 2010. So:

  1. (uninstall Visual Express 2010, maybe using this registry hack if some Visual Compilers are still seen as installed but not shown in the "Programs and Features" panel)
  2. Install Windows SDK
  3. Install Visual Express 2010
  4. Configure the default library search path to point at the SDK

I'm lazy to uninstall Visual Express, reinstall the SDK and then again Visual Express, but I got it all in a VirtualBox VM which I will preciously keep in a safe at the bank! ;)