制作一个可以离线安装的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 创建加载项和扩展,包括新命令、代码分析器和工具窗口。
相关推荐
六月闻君1 小时前
Jupyter 使用特定的虚拟环境配置
ide·python·jupyter
羊子雄起8 小时前
GitHub宕机时的协作方案
运维·vscode·github·visual studio
霸气十足+拼命+追梦少年17 小时前
vscode远程服务器出现一直卡在正在打开远程和连接超时解决办法
服务器·ide·vscode
晨非辰19 小时前
#C语言——学习攻略:自定义类型路线--结构体--结构体类型,结构体变量的创建和初始化,结构体内存对齐,结构体传参,结构体实现位段
c语言·开发语言·经验分享·学习·其他·学习方法·visual studio
QL.ql21 小时前
(一)vscode搭建espidf环境
ide·vscode·编辑器
cxylay1 天前
LaTeX(排版系统)Texlive(环境)Vscode(编辑器)环境配置与安装
ide·vscode·编辑器·latex·texlive
羊仔AI探索1 天前
Windows也能用!Claude Code硬核指南
ide·人工智能·windows·ai·aigc
zzc9211 天前
Pycharm选好的env有包,但是IDE环境显示无包
ide·python·pycharm·异常·import·