Install certificates needed for Visual Studio offline installation
Visual Studio is primarily designed for installation from an internet-connected machine, since many components are updated regularly. However, with some extra steps, it's possible to deploy Visual Studio in an environment where a working internet connection is unavailable.+
Install certificates needed for Visual Studio offline installation
The Visual Studio setup engine will only install content that is trusted. It does this by checking Authenticode signatures of the content being downloaded and verifying that all content is trusted before installing it. This keeps your environment safe from attacks where the download location is compromised. Visual Studio setup therefore requires that several standard Microsoft root and intermediate certificates are installed and up to date on a user's machine. If the machine has been kept updated with Windows Update, signing certificates are automatically updated, and during installation Visual Studio will refresh certificates as necessary to verify file signatures. +
For enterprises with offline machines that do not have the latest root certificates, an administrator can use the instructions here to update them. Alternatively, the necessary certificates are downloaded during the creation of a network layout to the certificates folder and can be manually installed by double-clicking the certificate file and then clicking thru the certificate manager wizard. If asked for a password, leave it blank.+
If you are scripting the deployment of Visual Studio in an offline environment to client workstations, you should follow these steps:+
Copy the Certificate Manager Tool (
certmgr.exe) to the installation share (for example,\\server\share\vs2017).certmgr.exeis not included as part of Windows itself, but is available as part of the Windows SDK.Create a batch file with the following commands:
cmdCopycertmgr.exe -add -c certificates\manifestSignCertificates.p12 -n "Microsoft Code Signing PCA 2011" -s -r LocalMachine CA certmgr.exe -add -c certificates\manifestSignCertificates.p12 -n "Microsoft Root Certificate Authority" -s -r LocalMachine root certmgr.exe -add -c certificates\manifestCounterSignCertificates.p12 -n "Microsoft Time-Stamp PCA 2010" -s -r LocalMachine CA certmgr.exe -add -c certificates\manifestCounterSignCertificates.p12 -n "Microsoft Root Certificate Authority" -s -r LocalMachine root certmgr.exe -add -c certificates\vs_installer_opc.SignCertificates.p12 -n "Microsoft Code Signing PCA" -s -r LocalMachine CA certmgr.exe -add -c certificates\vs_installer_opc.SignCertificates.p12 -n "Microsoft Root Certificate Authority" -s -r LocalMachine root
Deploy the batch file to the client. This command should be run from an elevated process.
What are the certificates files in the certificates folder?
The three .p12 files in this folder each contain an intermediate certificate and a root certificate. Most systems that are current with Windows Update will have these certificates already installed.+
ManifestSignCertificates.p12contains:- Intermediate certificate: Microsoft Code Signing PCA 2011
- Not required. Improves performance in some scenarios if present.
- Root certificate: Microsoft Root Certificate Authority 2011
- Required on Windows 7 Service Pack 1 systems that do not have the latest Windows Updates installed.
- Intermediate certificate: Microsoft Code Signing PCA 2011
ManifestCounterSignCertificates.p12- Intermediate certificate: Microsoft Time-Stamp PCA 2010
- Not required. Improves performance in some scenarios if present.
- Root certificate: Microsoft Root Certificate Authority 2010
- Required for Windows 7 Service Pack 1 systems that do not have the latest Windows Updates installed.
- Intermediate certificate: Microsoft Time-Stamp PCA 2010
vs_installer_opc.SignCertificates.p12- Intermediate certificate: Microsoft Code Signing PCA
- Required for all systems. Note that systems that with all updates applied from Windows Update may not have this certificate.
- Root certificate: Microsoft Root Certificate Authority
- Required. This certificate ships with systems running Windows 7 or later.
- Intermediate certificate: Microsoft Code Signing PCA
Why are the certificates from the certificates folder not installed automatically?
When a signature is verified in an online environment, Windows APIs are used to download and add the certificates to the system. Verification that the certificate is trusted and allowed via administrative settings occurs during this process. This verification process cannot occur in most offline environments. Installing the certificates manually allows enterprise administrators to ensure the certificates are trusted and meet the security policy of their organization.+
Checking if certificates are already installed
One way to check on the installing system is to follow these steps:+
- Run mmc.exe
- Click on File and select Add/Remove Snap-in
- Double-click on Certificates, select Computer account and click Next
- Select Local computer, click Finish, and click Ok
- Expand Certificates (Local Computer)
- Expand Trusted Root Certification Authorities and select Certificates
- Check this list for the necessary root certificates.
- Expand Intermediate Certification Authorities and select Certificates
- Check this list for the required intermediate certificates.
- Click on File and select Add/Remove Snap-in
- Double-click on Certificates, select My user account, click Finish and OK.
- Expand Certificates – Current User
- Expand Intermediate Certification Authorities and select Certificates
- Check this list for the required intermediate certificates.
If the certificates names were not in the Issued To columns, they will need to be installed. If an intermediate certificate was only in the Current User Intermediate Certificate store, then it is only available to the user that is logged in and could be needed to be installed for other users.+
Install Visual Studio
Having installed the certificates, deployment of Visual Studio can proceed offline without additional special steps, using the instructions here.+
See also
- Install Visual Studio
- Visual Studio administrator guide
- Use command-line parameters to install Visual Studio
- Visual Studio workload and component IDs
Customizing the network layout
There are several options you can use to customize your network layout. You can create a partial layout that only contains a specific set of language locales, workloads, components, and their recommended or optional dependencies. This may be useful if you know that you are only going to deploy a subset of workloads to client workstations. Common command-line parameters for customizing the layout include:+
--addto specify workload or component IDs. If--addis used, only those workloads and components specified with--addwill be downloaded. If--addis not used, all workload and components will be downloaded.--includeRecommendedto include all the recommended components for the specified workload IDs--includeOptionalto include all the recommended and optional components for the specified workload IDs.--langto specify language locales.
Here are a few examples of how to create a custom partial layout.+
- To download all workloads and components for only one language, run:
vs_enterprise.exe --layout C:\vs2017offline --lang en-US - To download all workloads and components for multiple languages, run:
vs_enterprise.exe --layout C:\vs2017offline --lang en-US de-DE ja-JP - To download one workload for all languages, run
vs_enterprise.exe --layout C:\vs2017offline --add Microsoft.VisualStudio.Workload.Azure --includeRecommended - To download two workloads and one optional component for three languages, run:
vs_enterprise.exe --layout C:\vs2017offline --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Component.GitHub.VisualStudio --includeRecommended --lang en-US de-DE ja-JP - To download two workloads and all of their recommended components, run:
vs_enterprise.exe --layout C:\vs2017offline --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Component.GitHub.VisualStudio --includeRecommended - To download two workloads and all of their recommended and optional components, run:
vs_enterprise.exe --layout C:\vs2017offline --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Component.GitHub.VisualStudio --includeOptional
Deploying from a network installation
Administrators may deploy Visual Studio onto client workstations as part of an installation script. Or, users who have administrator rights can run setup directly from the share to install Visual Studio on their machine.+
- Users can install by running:
\\server\products\VS2017\vs_enterprise.exe - Administrators can install in an unattended mode by running:
\\server\products\VS2017\vs_enterprise.exe --quiet --wait --norestart
Tip
When executed as part of a batch file, the --wait option ensures that the vs_enterprise.exe process waits until the install is completed before returning a exit code. This is useful where an enterprise administrator wants to perform further actions on the completed install (for example, to apply a product key to a successful installation). where one needs to wait for the install to finish to handle the return code from that install. If you do not use --wait, the vs_enterprise.exe process will exit before the install is complete and it will not return an accurate exit code that represents the state of the install operation.+
Error codes
If you used the --wait parameter, then depending on the result of the operation, the %ERRORLEVEL% environment variable will be set to one of the following values:+
| Value | Result |
|---|---|
| 0 | Operation completed successfully |
| 3010 | Operation completed successfully, but install requires reboot before it can be used |
| Other | Failure condition occurred - check the logs for more information |
Updating a network install layout
As product updates become available, you may want to update the network install layout to incorporate updated packages.+
How to create a layout for a previous Visual Studio 2017 release
Note: The VS 2017 bootstrappers available on http://www.visualstudio.com will download and install the latest VS 2017 release available whenever they are run. If you download a VS bootstrapper today and run it 6 months from now, it will install the VS 2017 release that is available at that later time. If you create a layout, installing VS from that layout will install the specific version of VS that exists in the layout. Even though a newer version may exist online, you will get the version of VS that is in the layout.+
If you need to create a layout for an older version of Visual Studio 2017, you can go to https://my.visualstudio.com to download "fixed" versions of the Visual Studio 2017 bootstrappers for supported versions, which will allow you to create a network install layout for that older version. +
How to get support for your offline installer
If you experience a problem with your offline installation, we want to know about it. The best way to tell us is by using the Report a Problem tool. When you use this tool, you can send us the telemetry and logs we need to help us diagnose and fix the problem.+
We have other support options available, too. For a list of those, see our Talk to us page.+
See also
Install certificates needed for Visual Studio offline installation的更多相关文章
- Download Visual Studio
Welcome to a new way to install Visual Studio! In our newest version, we've made it easier for you t ...
- Visual Studio 2012 trial version
Update: vs2012.5.iso http://download.microsoft.com/download/9/F/1/9F1DEA0F-97CC-4CC4-9B4D-0DB45B8261 ...
- [转] Visual Studio Code behind a proxy
http://www.tuicool.com/articles/jyyIBf3 http://blog.majcica.com/2016/04/07/visual-studio-code-behind ...
- C# on Visual Studio Code
installation Download .NET Core SDK installer and install it. https://www.microsoft.com/net/download ...
- Web Servers in Visual Studio for ASP.NET Web Projects
https://msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx When you develop web projects in Vi ...
- Introducing Visual Studio’s Emulator for Android
visual studio 2015支持Android开发了. Microsoft released Visual Studio 2015 Preview this week and with it ...
- Unable to install SQL Server (setup.exe), VS Shell installation has failed with exit code 1638.
The problem is likely that there's a newer version of the Visual C++ Redistributable than SQL Server ...
- Visual Studio 2008 Package Load Failure:未能正确加载包“Microsoft.VisualStudio.Xaml”
在安装好Visual Studio 2008后,启动Visual Studio 2008 发现如下提示: 包加载失败 未能正确加载包“Microsoft.VisualStudio.Xaml”( GUI ...
- Visual Studio 2013 Update 2 RTM 发布
今天,微软再Visual Studio Blog发布了开放Visual Studio 2013 Update 2 RTM 下载的文章. 原来安装RC版本的同志们可以直接安装,提供在线安装和ISO下载安 ...
随机推荐
- Tornado(一)
Tornado 特点 Tornado是一个用Python写的相对简单的.不设障碍的Web服务器架构,用以处理上万的同时的连接口,让实时的Web服务通畅起来.虽然跟现在的一些用Python写的Web架构 ...
- hdu 1372Knight Moves
E - Knight Moves Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Su ...
- cf 633B A trivial problem
Mr. Santa asks all the great programmers of the world to solve a trivial problem. He gives them an i ...
- 「WC2010」重建计划(长链剖分/点分治)
「WC2010」重建计划(长链剖分/点分治) 题目描述 有一棵大小为 \(n\) 的树,给定 \(L, R\) ,要求找到一条长度在 \([L, R]\) 的路径,并且路径上边权的平均值最大 \(1 ...
- luoguP3830 [SHOI2012]随机树 期望概率 + 动态规划 + 结论
题意非常的复杂,考虑转化一下: 每次选择一个叶节点,删除本叶节点(深度为$dep$)的同时,加入两个深度为$dep + 1$的叶节点,重复$n$轮 首先考虑第$1$问,(你看我这种人相信数据绝对是最大 ...
- [BZOJ4026]dC Loves Number Theory(线段树)
根据欧拉函数的定义式可知,可以先算出a[l]*a[l+1]*...*a[r]的值,然后枚举所有存在的质因子*(p-1)/p. 发现这里区间中一个质因子只要计算一次,所以指计算“上一个同色点在区间外”的 ...
- 20162325 金立清 S2 W6 C15
20162325 2017-2018-2 <程序设计与数据结构>第6周学习总结 教材学习内容概要 队列是先进先出(FIFO)的集合 队列是保存重复编码k值的一种有效结构 实现模拟时常用队列 ...
- JDBC中使用Preparement对象修改个人多账户密码
在日常生活中,人们可能会遇到想同时修改自己所有账户的密码,这个时候再用批量处理已经不好使了,因为我们要处理的是某个人的多个账户,而不是所有人的,那么怎么才能实现呢?经过大量的测试,我写了一个单元测试代 ...
- Java(静态)变量和(静态)代码块的执行顺序
本文讨论Java中(静态)变量.(静态)代码块的执行顺序 首先创建3个类: 1.Foo类,用于打印变量 public class Foo { public Foo(String word) { Sys ...
- noip2009最优贸易
试题描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双 ...