安装 Visual Studio 脱机安装所需的证书

Visual Studio 主要供连接 Internet 的计算机上安装,因为许多组件需要定期更新。 不过,通过额外执行一些步骤,可以在未连接 Internet 的环境中部署 Visual Studio。

Visual Studio 安装程序引擎仅安装受信任的内容。 为此,它会检查正在下载内容的验证码签名,并在安装前验证所有内容是否受信任。 这样可以保证用户环境的安全,在下载位置受到威胁时免受攻击。

因此,Visual Studio 安装程序要求在用户的计算机上安装多个标准的 Microsoft 根证书和中间证书,并保持最新版本。 如果计算机通过 Windows 更新保持最新状态,则签名证书通常是最新状态。 如果计算机连接到 Internet,则在安装过程中,Visual Studio 可能会根据需要刷新证书以验证文件签名。 如果计算机处于脱机状态,则必须采用其他方式刷新证书。

如何在处于脱机状态时刷新证书

有三个选项可用于在脱机环境中安装或更新证书。

选项 1 - 从布局文件夹手动安装证书

创建网络布局本地脱机缓存时,所需证书会下载到 Certificates 文件夹。 可以通过右键单击每个证书文件,选择“安装证书”,然后单击“证书管理器”向导来手动安装证书。 如果看到输入密码提示,请将密码留空。

选项 2 - 在企业环境中分发受信任的根证书

对于企业,如果脱机计算机不具有最新的根证书,管理员可以按照配置受信任根和不允许的证书页来更新证书。

选项 3 - 在 Visual Studio 的脚本化部署过程中安装证书

如果正在编写在脱机环境中将 Visual Studio 部署到客户端工作站的脚本,应执行以下步骤:

  1. 证书管理器工具 (certmgr.exe) 复制到网络布局或本地缓存安装位置。 Windows 自身不附带 Certmgr.exe,但 Windows SDK 可以提供。

  2. 使用下面的命令创建批处理文件:

    certmgr.exe -add [layout path]\certificates\manifestRootCertificate.cer -n "Microsoft Root Certificate Authority 2011" -s -r LocalMachine root
    
    certmgr.exe -add [layout path]\certificates\manifestCounterSignRootCertificate.cer -n "Microsoft Root Certificate Authority 2010" -s -r LocalMachine root
    
    certmgr.exe -add [layout path]\certificates\vs_installer_opc.RootCertificate.cer -n "Microsoft Root Certificate Authority 2010" -s -r LocalMachine root
    

    或者,通过以下命令创建批处理文件,该文件使用 Windows 中随附的 certutil.exe:

    certutil.exe -addstore -f "Root" "[layout path]\certificates\manifestRootCertificate.cer"
    
    certutil.exe -addstore -f "Root" "[layout path]\certificates\manifestCounterSignRootCertificate.cer"
    
    certutil.exe -addstore -f "Root" "[layout path]\certificates\vs_installer_opc.RootCertificate.cer"
    
  3. 将批处理文件部署到客户端。 应从提升的进程中运行此命令。

Certificates 文件夹中的证书文件有哪些?

  • manifestRootCertificate.cer 包含:
    • 根证书: Microsoft 根证书颁发机构 2011
  • manifestCounterSignRootCertificate.cer 和 vs_installer_opc.RootCertificate.cer 包含:
    • 根证书: Microsoft 根证书颁发机构 2010

Visual Studio 安装程序只需要在系统上安装根证书。 未安装最新的 Windows 更新的 Windows 7 Service Pack 1 系统需要所有这些证书。

为什么无法自动安装 Certificates 文件夹中的证书?

如果是在联机环境中验证签名,Windows API 可用于下载证书并将其添加到系统中。 在此过程中,可通过管理设置验证证书是否受信任且已获允许。 在大多数脱机环境中,无法执行此验证过程。 通过手动安装证书,企业管理员不仅能够确保使用受信任的证书,而且还能够符合组织的安全策略。

检查是否已安装证书

检查安装系统的一种方法是按以下步骤操作:

  1. 运行 mmc.exe
    a. 单击“文件”,然后选择“添加/删除管理单元” 。
    b. 双击“证书”,选择“计算机帐户”,然后单击“下一步” 。
    c. 选择“本地计算机”,然后单击“完成”
    d. 展开“证书(本地计算机)” 。
    e. 展开“受信任的根证书颁发机构”,选择“证书” 。

    • 检查此列表中是否有必需的根证书。

    f. 展开“中间证书颁发机构”,选择“证书” 。

    • 检查此列表中是否有需要的中间证书。
  2. 单击“文件”,然后选择“添加/删除管理单元” 。
    a. 双击“证书”,选择“我的用户帐户”,然后单击“完成”。
    b. 展开“证书 - 当前用户” 。
    c. 展开“中间证书颁发机构”,选择“证书” 。

    • 检查此列表中是否有需要的中间证书。

如果证书名称不在“颁发对象”列中,请安装这些证书 。 如果中间证书仅在“当前用户” 中间证书存储中,则仅供已登录的用户使用。 可能需要为其他用户安装它。

安装 Visual Studio

在客户端计算机上安装证书后,便可以从本地布局安装 Visual studio,或将 Visual Studio 从网络布局共享部署到客户端计算机

支持或故障排除

有时,你难免遇到一些问题。 如果 Visual Studio 安装失败,请参阅 Visual Studio 安装和升级问题疑难解答获取分步指南。

下面是另外几个支持选项:

  • 对于与安装相关的问题,我们提供安装聊天(仅限英语)支持选项。
  • 通过报告问题工具(会出现在 Visual Studio 安装程序和 Visual Studio IDE 中)向我们报告产品问题。 如果你是 IT 管理员,并且尚未安装 Visual Studio,可以在此处提交 IT 管理员反馈
  • Visual Studio 开发人员社区中,可提出功能建议、跟踪产品问题,并能找到答案。