制作一个可以离线安装的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 创建加载项和扩展,包括新命令、代码分析器和工具窗口。
相关推荐
C++ 老炮儿的技术栈5 小时前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
猿小猴子7 小时前
主流 Agent 之 「Zed」和 「ZCode」 介绍
ide·ai·agent·zed·zhipu·ade·zcode
浪客川11 小时前
使用 IDEA 生成API文档
java·ide·intellij-idea
SMF191914 小时前
【PyCharm】让 PyCharm 使用 .venv 虚拟环境
ide·python·pycharm
User_芊芊君子14 小时前
STT + LLM + TTS:用一条流水线搓了个中英双向翻译助手
ide·macos·xcode
Hhy_110715 小时前
《C++深度解构01》C++入门基础
c语言·开发语言·c++·学习·visual studio
菜哥万岁万岁万万岁1 天前
Visual Studio 2022 社区版下载
ide·visual studio
iCxhust1 天前
8088单板机VScode集成开发环境使用方法
ide·笔记·vscode·编辑器·微机原理·8088单板机
来日方长。。。。long2 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
Molesidy2 天前
【VSCode】基于win10系统老版本和VSCode最新版本下出现的VSCode内置的终端窗口不能运行的问题的解决方案
ide·vscode·编辑器