将 Visual Studio 从布局部署到客户端计算机上

📣我们很乐意听到你的反馈!请花点时间完成此 调查,并告诉我们如何改进布局体验。感谢你的支持!

若要将布局部署到客户端计算机,首先需要考虑以下主题:

从布局将 Visual Studio 安装到客户端计算机上

管理员可以以编程方式将 Visual Studio 布局部署到客户端工作站上,作为安装脚本的一部分。

从网络布局安装

具有管理员权限的用户可以通过运行以下命令,从无人参与模式下的网络布局安装 Visual Studio。 布局中的 response.json 提供安装的默认配置设置。

\\server\products\VS\vs_enterprise.exe --quiet --wait 

如果用户选择了布局中不可用的项目,则安装程序将尝试从 Internet 上的 Microsoft 托管服务器获取这些附加文件。 若要确保安装程序在安装产品时不会尝试访问 Internet,请使用 --noweb 开关。 例如,使用此命令运行安装并阻止客户端计算机访问 Internet:

\\server\products\VS\vs_enterprise.exe --noWeb --wait --passive --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --includeOptional

注意

要有耐心。 请确保 --wait 安装程序和产品都完成相关操作。 在从布局中安装或更新客户端时,总是先安装或更新安装程序,然后再安装或更新 Visual Studio 产品本身。 这两个过程都要完成才能视为成功更新

在执行安装或更新作为无人参与的自动批处理文件的一部分时,--wait 选项有助于确保 vs_enterprise.exe 进程在安装完成之前等待,然后再返回退出代码。 如果企业管理员希望对已完成的安装执行进一步操作,例如 将产品密钥应用于成功的安装,则这非常有用。 使用 --wait 选项可防止后续操作过早启动。 如果不使用 --waitvs_enterprise.exe 过程可以在安装两部分完成之前退出,因此将返回一个不准确的退出代码,该代码不表示安装操作的状态。

从内部 Intranet 位置安装

一些企业希望将布局托管在 Intranet 位置上,以便更好地管理地理性能瓶颈并利用 Web 缓存。 若要将 Intranet 托管布局部署到客户端计算机上,具有管理员权限的用户必须运行提升的 PowerShell 脚本,如下所示以初始化客户端计算机上的安装。

    #Do the initial installation from the web hosted layout onto the client in an elevated PowerShell script

    #ADMIN CONFIGURATION
    #Enter layout URI here
    $LayoutUri = "http://MyCompanyIntranetSite/VS2022Enterprise/"

    #Enter bootstrapper name which is present in layout.
    $BootstrapperName = "vs_Enterprise.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 时与网络相关错误的疑难解答页。

在无法访问 Internet 的客户端上安装

需要确保任何 脱机客户端计算机都安装了正确的证书

从布局文件安装时,客户端上的安装程序总是会在布局文件的位置查找 Visual Studio 包。 但是,如果安装程序尝试安装布局中未包含的组件,则会尝试从更新源获取 Visual Studio 包,管理员通常将其配置为指向自身

如果想要显式阻止 Visual Studio 安装程序尝试从 Web 上Microsoft托管的服务器下载任何缺失内容,可以使用 --noWeb 参数。 如果使用 --noWeb 并且布局缺少要安装的组件,则安装程序将失败。 此外,如果使用 --noWeb,并且布局托管在您的内联网 Web 服务器上,而不是文件网络共享上,则安装程序将失败。

使用 --noweb 开关通常会修复错误消息“找不到与以下参数匹配的产品”。

计算机资源

确保完整安装路径少于 80 个字符,并且计算机具有充足的存储空间。 Visual Studio 的完整安装至少需要 45 -50 GB 的磁盘空间。

错误代码

如果使用 --wait 参数,则根据操作的结果,%ERRORLEVEL% 环境变量设置为以下值之一:

结果
0 操作成功完成
740 需要提升
1001 Visual Studio 安装程序进程正在运行
1003 Visual Studio 正在使用
1602 操作已取消
1618 另一个安装正在运行
1641 操作已成功完成,并已启动重启
3010 操作成功完成,但安装需要重新启动才能使用
5003 Bootstrapper 无法下载安装程序
5004 操作已取消
5005 Bootstrapper 命令行分析错误
5007 操作被阻止 - 计算机不符合要求
8001 Arm 计算机检查失败
8002 后台下载预检查失败
8003 不支持可选择的失败
8004 目标目录失败
8005 验证源有效负载失败
8006 正在运行的 Visual Studio 进程
8010 操作系统不受支持。 请参阅 系统要求
-1073720687 连接失败
-1073741510 Microsoft Visual Studio 安装程序已终止(由用户或外部进程)
其他
(例如:
-1、1、1603)
发生了故障,请查看日志,了解详细信息

获取部署布局的支持

如果在客户端计算机上部署布局时遇到问题,我们希望了解它。 告诉我们的最佳方法是使用 “报告问题” 工具,该工具在 Visual Studio 安装程序和 Visual Studio IDE 中均可找到。 如果你是 IT 管理员且未安装 Visual Studio,则可以在此处提交 IT 管理员反馈。 使用此工具时,如果可以通过 VS Collect 工具发送日志,这有助于诊断并解决问题。

我们还为与安装相关的问题提供 安装聊天(仅限英语)支持选项。

我们还提供其他支持选项。 请参阅 Visual Studio 开发人员社区