(我遇到了相同的问题。经过多次尝试后,我找到了它,找到了“我的根本原因”。我在此处保存尝试路径,但如果需要,可以跳到最后。)
我想指出的是,务必对enden的解决方案2保持谨慎。其他一些程序可能会将安装程序包缓存在该C:\ProgramData\Pacakges Cache
文件夹中。如果从该文件夹中删除数据,则可能会危害其他程序的安装/卸载。
我在安装VS2015时遇到了多次失败。在我从中删除所有内容之后C:\ProgramData\Pacakges Cache
,我的VS2013和VS2015都停留在Programs and Features
窗口中,而我无法change/repair/uninstall
。
要解决此change/repair/uninstall
故障,我必须转到以下2个注册表项:
首先: 在对它进行任何操作之前,请备份您的注册表。
[HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall]
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall]
并删除所有InstallLocation
指向C:\ProgramData\Pacakges Cache
与DispalyName
外观与Visual Studio 2013/2015相关的AND的键(这可能需要一定的经验/直觉)。
然后,“程序和功能”窗口中的VS2013 / 2015卡住的项目消失了。现在,我可以重新安装VS2013。
但是我仍然无法使用安装程序安装VS2015 。错误仍然如下:
但是至少我可以在“ Prgram和功能”窗口中更改/修复/卸载 VS2015。所以我选择修理它。但是维修不起作用。我仍然遇到与上述相同的错误。
然后,我卸载了失败的VS2015,并尝试按照TimVdG的标记答案中的说明修复VC ++ 2015 Redist。然后使用安装程序重新安装VS2015。
仍然失败。
然后,我尝试使用Brian Swart的解决方案在不安装Update 1的情况下安装VS2015 ,但在TeamExplorer中仍然失败。我检查了日志,发现了这一点:
MSI(s)(48:A0)[14:53:34:997]:Windows Installer安装了该产品。产品名称:Microsoft Visual Studio 2015的团队资源管理器。产品版本:14.0.23102。产品语言:1033。制造商:Microsoft Corporation。安装成功或错误状态:1603。
我用谷歌搜索了1603错误。现在,我试图将完全控制权添加到该C:\Program Files (x86)\Microsoft Visual Studio 14.0
文件夹,然后重试。
仍然不起作用。
一些参考:
https://www.online-tech-tips.com/computer-tips/remove-program-from-add-remove/
https://support.microsoft.com/zh-CN/help/247501/how-to-manually-remove-programs-from-the-add-remove-programs-list
/superuser/401511/how-to-remove-a-broken-program-from-the-programs-and-features-list-in-windows-7
=========>最终解决方案<=========
因此,在我的情况下,它与VC2015可再发行产品无关。
我的根本原因是注册表中的.NET版本号不正确。
在64位Windows上,.NET版本存储在注册表的2个位置:
HKLM \软件\ Microsoft \ NET Framework安装程序\ NDP \ v4 \完整\版本
HKEY_LOCAL_MACHINE \ SOFTWARE ** WOW6432Node ** \ Microsoft \ NET Framework Setup \ NDP \ v4 \ Full \ Version
下面是我的盒子里有的东西:
需要注意的是主人公v
的Version
?我不知道是谁把它放在那里。但是,一旦我删除它,我VS2015 with Update 3
就可以顺利安装了!
所以您可能想知道我怎么找到这个。好吧,因为我无法安装VS2015,所以我转向了VS2017。但是在成功安装 VS2017之后,我无法启动它。它说:
因此,我决定检查已安装的.NET版本,并看到上面的有趣区别。一旦删除了领先者v
,即可启动VS2017。
但是无论如何,我仍然不知道是谁把v
它放在那里的。
最后但并非最不重要:请还确保Release
,Version
注册表项值是一致的,可与您的Windows版本。请参阅以下内容:
.NET和Windows版本的依赖关系。
如何确定已安装的.NET版本。
Windows 10版本信息
添加更多发现:
完成以下安装顺序后:VS2017-> VS2015-> VS2013,我注意到我的包装盒上甚至没有VC ++ 2015 redist:
因为VC ++ 2015和VC ++ 2017 Redist都是14.xxx。因此拥有更高的版本就足够了。当我尝试手动安装VC ++ 2015 redist时,它说: