1714

首先是 .NET 那边又出问题了,NativeAOT 炸了
于是打开 VS Installer 看看情况,看到了更新错误
然后点 Retry,下载完成安装后弹出报错
Error Code 1714: Cannot uninstall older version of an MSI
点击 View Logs 查看日志,获得以下内容

1
2
3
4
5
6
Details
MSI: E:\Microsoft\VisualStudio\Packages\Microsoft.VisualStudio.Setup.Configuration,version=4.7.7.8087\Microsoft.VisualStudio.Setup.Configuration.msi, Properties: REBOOT=ReallySuppress ARPSYSTEMCOMPONENT=1 ALLUSERS="1" MSIFASTINSTALL="7"
Return code: 1603
Return code details: Fatal error during installation.
Message Id: 1714
Message Details: The older version of Microsoft Visual Studio Setup Configuration cannot be removed. Contact your technical support group.

也就是经典 MSI 的大奋设计:卸载必须要用安装时自动自我保留的安装包
而失去安装包就没办法卸载的问题

Fix Attempt 1

VS 给了一个问题表单
解决方案里面的那个 ps1 脚本试了一下
删除里面的 -UseTransaction 才能跑
而且一直跑根本没反应
idk why but it just won’t work

Fix Attempt 2

在网上搜索,找到了这个方案
Windows Install Clean Up
这是一个微软很久以前做的工具
可以用于清除 Windows Install 配置
官方配布已经没有了,但是找到了这份表单
安装好后打开,找到前文报错的程序:Microsoft Visual Studio Setup Configuration
选择 Remove 即可,待其自动刷新回到开头后再回到 VS Installer 进行 Retry
遇到程序不同的相同报错也同理

何意味

后面装一个报一次错
然后我一次性把里面 Microsoft Visual Studio 开头的和 vs_ 开头的全 Remove 了
气笑了何意味

1402

然后完成后再更新 又出现一个报错

1
2
3
4
5
6
Details
MSI: E:\Microsoft\VisualStudio\Packages\Microsoft.VisualStudio.Setup.Configuration,version=4.8.41.48107\Microsoft.VisualStudio.Setup.Configuration.msi, Properties: REBOOT=ReallySuppress ARPSYSTEMCOMPONENT=1 ALLUSERS="1" MSIFASTINSTALL="7"
Return code: 1603
Return code details: Fatal error during installation.
Message Id: 1402
Message Details: Could not open key: UNKNOWN\Components\6A596D53F7EF1CB50AA5BDD55B952C6B\6EBD4D594BBA12D42A0ABFDB84E2B811. Verify that you have sufficient access to that key, or contact your support personnel.

这个是注册表权限问题
可能是前文用的 Windows Install Clean Up 导致的问题
解决方法是打开 regedit
然后导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData
右键->「权限」->「高级」->「更改」->「高级…」->「立即查找」->「Administrators」->「OK」->「OK」
勾选「替换子容器和对象的所有者」与「使用可从此对象继承的权限项目替换所有子对象的权限项目」
然后确认即可