admin 管理员组

文章数量: 887007

1. 离线安装VS2013必须先将IE升级至IE10以上

离线升级IE

首先系统必须是sp1的,然后安装KB2670838、KB2729094、KB2731771、KB2786081、KB2834140后

下载IE11离线安装包:http://www.microsoft/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"
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”。
  选择“已启用”。 在“选项”部分中,输入前面包含 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/bokutake/article/details/50058763
[1] http://wwwblogs/nbpowerboy/p/3383992.html
[2] https://social.technet.microsoft/Forums/security/zh-CN/9df7f7d1-611e-4b32-ad91-42aa19e44fca/ie8ie11?forum=iezhcn

本文标签: 离线 visual Windows Studio