Update Visual Studio using a minimal offline layout
For computers that are not connected to the internet, creating a minimal layout is the easiest and fastest way to update your offline Visual Studio instances.
The minimal layout tool generates a layout tailored specifically to your team's needs. Enterprise administrators can use this tool to create update layout(s) for most versions of Visual Studio, including Visual Studio 2017. Unlike a full Visual Studio layout, a minimal layout only contains the updated packages, so it is always smaller and faster to generate and deploy. You can further minimize the size of the update layout by specifying only the desired languages, workloads, and components.
How to generate a minimal layout
Important
These instructions assume that you've previously created and used layouts. For more information about how to do so, see the Update a network-based installation of Visual Studio page.
For a better understanding of the Visual Studio lifecycle, see the Visual Studio Product Lifecycle and Servicing page.
This tool creates update layouts for Visual Studio 2017 (15.9) and onwards. The layout can be deployed to network/offline machines to update Visual Studio instances. During normal layout creation, all the packages for that particular release are downloaded. Normal layout creation is required for repairing, uninstalling, and other standard operations on Visual Studio instances. The minimal layout downloads only updated packages, so it's smaller and easier to copy to offline machines.
Installing the minimal layout tool
First, download the minimal layout tool located here. Make sure to choose Save when prompted, then select Run.
Next, accept the User Account Control prompt by clicking Yes.
The minimal layout tool will be installed to
C:\Program Files (x86)\Microsoft Visual Studio\MinimalLayout
.
How to use the minimal layout tool
MinimalLayout.exe
uses the following commands and options to generate the layout. At least one command is required to run the tool. Here's how you'll run the tool:
MinimalLayout.exe [command] <options>...
Commands
Preview: Use this command to preview how many packages will download, and the total space used to create this layout.
Generate: Use this command to generate the minimal layout for updating Visual Studio.
Regenerate: Use this command to regenerate a layout using an existing minimal layout response file. Every minimal layout produces a
MinimalLayout.json
response file, which contains the original minimal layout input parameters. You can use the Regenerate command and aMinimalLayout.json
response file to regenerate the minimal layout. This is useful if you want to create a minimal layout for a new Visual Studio update based on the previous minimal layout's response file.For this command, a
MinimalLayout.json
file path from an already generated layout is required.MinimalLayout.exe regenerate --filePath C:\MinimalLayout\MinimalLayout.json
Verify: Use this command to determine if the layout folder is corrupted.
Fix: Use this command to fix a corrupted layout folder, including replacing any missing packages from the layout folder.
Options
Options | Description | Required/Optional | Example |
---|---|---|---|
--targetLocation <dir> | Specifies a directory in which to create a minimal offline layout. | Required | --targetLocation c:\VSLayout\ |
--baseVersion <version> | The minimal offline layout will be generated starting with this version. | Required | --baseVersion 16.4.0 |
--targetVersion <version> | The minimal offline layout will be generated up to and including this version. | Required | --targetVersion 16.4.4 |
--languages | Specifies the languages to include in the minimal offline layout. Multiple values can be specified, separated by spaces. | Required | --languages en-US fr-FR |
--productIds <one or more product IDs> | The ID(s) of the product(s) from which the minimal offline layout will be generated, separated by commas.
|
Required | --productIds Microsoft.VisualStudio.Product.Enterprise,Microsoft.VisualStudio.Product.Professional |
--filePath | The file path of the MinimalLayout.json file from an already created layout. This option is only used with the Regenerate command. | Required for Regenerate command | --filePath C:\VSLayout\minimalLayout.json Note that the Regenerate command only takes --filePath as an option. |
--add <one or more workload or component IDs> | Specifies one or more workload or component IDs to add. Additional components can be added globally using --includeRecommended and/or –-includeOptional. Multiple workloads or component IDs can be specified, separated by a space. |
Optional | --add Microsoft.VisualStudio.Workload.ManagedDesktop Microsoft.VisualStudio.Workload.NetWeb Component.GitHub.VisualStudio |
--includeRecommended | Includes the recommended components for any workloads that are installed, but not the optional components. | Optional | For a specific workload: --add Microsoft.VisualStudio.Workload. ManagedDesktop;includeRecommended To apply to all workloads: --includeRecommended |
--includeOptional | Includes the optional components for any workloads that are installed, including the recommended components. | Optional | For a specific workload: --add Microsoft.VisualStudio.Workload. ManagedDesktop;includeOptional To apply to all workloads: --includeOptional |
Generating a minimal layout
Important
These instructions assume that you've previously created a network installation layout. For more information about how to do so, see the Create a network installation of Visual Studio page.
Create a minimal layout using the generate command for your specified range of versions. You'll also need to know the productId, languages, and any specific workloads required. This minimal layout will update any Visual Studio instance from the base version up to and including the target version.
Before creating the layout, you can find out the total size of the download and the number of packages included by using the preview command. This command takes the same options as the generate command, and the details are written to the console.
Let's walk through a few examples of how to preview, generate, and regenerate a minimal layout:
First, here's an example of how to preview a layout for Visual Studio Enterprise versions 16.4.0 to 16.4.4 for English only.
MinimalLayout.exe preview --targetLocation c:\VSLayout\ --productIds Microsoft.VisualStudio.Product.Enterprise --baseVersion 16.4.0 --targetVersion 16.4.4 --languages en-US
Here's how to generate that same layout with one workload.
MinimalLayout.exe generate --targetLocation c:\VSLayout\ --productIds Microsoft.VisualStudio.Product.Enterprise --baseVersion 16.4.0 --targetVersion 16.4.4 --add Microsoft.VisualStudio.Workload.ManagedDesktop;includeOptional --languages en-US
And here's how to regenerate a minimal offline layout using an existing response file.
MinimalLayout.exe regenerate --filepath c:\VSLayout\MinimalLayout.json
A few other examples using the generate command:
Here's how to add an additional workload, and include only the recommended packages.
MinimalLayout.exe generate --targetLocation c:\VSLayout\ --productIds Microsoft.VisualStudio.Product.Professional --baseVersion 16.4.0 --targetVersion 16.4.4 --add Microsoft.VisualStudio.Workload.ManagedDesktop Microsoft.VisualStudio.Workload.NetWeb;includeRecommended --languages en-US
You can also generate a minimal offline layout which supports multiple products.
MinimalLayout.exe generate --targetLocation c:\VSLayout\ --productIds Microsoft.VisualStudio.Product.Enterprise,Microsoft.VisualStudio.Product.Professional --baseVersion 16.4.0 --targetVersion 16.4.4 --languages en-US
And finally, here's how you'd include multiple languages in your minimal layout.
MinimalLayout.exe generate --targetLocation c:\VSLayout\ --productIds Microsoft.VisualStudio.Product.Enterprise --baseVersion 16.4.0 --targetVersion 16.4.4 --add Microsoft.VisualStudio.Workload.ManagedDesktop;includeOptional --languages en-US fr-FR
How to maintain a minimal layout
Use the verify and fix commands to maintain your minimal layout after it's created. The verify command determines if there are any corrupt or missing packages in the minimal layout. If you encounter any problems after running the verify command, use the fix command to correct those missing or corrupt packages.
Here's how to verify if a layout has corrupt or missing packages:
MinimalLayout.exe Verify --targetLocation c:\VSLayout\ --productIds Microsoft.VisualStudio.Product.Enterprise --baseVersion 16.4.0 --targetVersion 16.4.4 --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeRecommended --languages en-US
And here's how to fix that layout:
MinimalLayout.exe fix --targetLocation C:\VSLayout\ --productIds Microsoft.VisualStudio.Product.Enterprise --baseVersion 16.4.0 --targetVersion 16.4.4 --add Microsoft.VisualStudio.Workload.ManagedDesktop;includeRecommended --languages en-US
Note
This layout cannot be used to repair a Visual Studio installation. To repair an existing instance of Visual Studio, see Repair Visual Studio.
How to use a minimal offline layout to update an existing installation of Visual Studio
After generating a minimal layout, you can copy the entire minimal layout folder to a client machine. This is required if the computer doesn't have access to the minimal layout folder in its original location.
Navigate to the folder and identify the bootstrapper application name. The name of the bootstrapper application depends on the ProductId value specified while generating the minimal layout. Refer to the table below for common examples.
ProductId value | Application name |
---|---|
Microsoft.VisualStudio.Product.Enterprise | vs_enterprise.exe |
Microsoft.VisualStudio.Product.Professional | vs_professional.exe |
Microsoft.VisualStudio.Product.BuildTools | vs_buildtools.exe |
The update is applied to a Visual Studio instance in two steps. Start by updating the Visual Studio Installer, then update Visual Studio.
Update the Visual Studio Installer
Run the following command, substituting
vs_enterprise.exe
with the correct bootstrapper application name if necessary.vs_enterprise.exe --quiet --update --offline C:\VSLayout\vs_installer.opc
Update the Visual Studio application
To update Visual Studio, you need to specify the installPath of the Visual Studio instance you wish to update. If multiple instances of Visual Studio are installed, each one needs to be updated separately. We strongly recommend you specify the
–noWeb
option with the update command to prevent the installation of components that aren't in the minimal layout. This prevents you from leaving Visual Studio in an unusable state.Run the following command, substituting the installPath command-line parameter appropriately. Be sure to use the correct bootstrapper application name as well.
vs_enterprise.exe update --noWeb --quiet --installpath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise"
Update the Visual Studio Installer
Run the following command, substituting
vs_enterprise.exe
with the correct bootstrapper application name if necessary.vs_enterprise.exe --quiet --update --offline C:\VSLayout\vs_installer.opc
Update the Visual Studio application
To update Visual Studio, you need to specify the installPath of the Visual Studio instance you wish to update. If multiple instances of Visual Studio are installed, each one needs to be updated separately. We strongly recommend you specify the
–noWeb
option with the update command to prevent the installation of components that aren't in the minimal layout. This prevents you from leaving Visual Studio in an unusable state.Run the following command, substituting the installPath command-line parameter appropriately. Be sure to use the correct bootstrapper application name as well.
vs_enterprise.exe update --noWeb --quiet --installpath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
Support or troubleshooting
Sometimes, things can go wrong. If your Visual Studio installation fails, see Troubleshoot Visual Studio installation and upgrade issues for step-by-step guidance.
Here are a few more support options:
- We offer an installation chat (English only) support option for installation-related issues.
- Report product issues to us via the Report a Problem tool that appears both in the Visual Studio Installer and in the Visual Studio IDE. If you're an IT Administrator and don't have Visual Studio installed, you can submit IT Admin feedback here.
- Suggest a feature, track product issues, and find answers in the Visual Studio Developer Community.
Related content
- Install Visual Studio
- Visual Studio administrator guide
- Use command-line parameters to install Visual Studio
- Tools for detecting and managing Visual Studio instances
- How to define settings in a response file
- Control updates to network-based Visual Studio deployments
- Visual Studio product lifecycle and servicing