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

须知

  • 前提条件,需要电脑可以正常上网且网速还行,硬盘可以空间容量足够大,怎么判断容量够用?由组件数量的多少来决定。
  • Visual Studio 频道和发布节奏
    https://learn.microsoft.com/zh-cn/visualstudio/productinfo/release-rhythm

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

  • 1.1、旧的版本下载:
    https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
  • 1.2、新版本下载:
    https://visualstudio.microsoft.com/zh-hans/

下载最新的Visual Studio 2022,对应Community版本,下载后的引导程序,文件大小接近在4MB的样子
在这里插入图片描述

步骤 2 - 创建本地布局

  • 创建和维护 Visual Studio 的网络安装
    https://learn.microsoft.com/zh-cn/visualstudio/install/create-a-network-installation-of-visual-studio?view=vs-2022

  • 使用命令行参数安装、更新和管理 Visual Studio
    https://learn.microsoft.com/zh-cn/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2022

  • 语言区域设置
    https://learn.microsoft.com/zh-cn/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2022&preserve-view=true#list-of-language-locales

  • 创建 Visual Studio 的脱机安装包以进行本地安装
    https://learn.microsoft.com/zh-cn/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2022


选择一个合适的开发场景,执行相应的命令
创建的语法,参数释义可以参考
–add:用于指定工作负载或组件 ID。
如果使用 --add,只会下载使用 --add 指定的工作负载和组件。 如果不使用 --add,将下载所有工作负载和组件。
–includeRecommended,用于添加针对指定工作负载 ID 的所有推荐组件。
–includeOptional,用于添加针对指定工作负载 ID 的所有可选组件。
–config 使用配置文件指定应包含在布局中的组件。
–lang:用于指定语言区域设置。

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

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

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

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

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

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

	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 XXXX-XXXX-XXXX-XXXX-XXXX
  • 上截图,组件、文件安装的位置
    在这里插入图片描述

  • 上截图,语言
    在这里插入图片描述

  • 安装的过程中没有联网,只是验证安装包的时间有些长
    在这里插入图片描述

  • 指定的位置
    在这里插入图片描述




参考汇总

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

  • Visual Studio Enterprise 2019 组件目录
    https://learn.microsoft.com/zh-cn/visualstudio/install/workload-component-id-vs-enterprise?view=vs-2019
  • Visual Studio Professional 2019 组件目录
    https://learn.microsoft.com/zh-cn/visualstudio/install/workload-component-id-vs-professional?view=vs-2019
  • Visual Studio Community 2019 组件目录
    https://learn.microsoft.com/zh-cn/visualstudio/install/workload-component-id-vs-community?view=vs-2019

列出部分组件

组件名称组件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 创建加载项和扩展,包括新命令、代码分析器和工具窗口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/579620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AutoSAR(基础入门篇)3.2-Autosar中RTE的Ports【S/R】与【C/S】

目录 一、RTE的Ports【S/R】 1、特征 1.1、扮演SWCs和BSW的交流途径 1.2、其他特征

简析SoBit 跨链桥图文教程

从BTC网络到Solana网络桥接BRC20 1.打开SoBit平台:在您的网络浏览器中启动SoBit Bridge应用程序。 2.连接您的钱包: 选择SoBit界面右上角的比特币网络来连接您的数字钱包。 3.选择源链、目标链和您想桥接的代币: 从下拉菜单中选择’BTC’作为…

讯飞星火认知大模型智能语音交互调用

随着国内外大模型热度的兴起,依托于大模型的智能化,传统的人机交互已经不能满足人们交互的需求。而结合语音和大模型的交互拜托传统互联网获取知识的文字限制,用语音也可以轻松获取想要的知识和思路。 一、大模型智能语音交互调用实现思路 …

华为ipv6配置之ospf案例

R1 ipv6 ospfv3 1 router-id 1.1.1.1 //必须要手动配置ospf id,它不会自动生成 interface GigabitEthernet0/0/0 ipv6 enable ipv6 address 2000::2/96 ospfv3 1 area 0.0.0.0 interface LoopBack0 ipv6 enable ipv6 address 2001::1/96 ospfv3 1 area 0.0.0.0 R2…

创新科技赋能,易点易动设备管理系统助力企业实现设备管理升级

在当今竞争激烈的商业环境中,企业对设备管理的要求越来越高。高效的设备管理不仅可以提高生产效率,降低成本,还可以确保设备安全和可靠性。然而,传统的手工管理方式已经无法满足企业快速发展的需求。为了解决这一问题,…

electron autoUpdater自动更新使用示例 客户端+服务端

封装好的 update.js 模块 use strict; const { autoUpdater } require(electron) // 更新检测 // https://www.electronjs.org/zh/docs/latest/api/auto-updaterconst checkUpdate (serverUrl) >{const updateUrl ${serverUrl}/update?platform${process.platform}&am…

