重装VS2013时碰到了这样的问题,总是提示“安装失败,安装无法继续,因为某些必需的组件失败”。
校验了安装文件,是没有问题的,使用了“Windows Install Clean Up”清理过,同样不行
以下截取自错误日志
[1540:0E9C][2018-06-17T10:38:52]i304: Verified existing payload: win_xpsupport at path: C:\ProgramData\Package Cache\{F361FE04-789E-42F3-BBAB-E7B380AA5E06}v11.0.51106\packages\XPSupport\Win_XPSupport.msi. [1740:04FC][2018-06-17T10:38:52]i000: MUX: Source confirmed [1740:17A4][2018-06-17T10:38:52]i000: MUX: ExecuteError: Package (vsbsln_neu_28) failed: Error Message Id: 1402 ErrorMessage: Error 1402.Could not open key: UNKNOWN\Components\4A4620288CE62493D8D9214FBBF8FC07\72DDB6B079031EF4DB6ED1E57C935936. Verify that you have sufficient access to that key, or contact your support personnel. [1540:0E9C][2018-06-17T10:38:53]i304: Verified existing payload: cab78EF0B2BF4BFD8C8F6D80285D722A15A at path: C:\ProgramData\Package Cache\{F361FE04-789E-42F3-BBAB-E7B380AA5E06}v11.0.51106\packages\XPSupport\cab1.cab. [1740:04FC][2018-06-17T10:38:53]i000: MUX: Source confirmed [1740:04FC][2018-06-17T10:38:53]i338: Acquiring package: win_xpsupport, payload: cabFCE2154F7B6FCF2AB844AC37D01AD97D, copy from: F:\packages\XPSupport\cab2.cab [1540:0E9C][2018-06-17T10:38:53]i305: Verified acquired payload: cabFCE2154F7B6FCF2AB844AC37D01AD97D at path: C:\ProgramData\Package Cache\.unverified\cabFCE2154F7B6FCF2AB844AC37D01AD97D, moving to: C:\ProgramData\Package Cache\{F361FE04-789E-42F3-BBAB-E7B380AA5E06}v11.0.51106\packages\XPSupport\cab2.cab. [1740:04FC][2018-06-17T10:38:53]i000: MUX: Source confirmed [1740:04FC][2018-06-17T10:38:53]i338: Acquiring package: win_xpsupport, payload: cab5854E62F9D8BB23634F7C737CAAB6E30, copy from: F:\packages\XPSupport\cab3.cab [1540:0D0C][2018-06-17T10:38:53]e000: Error 0x80070643: Failed to install MSI package. [1540:0D0C][2018-06-17T10:38:53]e000: Error 0x80070643: Failed to execute MSI package. [1740:17A4][2018-06-17T10:38:53]e000: Error 0x80070643: Failed to configure per-machine MSI package. [1740:17A4][2018-06-17T10:38:53]i000: MUX: Installation size in bytes for package: vsbsln_neu_28 MaxAppDrive: 0 MaxSysDrive: 386730750 AppDrive: 0 SysDrive: 0 [1740:17A4][2018-06-17T10:38:53]i000: MUX: Return Code:0x80070643 Msi Messages:1402 Result Detail:0 Restart:None [1540:0E9C][2018-06-17T10:38:53]i305: Verified acquired payload: cab5854E62F9D8BB23634F7C737CAAB6E30 at path: C:\ProgramData\Package Cache\.unverified\cab5854E62F9D8BB23634F7C737CAAB6E30, moving to: C:\ProgramData\Package Cache\{F361FE04-789E-42F3-BBAB-E7B380AA5E06}v11.0.51106\packages\XPSupport\cab3.cab. [1740:04FC][2018-06-17T10:38:53]i000: MUX: Source confirmed
最后在网上查到了解决办法,发现是注册表权限问题。
psexec.exe是修改注册表权限的工具,下载地址:https://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
1、运行cmd,定位到psexec.exe所在文件路径,然后执行:psexec.exe -i -d -s regedit.exe ,会启动注册表
2、找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components
3、在Components文件夹右键,选择“权限”,选中“Administros”,设置为“完全控制”。(在“Componets”文件夹设置权限,是为了省事,不用一个个设置下面子文件的权限)
然后重新安装VS2013,成功。
参考原文 https://my.oschina.net/oodbqpoo/blog/495850