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

Visual Studio 主要设计为安装在连接 Internet 的计算机上,因为许多组件会定期更新。 但是,通过一些额外的步骤,可以在工作 Internet 连接不可用的环境中部署 Visual Studio。

Visual Studio 安装引擎仅安装受信任的内容。 它通过检查正在下载的内容的 Authenticode 签名,并在安装之前验证是否信任所有内容来执行此操作。 这样可以保护环境免受下载位置泄露的攻击。

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

如何在脱机时刷新证书

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

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

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

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

对于没有最新根证书的脱机计算机的企业,管理员可以使用 配置受信任根和不允许的证书 页中的说明来更新它们。

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

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

  1. 证书管理器工具certmgr.exe)复制到网络布局或本地缓存安装位置。 Certmgr.exe 不包括在 Windows 本身中,但作为 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. 将批处理文件部署到客户端。 此命令应从具有管理员权限的进程运行。

证书文件夹中的证书文件是什么?

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

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

为什么证书文件夹中的证书未自动安装?

在联机环境中验证签名时,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 开发人员社区中查找答案。