制作一个可以离线安装的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 创建加载项和扩展,包括新命令、代码分析器和工具窗口。
相关推荐
Hhy_11078 小时前
《C++深度解构04》类和对象(下)——类型转换、static、友元与编译器优化
c语言·c++·学习·类和对象·visual studio
free-elcmacom19 小时前
C语言字符指针与字符串字面量——从一道“剑指 Offer”笔试题说起
c语言·visual studio
辰辉创聚1 天前
重组蛋白聚集的形成机制及其对蛋白活性的影响
opencv·时序数据库·visual studio·重组蛋白·蛋白聚集·蛋白活性·蛋白聚集体
AI编码进化论1 天前
云IDE介绍:环境模板化、Agent上云,云IDE该怎么选
开发语言·ide·人工智能·团队开发·ai编程
我要见SA姐12 天前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
ide·vscode·python·自动化·编辑器
VIP_CQCRE2 天前
在 Visual Studio 里接入 Ace Data Cloud:用 LMLocal 快速获得 AI 编程能力
openai·ai编程·visual studio·ace data cloud·lmlocal
ThornArmor2 天前
《向内深潜,向外飞掠》
c语言·开发语言·c++·vim·visual studio
郝学胜_神的一滴2 天前
C++20模板元编程 04:变量模板 别名模板与模板Lambda实战
c++·visual studio
2501_915918412 天前
使用 VS Code 写 Swift 做 iOS 开发,插件能实现哪些功能,还有哪些短板
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
威嵌神州2 天前
天脉 3 开发环境与 BSP 适配:IDE license、驱动开发、飞腾平台
ide·驱动开发·嵌入式硬件·fpga开发