8

我正在尝试安装适用于 Windows 7 和 .NET Framework 4 的 Microsoft Windows SDK。它失败,抱怨错误 5100,如http://support.microsoft.com/kb/2717426所引用的 那样 该链接说要删除 Microsoft Visual C++ 2010 x86 可再发行组件和 Microsoft Visual C++ 2010 x64 可再发行组件。有一个大问题:我的盒子上都没有安装这些。这是一个 Win 7 盒子。打开程序和功能,我显然有许多 Microsoft Visual C++ 2008 Redistributable 实例,但没有一个以“Microsoft Visual C++ 2010 ...”开头的安装项目

但是,如果我单击“查看已安装的更新”,我会清楚地看到未安装的 2010 可再发行组件之上的几个更新:

Microsoft Visual C++ 2010 x64 Redistributable (3)

  • Microsoft Visual C++ 2010 x64 Redistributable (KB982573) 的修补程序
  • Microsoft Visual C++ 2010 x64 Redistributable (KB2467173) 的修补程序
  • Microsoft Visual C++ 2010 x64 Redistributable (KB2151757) 的修补程序

Microsoft Visual C++ 2010 x86 Redistributable (3)

  • Microsoft Visual C++ 2010 x86 Redistributable (KB982573) 的修补程序
  • Microsoft Visual C++ 2010 x86 Redistributable (KB2467173) 的修补程序
  • Microsoft Visual C++ 2010 x86 Redistributable 的修补程序 (KB2151757)

这些项目没有“卸载”功能。所以我显然在未安装的东西之上有修补程序。我下载了 Visual Studio 2010 C++ redist 并尝试运行它以查看是否允许我卸载它,但不,我只是失败了:

A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine.

我在整个 C 驱动器中搜索了 vcredist_x64.exe 的任何实例,然后我运行了每个实例,希望它能让我卸载。每个都是针对 C++ 2005 或 2008 的,或者它给了我同样的抱怨,即检测到了 2010 的较新版本,我必须先将其删除。

请注意,这个问题对于Error: A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine因为该人实际上不必安装 Visual C++ 2010 并不多余。好吧,我不必安装它。我必须卸载它才能安装 SDK。

如果程序和功能中没有任何内容,我该如何卸载它?

4

4 回答 4

6

DLL Hell 为 VS2010 及更高版本卷土重来。太多的程序员抱怨运行时 DLL 的并行安装,微软放弃了它。Msvcr100.dll 回到 c:\windows\system32(或 64 位机器上的 syswow64)中,调用在每个程序查看的路径上的目录中具有 DLL 的常见问题。并且拥有不止一个版本。

该 DLL 可以通过多种方式进入计算机。它不需要运行 vcredist 安装程序。安装程序通常只是将其复制到那里。VS2010 安装程序就是一个很好的安装程序示例。当有安全更新时,Windows 更新会破坏该 DLL。这是你机器上发生的事情。因此,在您的程序和功能列表中找不到 vcredist 并且仍然拥有该 DLL 的更高版本并不罕见。

安装人员当然应该优雅地处理这个问题,并且当他们看到一个已经存在更新版本的 DLL 时,他们不会弄乱一个 DLL。然而,Windows SDK 安装程序并没有什么优雅之处。它有安装问题的悠久历史。Windows 组中负责该安装程序的任何人都不能很好地掌握这项技术。使用旧版本的 SDK 并没有帮助,您尝试部署的那个特别麻烦。听起来像 v7.0,v7.1 的安装程序有了很大改进。

所以请先支持v7.1。如果这没有成功,那么您无能为力,只能将激光设置为眩晕并让安装人员满意。重命名 Windows 目录中的 msvcr100.dll,这样安装程序就不会抱怨了。完成后将其重命名。它可能想要破解的其他运行时 DLL 是 atl100、mfc100、mfcm100、msvcp100、vcomp100.dll

于 2013-05-01T10:05:09.067 回答
4

警告:如果您不知道自己在做什么,请不要直接修改任何注册表项和值。您很有可能会弄乱您的 Windows 安装。

注意:我已经有几年没有接触过 Windows,所以我可能已经得到了一些键名和值的稍微偏离。

打开regedit.exe并转到 HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall 并浏览该列表中的每个项目。您将在那里看到您在“程序和功能”中看到的所有条目,以及许多其他隐藏的条目。如果找到正确的条目,则可以对其运行卸载命令,该命令位于Uninstall值中。

由于您有 x64 系统,您可能还必须通过 Wow3264 分支。

于 2013-05-01T04:18:53.173 回答
0

我在网上找不到 VC++ redist 2015u2 14.0.23918 x86 的安装程序/卸载程序时遇到问题。最终,我能够使用来自 Martau.com 的 Total Uninstall 6(付费)成功卸载它。

于 2017-08-27T03:40:11.917 回答
0

我可以通过从以下链接下载适用于 x86 和 x64 架构的 Microsoft Visual C++ Redistribution Service Pack 1 来解决此问题:

https://www.microsoft.com/en-au/download/details.aspx?id=26999

运行下载的 exe 后,它会要求您修复或删除该应用程序。选择删除,您的修补程序将消失。

干杯..

于 2016-03-04T00:31:36.500 回答