制作一个可以离线安装的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,一经查实,立即删除!

相关文章

简析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 的…

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

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

线上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系列-自动化检测标注)

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

十一.MyBatis的缓存

11.1缓存介绍 为什么使用缓存? 使用缓存的主要原因是为了提高应用程序的性能和响应速度。缓存可以存储经常访问的数据或计算结果,从而避免重复进行相同的计算或查询数据库等耗时的操作。通过使用缓存,你可以减少对原始数据源的访问次数&…

2022年山东省职业院校技能大赛高职组云计算赛项试卷第二场-容器云

2022年山东省职业院校技能大赛高职组云计算赛项试卷 目录 【赛程名称】云计算赛项第二场-容器云 需要竞赛软件包以及资料可以私信博主! 【赛程名称】云计算赛项第二场-容器云 【赛程时间】2022-11-27 09:00:00至2022-11-27 16:00:00 说明:完成本任务…

【流复制环境PostgreSQL-14.1到PostgreSQL-16.1大版本升级】

PostgreSQL大版本会定期添加新特性,这些新特性通常会改变系统表的布局,但内部数据存储格式很少改变。pg_upgrade通过创建新的系统表和重用旧的用户数据文件来执行快速升级。 pg_upgrade升级主要有三种用法: 1、使用pg_upgrade拷贝升级。 2、…

【工具】windeployqt 在windows + vscode环境下打包

目录 0.背景简介 1.windeployqt简介 2.打包具体过程 1)用vscode编译,生成Release文件夹(也有Debug文件夹,但是发布版本一般都是用Release) 2)此时可以看下Release文件夹内,一般是.exe可执行…

【学习笔记】Java函数式编程03 Stream流-终结操作

书接上回 3.3.3 终结操作 3.3.3.1 forEach 对集合的每一个元素进行处理 接触很多了不赘述 3.3.3.2 count 用来获取当前流中的元素的个数 比如,打印出所有作家的作品的总数 System.out.println(authors.stream().flatMap(author -> author.getBooks().stre…

文献研读|Prompt窃取与保护综述

本文介绍与「Prompt窃取与保护」相关的几篇工作。 目录 1. Prompt Stealing Attacks Against Text-to-Image Generation Models(PromptStealer)2. Hard Prompts Made Easy: Gradient-Based Discrete Optimization for Prompt Tuning and Discovery&#…