制作一个可以离线安装的Visual Studio安装包

须知

步骤 1 - 下载 Visual Studio 引导程序

下载最新的Visual Studio 2022,对应Community版本,下载后的引导程序,文件大小接近在4MB的样子

步骤 2 - 创建本地布局


选择一个合适的开发场景,执行相应的命令

创建的语法,参数释义可以参考

--add:用于指定工作负载或组件 ID。

如果使用 --add,只会下载使用 --add 指定的工作负载和组件。 如果不使用 --add,将下载所有工作负载和组件。

--includeRecommended,用于添加针对指定工作负载 ID 的所有推荐组件。

--includeOptional,用于添加针对指定工作负载 ID 的所有可选组件。

--config 使用配置文件指定应包含在布局中的组件。

--lang:用于指定语言区域设置。

shell 复制代码
VS引导执行程序  --layout 指定用于创建或更新脱机安装缓存的目录 --add 组件的id名称 --includeOptional --lang 设置需要的语言
  • 对于仅支持一种语言的.NET Web 和 .NET 桌面开发,语言中文和英文,请运行:

    shell 复制代码
    VisualStudioSetup.exe --layout c:\localVSlayout --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeOptional --lang zh-CN en-US
  • 对于仅支持一种语言的 C++ 桌面开发(包括所有推荐组件和可选组件),语言中文和英文,请运行:

    shell 复制代码
    VisualStudioSetup.exe --layout c:\localVSlayout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --includeOptional --lang zh-CN en-US

步骤 3 - 从本地布局安装 Visual Studio

  • 运行安装并阻止客户端计算机访问 Internet,特别注意一点,此时引导程序在layout指定的目录下也会有一份,那么可以使用绝对路径来配置

    shell 复制代码
    c:\localVSlayout\VisualStudioSetup.exe --noWeb --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeOptional --addProductLang zh-CN en-US
  • 也可以设置程序安装的位置和产品激活的密钥

    shell 复制代码
    c:\localVSlayout\VisualStudioSetup.exe --noWeb --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeOptional --addProductLang zh-CN en-US --installPath C:\vs2022 --productKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
  • 上截图,组件、文件安装的位置

  • 上截图,语言

  • 安装的过程中没有联网,只是验证安装包的时间有些长

  • 指定的位置

bat脚本

  • 创建本地布局
shell 复制代码
@echo off
color 0a
title VS创建本地布局脚本
call VisualStudioSetup.exe --layout c:\localVSlayout ^
--add Microsoft.VisualStudio.Workload.NetWeb ^
--add Microsoft.VisualStudio.Workload.ManagedDesktop ^
--add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended ^
--includeOptional --lang zh-CN en-US
  • 从本地布局里安装
shell 复制代码
@echo off
color 0a
title VS从本地布局里安装脚本
call c:\localVSlayout\VisualStudioSetup.exe --installPath C:\vs2022 --noWeb ^
--add Microsoft.VisualStudio.Workload.NetWeb ^
--add Microsoft.VisualStudio.Workload.ManagedDesktop ^
--add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended ^
--includeOptional --addProductLang zh-CN en-US ^
--productKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

参考汇总

以2019版本的VS为参考,对应的组件目录

列出部分组件

组件名称 组件ID 组件描述
Visual Studio 核心编辑器(Visual Studio Professional 2019 随附) ID: Microsoft.VisualStudio.Workload.CoreEditor 描述: Visual Studio 核心 shell 体验,包括语法感知代码编辑、源代码管理和工作项管理。
通用 Windows 平台开发 ID: Microsoft.VisualStudio.Workload.Universal 描述:使用 C#、VB、或可选 C++ 为通用 Windows 平台创建应用程序。
.NET 桌面开发 ID: Microsoft.VisualStudio.Workload.ManagedDesktop 说明:将 C#、Visual Basic 和 F# 与 .NET 和 NET Framework 一起使用,生成 WPF、Windows 窗体和控制台应用程序。
使用 Unity 的游戏开发 ID: Microsoft.VisualStudio.Workload.ManagedGame 描述: 使用 Unity(功能强大的跨平台开发环境)创建 2D 和 3D 游戏。
使用 C++ 的桌面开发 ID: Microsoft.VisualStudio.Workload.NativeDesktop 描述: 使用所选工具(包括 MSVC、Clang、CMake 或 MSBuild)生成适用于 Windows 的新式 C++ 应用。
使用 C++ 的游戏开发 ID: Microsoft.VisualStudio.Workload.NativeGame 描述: 以 DirectX、Unreal 或 Cocos2d 为后盾,利用 C++ 的强大功能生成专业游戏。
Node.js 开发 ID: Microsoft.VisualStudio.Workload.Node 描述: 使用 Node.js(一个由异步事件驱动的 JavaScript 运行时)生成可缩放的网络应用程序。
Python 开发 ID: Microsoft.VisualStudio.Workload.Python 描述: 对 Python 进行编辑、调试、交互式开发和源代码管理。
Visual Studio 扩展开发 ID: Microsoft.VisualStudio.Workload.VisualStudioExtension 描述: 为 Visual Studio 创建加载项和扩展,包括新命令、代码分析器和工具窗口。
相关推荐
甄天12 小时前
WPF路由事件:冒泡、隧道与直接全解析
c#·wpf·visual studio
笑醉踏歌行14 小时前
idea应用代码配色网站
java·ide·intellij-idea
韩初心16 小时前
使用 visual studio 2022 编译 Lua5.4.8
ide·visual studio·lua5.4
comeilmforever18 小时前
IDEA2025 Version Control 窗口 local changes显示
java·ide·intellij-idea
kiss strong1 天前
好用的自带AI功能的国产IDE
ide
甄天10 天前
WPF中MVVM和MVVMLight模式
c#·wpf·visual studio
:-)11 天前
VSCode新窗口背景水印logo修改美化
ide·vscode·编辑器
未来之窗软件服务11 天前
酒店住宿自助入住系统——店铺自动运营—仙盟创梦IDE
ide·微信支付·仙盟创梦ide·东方仙盟·自动运营·自助缴费
黑塞12312 天前
Vscode 编写Markdown支持 plantuml书写
ide·vscode·编辑器·markdown·plantuml
我命由我1234512 天前
C++ - 标准库之 <string> npos(npos 概述、npos 的作用)
服务器·c语言·开发语言·c++·后端·visualstudio·visual studio