安装 Windows SDK 7.1 时出错

Posted

技术标签:

【中文标题】安装 Windows SDK 7.1 时出错【英文标题】:Error when installing windows SDK 7.1 【发布时间】:2013-10-22 08:37:18 【问题描述】:

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

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 如何找到当前安装的重新分发,这会简单得多。

【问题讨论】:

【参考方案1】:

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

我终于通过安装 SDK before Visual Express 2010 来使用 Visual Express 2010 编译 64 位。 所以:

    (卸载 Visual Express 2010,如果某些 Visual Compiler 仍被视为已安装但未显示在“程序和功能”面板中,则可能使用 this registry hack) 安装 Windows SDK 安装 Visual Express 2010 Configure the default library search path 指向 SDK

我懒得卸载 Visual Express,重新安装 SDK,然后又重新安装 Visual Express,但我在 VirtualBox VM 中得到了这一切,我会珍藏在银行的保险箱中! ;)

【讨论】:

【参考方案2】:

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

原因

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

分辨率

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

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

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

【讨论】:

我有两个。删除它们会安装 SDK。 最新版本(截至目前)称为Microsoft Visual C++ 2010 SP1 Redistributable Package,版本为10.0.40219.1。我花了一段时间才弄清楚我需要搜索SP1,所以把这个留给其他人。【参考方案3】:

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

我的理论是 Web 安装程序选择了错误的架构以某种方式导致安装失败。

【讨论】:

【参考方案4】:

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

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

【讨论】:

这个答案对我有帮助,但对我来说使用“添加或删除程序”就足够了。 它适用于大多数人。不过在我的情况下不是=/ 我在日志中的错误是 DDSet_Error: Patch Hooks: Missing required property 'ProductFamily': Setup cannot continue.DDSet_Error: Patch Hooks: Missing required property 'ProductFamily': Setup cannot continue. DDSet_Warning: Setup failed while calling 'getDLLName'. System error: Cannot create a file when that file already exists. Uninstalling the C++ 2010 redists for x86 and x64 为我解决了这个问题。 尽管我使用“添加或删除程序”从我的机器中删除了所有 VC++ 可再发行组件,但这还不够。但是在使用了@RedAlert 提到的 Microsoft 的 Fix It Utility 之后,SDK 安装对我有用。 我在***.com/questions/1901279/… 尝试了答案,这让我更进一步,但卡在了未正确卸载的 VC++ 编译器上。因此,虽然它对我来说不是可再发行的,但我设法使用 Fix it 来卸载阻止我安装的东西。谢谢!!

以上是关于安装 Windows SDK 7.1 时出错的主要内容,如果未能解决你的问题,请参考以下文章

Windows SDK 7.1 安装失败

无法在 Windows 10 上安装 Windows SDK 7.1

安装SDK 7.1

仅使用 Windows SDK 7.1 编译 ATL 项目

Android SDK安装时出错“android Failed to rename directory”的解决方法

Matlab 2012a 与 Windows SDK 7.1