visual studio 2019好难安装,记忆中2010之类的老版本安装要容易得多,2019搞成这个样子感觉微软是不是想关门大吉了。
说说我遇到的一个问题,折腾了很久,过程如下:
1、在 visual studio installer中安装时卡住,没有任何动静,就是不动,没有截图,当时没意识到会这么麻烦以至于想记录下来。后来发现是在安装版本为18362的windows sdk时卡住的。
2、一顿搜索,在Stackoverflow和msdn上看到有人建议单独安装这个sdk,然后再安装vs
3、到微软网站上下载Sdk后安装,安装过程中报告有另外的installer安装中,报错退出,大概是这样的,没有截图。
4、在任务管理器中找到这几个进程,杀掉后安装能继续了,1处的进程版本号有可能不是18362,并且有可能不只一个,2处的进程只有一个。
5、sdk安装过程中同样会卡住,有人说是因为powershell没有管理员权限,所以之后的重试全部右键以管理员身份运行。
6、继续,还是会卡住,界面大概如下,进度条下面的字是updating settings。
7、在资源管理器地址栏中输入%TEMP%\windowssdk回车,进入安装log的目录,里面有一些日志文件。
它们的名字大致如下,有规律:
Windows_Software_Development_Kit___Windows_10.0.18362.1_20210102010327_000_package_KitsConfigurationInstaller_x86_en_us.log
第一段是时间,2021年1月2日1时3分27秒,第二段是表示这个log文件是具体哪个部分的安装日志。
8、找到最新的日志文件,用文本工具打开,翻到末尾,能看到有大致如下的内容:
Action start 1:04:42: RemoveExistingProducts.
MSI (s) (B8:8C) [01:04:42:321]: Resetting cached policy values
MSI (s) (B8:8C) [01:04:42:321]: Machine policy value 'Debug' is 0
MSI (s) (B8:8C) [01:04:42:321]: ******* RunEngine:
******* Product: {ED060DBD-1A21-7554-F2E1-06A0EE45900D}
******* Action:
******* CommandLine: **********
MSI (s) (B8:8C) [01:04:42:322]: Warning: Local cached package 'C:\WINDOWS\Installer\13f7365c.msi' is missing.
MSI (s) (B8:8C) [01:04:42:322]: User policy value 'SearchOrder' is 'nmu'
MSI (s) (B8:8C) [01:04:42:322]: User policy value 'DisableMedia' is 0
MSI (s) (B8:8C) [01:04:42:322]: Machine policy value 'AllowLockdownMedia' is 1
MSI (s) (B8:8C) [01:04:42:322]: SOURCEMGMT: Looking for sourcelist for product {ED060DBD-1A21-7554-F2E1-06A0EE45900D}
MSI (s) (B8:8C) [01:04:42:322]: SOURCEMGMT: Adding {ED060DBD-1A21-7554-F2E1-06A0EE45900D}; to potential sourcelist list (pcode;disk;relpath).
MSI (s) (B8:8C) [01:04:42:322]: SOURCEMGMT: Now checking product {ED060DBD-1A21-7554-F2E1-06A0EE45900D}
MSI (s) (B8:8C) [01:04:42:322]: SOURCEMGMT: Attempting to use LastUsedSource from source list.
MSI (s) (B8:8C) [01:04:42:322]: SOURCEMGMT: Trying source C:\ProgramData\Package Cache\{ED060DBD-1A21-7554-F2E1-06A0EE45900D}v10.1.17763.132\Installers\.
MSI (s) (B8:8C) [01:04:42:322]: Note: 1: 2203 2: C:\ProgramData\Package Cache\{ED060DBD-1A21-7554-F2E1-06A0EE45900D}v10.1.17763.132\Installers\Windows SDK-x86_en-us.msi 3: -2147287037
从上面这段日志中我们可以找到是哪个地方卡住。有几个关键点:
1)RemoveExistingProducts,
可以理解为安装这个Sdk的时候要把老的版本的对应组件先卸载掉
2)Warning: Local cached package 'C:\WINDOWS\Installer\13f7365c.msi' is missing.
卸载的时候要用到老版本组件的installer,但是我以前在清理磁盘时给删了。不删不行,windows太能占空间了。
3)ED060DBD-1A21-7554-F2E1-06A0EE45900D以及Windows SDK
这两个信息要记下来,等会要用。
9、从微软网站上下载一个卸载工具MicrosoftProgram_Install_and_Uninstall.meta.diagcab,地址是
10、运行卸载工具,依次点“下一步”、”安装“,等会,在出来的列表中找到Windows SDK,用鼠标指向这个选项,会有个气泡显示一串字符,看是不是ED060DBD-1A21-7554-F2E1-06A0EE45900D
确定后选中该项,点击”下一步“,”是,尝试卸载“,多等会,直到提示”疑难解答已完成“,点关闭。
11、杀掉第4步中提到的进程后,再次以管理员身份运行SDK的安装程序,直到安装成功,或者再次卡住,回到第8步。
12、我依次在下面这些地方卡住过(可能有漏掉一两个)
KitsConfigurationInstaller
WindowsAppCertificationKitSupportedApiList
WindowsAppCertificationKit
WindowsAppCertificationKitNativeComponents
WindowsIPOverUSB
Windows SDK for UWP Managed Apps
Windows SDK for Windows Store Apps
Windows SDK Modern non-versioned developer tools
Universal CRT tools X86
Universal CRT tools X64
Windows SDK Redistributables-x86
SDK ARM Additions-x86
SDK ARM Redistributables-x86
13、终于迎来了下面的界面。
14、然后重新运行visual studio installer,这次很顺利的装成功了。
15、好家伙,这么一通操作下来,我差点忘了为什么要安装Vs2019了,最后,这些坑应该就是清理C盘的windows占用空间时,把installer清掉了造成的。