場景:已安裝的VS2017維護安裝MVC4時出現如下錯誤:
看問題描述是由於sqlcmdlnutils安裝失敗影響到其它組件的安裝,於是單獨下載此安裝包進行安裝,發現安裝一切正常,繼續維護VS2017,但是仍舊到這里就安裝失敗了,極度郁悶中。。。,這也沒有具體的失敗原因腫么破?后來想了想難道因為下載的版本和提示的不一樣?然后樓主就去AppData下搜索這個文件(因為我是在線安裝,安裝文件肯定會緩存下來的),果不其然搜索到了這個文件,那就安裝一下試試吧,一試放心了,為啥呢,報錯了,錯誤原因如下:
Could not open key: UNKNOWN\Components\7ABFE44842C12B390AF18C3B9B1A1EE8\000021599B0090400100000000F01FEC. Verify that you have sufficient access to that key, or contact your support personnel.
有錯誤原因了也就好解決了,看錯誤應該是權限問題,搜索解決方案,有兩種解決辦法:
一、管理員運行cmd 之后,輸入secedit/configure/cfg %windir%/inf/defltbase.inf/db defltbase.sdb/verbose,完事后重新運行安裝
二、打開注冊表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components,然后按照解決方案的步驟:
1.右鍵組件“Components”,選擇權限“permissions”
2.點擊高級“Advanced”
3.選擇擁有者“Owner”標簽
4.選擇"Administrators(Group)"作為擁有者"Owner",然后點擊應用 “Apply”
5.當選擇復選框(Replace owner on sub containers and objects)后,再次點擊應用
6.返回之前的權限“Permissions”標簽中選擇復選框“Replace all child objects with inheritable permissions from this object”,然后再次點擊應用
我是使用方法二解決的問題,操作完成后,重新運行剛才搜索到的程序,安裝正常,重新維護VS2017順利完成!
參考解決方案:http://blog.csdn.net/zh15732621679/article/details/53813117