原因:没有卸载干净旧版本vs并且把C:/windows下的installer文件夹的内容删除了
vs installer在安装msi文件时是通过windows installer安装的,如果没有将原先关于旧版vs的组件完全卸载,安装到一些已有组件时windows installer会检测到已安装旧版本并通过C:/windows/installer下的元数据将原来旧版本的组件覆盖,如果找不到这些元数据便会 “无法删除 “”*******” 的旧版本”的错误。
没有installer文件夹会导致:Microsoft.VisualStudio.MinShell.Msi.Resources(error 1632)
无法覆盖会导致:error 17141612
在卸载旧版本vs时,如果手动删除vs文件夹或采用了一些硬盘清理工具都可能会导致这个错误
解决方案
方案一:
1.把https://gist.github.com/heaths/77fbe0b44496960fab25c2eb0b9e8475 的文件下载到本地
2.到C:WindowsSystem32WindowsPowerShellv1.0以管理员权限打开powershell
3.cd到你文件存放的目录并在powershell内运行
4.去vs installer重新下载
(不过本人用这个方案并没有解决 0.0 )
方案二:
运行’C:Program Files (x86)Microsoft Visual StudioInstallerresourcesapplayoutInstallCleanup.exe -FULL’便可解决这个问题
(但我没找到这个文件= =)
方案三:
1.使用快捷键Win+R,输入regedit按回车打开注册表
2.删除注册表下的’HKEY_LOCAL_MACHINESOFTWAREClassesInstallerProducts’
3.此时再下载应该不会 错了
(个人猜测windows installer是通过注册表 ’ InstallerProducts ‘ 下的选项检测安装的软件是否存在旧版本,在删除后就不会检测到存在旧版本并直接安装了)
教训
以后就算C盘再挤,打死我也不再删C:/windows下的东西了QAQ
参考微软开发者 区:https://developercommunity.visualstudio.com/t/visual-studio-installation-failed-with-msi-error-1-1/224422
如果方案一中的 址无法打开可以到我的博客里下载
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!