离线安装Visual Studio 2022

1.下载 Visual Studio 引导程序

以community版本为例,即下载vs_community.exe文件。

2.创建Layout

比如我需要安装unity3d、python、nodejs的相关的开发,我需要安装以下模块:

Microsoft.VisualStudio.Component.Unity

Microsoft.VisualStudio.Workload.ManagedDesktop

Microsoft.VisualStudio.Workload.Python

Microsoft.VisualStudio.Workload.Node

具体工作负载和组件ID参考下面链接:

Visual Studio Community 工作负载和组件 ID | Microsoft Learn

执行以下命令创建Layout:

bash 复制代码
D:\localVSlayout\vs_community.exe ^
--layout D:\localVSlayout ^
--add Microsoft.VisualStudio.Component.Unity ^
--add Microsoft.VisualStudio.Workload.ManagedDesktop ^
--add Microsoft.VisualStudio.Workload.Python ^
--add Microsoft.VisualStudio.Workload.Node ^
--includeOptional

3.启动Http服务

将 D:\localVSlayout设置为Http服务的根目录。

以python为例启动Http服务。

python 复制代码
cd /d D:\localVSlayout
python -m http.server 8001

4.执行离线安装

设置以下脚本LayoutUri和BootstrapperName参数,然后在powershell中执行以下脚本进行安装即可。

bash 复制代码
#Do the initial installation from the web hosted layout onto the client in an elevated PowerShell script

    #ADMIN CONFIGURATION
    #Enter layout URI here.上边启动的http服务地址
    $LayoutUri = "http://localhost:8001"

    #Enter bootstrapper name which is present in layout.根据自己的版本修改
    $BootstrapperName = "vs_Community.exe"

    #Add any arguments which you intend to send to bootstrapper.
    $Arguments = "--passive --wait"

    #SCRIPT FUNCTIONALITY
    #Forming URI for bootstrapper
    Write-Verbose "LayoutUri: $LayoutUri"
    $BootstrapperUri = "$LayoutUri/$BootstrapperName"
    Write-Verbose "BootstrapperUri: $BootstrapperUri"

    $Arguments += " --layoutUri $LayoutUri"
    Write-Verbose "Arguments: $Arguments"

    #Creating temp folder and download bootstrapper
    $VSLayoutFolderPath = Join-Path -Path $env:TEMP -ChildPath VSLayout
    $BootstrapperFile = Join-Path -Path $VSLayoutFolderPath -ChildPath $BootstrapperName
    Write-Verbose "The bootstrapper path is: $BootstrapperFile"

    if (Test-Path $VSLayoutFolderPath)
    {
    Write-Verbose "The directory exists - $VSLayoutFolderPath"
    if (Test-Path $BootstrapperFile)
    {
    Write-Verbose "Deleting file - $BootstrapperFile"
    Remove-Item $BootstrapperFile
    }
    }
    else
    {
    Write-Verbose "Creating folder - $VSLayoutFolderPath"
    New-Item -ItemType Directory -Path $VSLayoutFolderPath
    }

    Write-Verbose "Downloading bootstrapper from - $BootstrapperUri to $BootstrapperFile"
    Invoke-WebRequest -Uri $BootstrapperUri -OutFile $BootstrapperFile
    
    Write-Verbose "Starting bootstrapper -$BootstrapperFile with arguments $Arguments"
    start-process $BootstrapperFile $Arguments

注意

本文主要参考微软官方文档,文档很详尽,本文只介绍最基础的离线安装,更多功能还是要认真阅读官方文档。

创建基于网络的安装 - Visual Studio (Windows) | Microsoft Learnhttps://learn.microsoft.com/zh-cn/visualstudio/install/create-a-network-installation-of-visual-studio?view=vs-2022#download-the-visual-studio-bootstrapper-to-create-the-layout

Visual Studio Community 工作负载和组件 ID | Microsoft Learnhttps://learn.microsoft.com/zh-cn/visualstudio/install/workload-component-id-vs-community?view=vs-2022

使用响应文件配置安装默认设置 - Visual Studio (Windows) | Microsoft Learnhttps://learn.microsoft.com/zh-cn/visualstudio/install/automated-installation-with-response-file?view=vs-2022

相关推荐
liufeiyu19763 天前
VS 2026 升级后出现错误: 找不到指定的 SDK“Microsoft.NET.Sdk”
visual studio·vs 2026
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
2501_915909063 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_915918414 天前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
VIP_CQCRE4 天前
在 Visual Studio 里接入 Ace Data Cloud:让 AI 编程助手直接用上 OpenAI 兼容接口
openai·ai编程·开发工具·visual studio·acedatacloud
VIP_CQCRE4 天前
在 Visual Studio 里接入 AI 编程助手:用 Ace Data Cloud 打通 OpenAI 兼容接口与 LMLocal
openai·ai编程·visual studio·acedatacloud·lmlocal
free-elcmacom4 天前
发际线警告!手撕《C陷阱与缺陷》终极 BOSS:signal 函数与 typedef 魔法
c语言·开发语言·visual studio code·visual studio
VIP_CQCRE4 天前
Visual Studio 也能丝滑接入大模型:用 Ace Data Cloud + LMLocal 打造 AI 编程体验
ai·大模型·visual studio·ace data cloud·lmlocal
千谦阙听4 天前
【 C++篇】:模板初阶——泛型编程、函数模板与类模板
开发语言·c++·学习·visual studio
滕州市燕猫虎计算机科技工作室个体工商户5 天前
IDEA:Command line is too long
java·ide·intellij-idea