Before diving into the "how," let’s understand the "why." The standard Visual Studio 2022 installer is a small bootstrapper (~1-2 MB) that downloads components on the fly. While convenient for a single machine with good internet, it has serious drawbacks:
Important: Microsoft does not offer a single "offline installer EXE" file for Visual Studio 2022 Community, Professional, or Enterprise on their download page. Instead, you must create an offline layout using the bootstrapper and command-line tools. This guide shows you exactly how.
Open an elevated Command Prompt (Run as administrator). microsoft visual studio 2022 download offline installer
Create an offline layout with the workloads/components you need. Example (includes .NET desktop and Desktop development with C++ workloads and English):
vs_Community.exe --layout C:\VS2022Offline --lang en-US --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NativeDesktop
Wait for the layout to download. The tool fetches required packages into the layout folder. Before diving into the "how," let’s understand the "why
To install Visual Studio from the offline layout on a disconnected PC:
To update the layout later (add workloads or new updates), run the layout command again — it will download new packages into the same folder: Important: Microsoft does not offer a single "offline
vs_Community.exe --layout C:\VS2022Offline --lang en-US --add <additional-workload-or-component>
After running the command, the bootstrapper will download all required packages into the specified folder. This may take a long time depending on your internet speed and selected workloads (can be 20–40 GB).
Once the download finishes, you can install Visual Studio 2022 without internet:
| Flag | Purpose |
|-------|---------|
| --layout | Target folder for offline files |
| --add | Include specific workload or component |
| --lang | Language packs (use --list --lang en-US to see available) |
| --includeRecommended | Include recommended components for each workload |
| --includeOptional | Include all optional components (⚠️ huge download) |
| --useLatestInstaller | Force download the latest installer engine |
| --verify / --fix | Validate or repair the layout |