1. 离线安装VS2013必须先将IE升级至IE10以上
离线升级IE
首先系统必须是sp1的,然后安装KB2670838、KB2729094、KB2731771、KB2786081、KB2834140后
下载IE11离线安装包:http://www.microsoft.com/zh-cn/download/Internet-Explorer-11-for-Windows-7-details.aspx
2. 接下来安装VS2013,完成时报错“无法建立到信任根颁发机构的证书链”
问题
在没有接互联网的 Win7/2008 R2 系统上安装 VS2012/2013,安装完成时提示:
安装已完成。
但是,并非所有功能均已正确安装。
下面列出错误都是类似这样:
Microsoft SQL Server 2012 管理对象(x64)
无法建立到信任根颁发机构的证书链。
……
分析
经过 Google 之后,查到微软知识库文章 KB2746268 。它解释这个错误是因为 VS 的安装包中有些组件的数字签名所对应的根证书没有安装。
微软现在自己的软件安装时都要强制检查数字签名的,数字签名验不过组件是装不上的(话说如果苹果也这么搞,就没有 XCodeGhost 了),所以之前安装的 VS 其实缺了很多组件。
在 WinXP 时代,根证书更新是以安全更新的方式提供的,可以直接从 Windows Update Catelog 网站下载。但是 Vista 开始,微软选择了一种独立的自动更新证书列表(CTL)的方案,即使禁用了 Windows Updates,照样能够每天更新根证书和吊销列表。对于断网的计算机,微软知识库 KB931125 提供了部署 CTL 更新的方法。
解决过程
这里只写个人版的解决方法,Server 版系统请自行参看 KB931125。
1、先在可以访问 Internet 的电脑上,安装证书管理工具:
- 对于 Windows Server 2008 R2、Windows Server 2008、Windows 7 或 Windows Vista,请应用 Microsoft 知识库中文档 2677070 内列出的相应更新。
- 对于 Windows Server 2012、Windows Server 2008 R2、Windows Server 2008、Windows 8、Windows 7 或 Windows Vista,请应用 Microsoft 知识库中文档 2813430 内列出的相应更新。
2、建一个文件夹用于存放证书更新(比如 D:\CTLUpdates),然后在命令行下执行:
Certutil -syncWithWU D:\CTLUpdates
等一会儿,证书就同步完成了。
3、把上面的证书列表文件夹打包拷贝到断网的计算机上,解压到 D:\CTLUpdates 目录。
4、创建新的管理模板。方法是把下面的内容保存为一个文本文件:
CLASS MACHINE
CATEGORY !!SystemCertificates
KEYNAME 、"Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate"
POLICY !!RootDirURL
EXPLAIN !!RootDirURL_help
PART !!RootDirURL EDITTEXT
VALUENAME "RootDirURL"
END PART
END POLICY
END CATEGORY
[strings]
RootDirURL="URL address to be used instead of default ctldl.windowsupdate.com"
RootDirURL_help="Enter a FILE or HTTP URL to use as the download location of the CTL files."
SystemCertificates="Windows AutoUpdate Settings"
将文件改名为 RootDirURL.adm。
5、按 Win+R,输入 gpedit.msc 回车,打开组策略编辑器。依次展开“计算机配置”->“策略”,右击“管理模板”,然后单击“添加/删除模板”。
在“添加/删除模板”中单击“添加”。在“策略模板”对话框中,选择你前面保存的 .adm 模板。 单击“打开”,然后单击“关闭”。
在导航窗格中,依次展开“管理模板”->“经典管理模板(ADM)”。
单击“Windows AutoUpdate Settings”,然后在详细信息窗格中,双击“URL address to be used instead of default ctldl.windowsupdate.com”。
选择“已启用”。 在“选项”部分中,输入前面包含 CTL 更新的路径(注意格式):file://D:\CTLUpdates(也可以是 HTTP 服务器或者 Windows 文件共享地址。例如 http://server1/CTL 或 file://\server1\CTL) 。 单击“确定”。 关闭“组策略管理编辑器”。(其实组策略的确比直接修改注册表来得好用呢。)
6、重新启动。或者在命令行(管理员权限)下运行 gpupdate /force
应用组策略。
7、打开控制面板,在“程序与功能”里选择“Visual Studio 2012 xxxxx版”或者“Visual Studio 2013 xxxxx版”的条目,单击“修改”。然后选择“修复”以修复 VS。
Reference:
[0] http://blog.csdn.net/bokutake/article/details/50058763
[1] http://www.cnblogs.com/nbpowerboy/p/3383992.html
[2] https://social.technet.microsoft.com/Forums/security/zh-CN/9df7f7d1-611e-4b32-ad91-42aa19e44fca/ie8ie11?forum=iezhcn
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2012anzhuangwenti/2020/0725/4990.html