制作一个可以离线安装的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 创建加载项和扩展,包括新命令、代码分析器和工具窗口。
相关推荐
hzw05102 小时前
Jupyter的使用
ide·python·jupyter
棒棒糖的糖不含糖5 小时前
idea生成类信息及快捷开发配置
ide
孟章豪6 小时前
SQL Server Data Tools (SSDT)入门教程
visual studio
JANGHIGH6 小时前
VSCode值得推荐的插件(持续更新中)
ide·vscode·编辑器
Antonio9158 小时前
【CMake】使用CMake在Visual Studio内构建多文件夹工程
开发语言·c++·visual studio
小周的C语言学习笔记9 小时前
鹏哥C语言36-37---循环/分支语句练习(折半查找算法)
c语言·算法·visual studio
cliffordl10 小时前
vscode 环境搭建
ide·vscode·编辑器
JANGHIGH10 小时前
VSCode引用Eigen库无法识别问题解决
ide·vscode·编辑器
我就是全世界12 小时前
开源集成开发环境搭建之VSCode启动Jupyter Notebook
ide·vscode·jupyter
程序猿进阶1 天前
如何在 Visual Studio Code 中反编译具有正确行号的 Java 类?
java·ide·vscode·算法·面试·职场和发展·架构