论文阅读——TÜLU

How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources 统一输入格式:将所有数据集格式化为遵循聊天机器人风格的模式,以统一指令数据集的各种风格和格式。用户输入和目标话语之前特殊token:,助手…

Xcode 编译速度慢是什么原因?如何提高编译速度?

作为一个开发者,我们都希望能够高效地开发应用程序,而编译速度是影响开发效率的重要因素之一。然而,有时候我们会发现在使用 Xcode 进行开发时,译速度非常慢,这给我们带来了不少困扰。那么,为什么 Xcode 的…

57.0/初识 PhotoShopCS4(详细版)

目录 57.1 PhotoShop 概要 57.2.1 像素和分辨率 57.2.2 色彩模式 57.2.3 位图和矢量图 57.3 PhotoShop 基本操作 57.3.1 PhotoShop 界面的认识 57.3.2 PhotoShop 基本界面工具 57.3.3 移动选择工具(V) 57.3.4 选框工具(M)​编辑 ​编辑57.3.5 套索工具(L) 57.3…

uniapp中各种状态的按钮

当涉及状态按钮时,UniApp提供了丰富的选择。UniApp中的状态按钮可以是开关按钮、单选按钮、多选按钮等。开发者可以根据具体需求选择使用合适的状态按钮组件。对于状态按钮,UniApp提供了丰富的API和事件,可以轻松实现状态切换、状态监听等功能…

cfa一级考生复习经验分享系列(十二)

背景:就职于央企金融机构,本科金融背景,一直在传统金融行业工作。工作比较忙,用了45天准备考试,几乎每天在6小时以上。 写在前面的话 先讲一下,整体一级考下来,我觉得知识点多,偏基础…

Android apk安装包反编译——apktool工具

apk 文件结构 首先是 apk,即安卓程序的安装包。Apk 是一种类似于 Symbian Sis 或 Sisx 的文件格式。通过将 APK 文件直接传到 Android 模拟器或 Android 手机中执行即可安装。 而 apk 文件实际上就是一个 MIME 为 ZIP 的压缩包,只不过后缀名进行了更改。…

uniapp 分页

在app中实现分页效果的时候建议使用scroll-view标签 在data中定义好分页,从接口中获取一共的条数, pageInfo: {pageNum: 1,pageSize: 10,messageCode: null,}, total: 0, 在一进入页面就请求方法或者接口获取到条数 onLoad中调用这个方法 onLoad() {t…

线上3DVR展厅拉近客户距离,提升谈单转化效率

随着互联网的普及和数字化技术的发展,越来越多的企业开始利用3D虚拟展厅来展示自己的产品和服务。虚拟展厅作为一种新型的展示方式,能够迅速拉近客户与企业的距离,提高客户的信任感,从而促进订单的达成。 720云3D空间漫游 在传统…

【HBase】——简介

1 HBase 定义 Apache HBase™ 是以 hdfs 为数据存储的,一种分布式、可扩展的 NoSQL 数据库。 2 HBase 数据模型 • HBase 的设计理念依据 Google 的 BigTable 论文,论文中对于数据模型的首句介绍。 Bigtable 是一个稀疏的、分布式的、持久的多维排序 m…

分布式下如何实现统一日志系统?

在业务系统开发中,日志的收集和分析很重要,特别是在进行故障分析时,日志记录得好,可以帮我们快速定位问题原因。在互联网分布式系统下,日志变得越来越分散,数据规模也越来越大,如何更好地收集和…

初见 Amazon Q

前言 如果今年要写一篇年终总结的话,生成式 Ai 一定是绕不过的一个话题,自从去年的 chatGPT 火爆全球后,今年各种生成式 Ai 的产品络绎不绝地出现大众视线,版本迭代的速度也是非常快,大家甚至开始在自己的生活和工作中…

亿赛通电子文档安全管理系统 dump任意文件读取漏洞(CNVD-2023-09184)

产品简介 亿赛通电子文档安全管理系统,(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资…

开集目标检测-标签提示目标检测大模型(吊打YOLO系列-自动化检测标注)

背景 大多数现有的对象检测模型都经过训练来识别一组有限的预先确定的类别。将新类添加到可识别对象列表中需要收集和标记新数据,并从头开始重新训练模型,这是一个耗时且昂贵的过程。该大模型的目标是开发一个强大的系统来检测由人类语言输入指定的任意…

音频筑基:码率模式CBR、VBR、CVBR一文说清

音频筑基:码率模式CBR、VBR、CVBR一文说清 是什么深入理解参考资料 在音频编码或者网络传输中,码率是我们经常遇到的概念,这里谈谈自己对CBR、VBR、CVBR模式的理解。 是什么 首先什么是码率,即指每秒传送多少比特的数据量&#x…