Развертывание Visual Studio из макета на клиентском компьютере

Чтобы развернуть макет на клиентском компьютере, сначала необходимо рассмотреть следующие разделы:

Установка Visual Studio на клиентский компьютер из макета

Администратор istrator может развертывать макет Visual Studio на клиентских рабочих станциях программным способом в рамках скрипта установки.

Установка из сетевого макета

Пользователь с разрешениями администратора может установить Visual Studio из сетевого макета в автоматическом режиме, выполнив следующую команду. В response.json макете указаны параметры конфигурации по умолчанию для установки.

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

Если пользователь когда-либо выбирает элементы, недоступные в макете, установщик попытается создать эти дополнительные файлы с размещенных серверов Майкрософт в Интернете. Чтобы убедиться, что установщик не пытается получить доступ к Интернету при установке продукта, используйте переключатель --noweb . Например, используйте эту команду для запуска установки и предотвращения доступа клиентского компьютера к Интернету:

\\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 Использование параметра предотвращает преждевременное выполнение последующих операций. Если вы не используете параметр --wait, процесс vs_enterprise.exe завершается до окончания установки и возвращает неточный код выхода, который не представляет состояние операции установки.

Установка из внутреннего расположения интрасети

Некоторые предприятия хотят разместить макет в расположении интрасети, чтобы лучше управлять географическими узкими местами производительности и использовать веб-кэширование. Чтобы развернуть размещенный в интрасети макет на клиентском компьютере, пользователь с разрешениями администратора должен запустить скрипт 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 .

Установка на клиенте без доступа к Интернету

Необходимо убедиться, что все автономные клиентские компьютеры имеют правильные сертификаты.

При установке из макета установщик на клиенте всегда ищет пакеты Visual Studio в расположении макета. Однако если установщик пытается установить компоненты, которые не включены в макет, то он попытается получить пакеты Visual Studio из источника обновления, которые администраторы часто настраивают для указания на себя.

Если вы хотите явным образом запретить установщику Visual Studio скачивать недостающее содержимое с размещенных серверов Майкрософт в Интернете, можно использовать --noWeb этот параметр. Если --noWeb используется и макет отсутствует компонент, выбранный для установки, программа установки завершится ошибкой. Кроме того, если --noWeb используется и макет размещается на веб-серверах интрасети, а не в общей папке файловой сети, установка завершится ошибкой.

При использовании переключателя --noweb часто исправлено сообщение об ошибке "Не удается найти продукт, соответствующий следующим параметрам".

Ресурсы компьютера

Убедитесь, что полный путь установки меньше 80 символов и что компьютер имеет достаточное хранилище. Для полной установки Visual Studio требуется не менее 45 –50 ГБ дискового пространства.

Коды ошибок

Если вы используете параметр --wait, то в зависимости от результата операции переменная среды %ERRORLEVEL% получает одно из следующих значений.

Value Результат
0 Операция выполнена успешно.
740 Требуется повышение прав
1001 Процесс установки Visual Studio сейчас выполняется.
1003 Visual Studio сейчас используется.
1602 Операция отменена
1618 Запущена другая установка
1641 Операция успешно завершена; начата перезагрузка
3010 Операция выполнена успешно, но перед началом работы необходимо выполнить перезагрузку.
5003 Не удалось скачать установщик в начальном загрузчике
5004 Операция отменена
5005 Ошибка синтаксического анализа командной строки начального загрузчика
5007 Операция была заблокирована — компьютер не соответствует требованиям
8001 Сбой проверки компьютера ARM
8002 Сбой предварительной проверки фоновой загрузки
8003 Сбой неподдерживаемого выделения
8004 Сбой целевого каталога
8005 Сбой проверки исходных полезных данных
8006 Выполняются процессы Visual Studio
8010 Операционная система не поддерживается. Сведения о требованиях к системе
-1073720687 Сбой подключения
–1073741510 Работа установщика Microsoft Visual Studio была прервана (пользователем или внешним процессом)
Другие
(например,
–1, 1, 1603)
Произошел сбой — проверьте журналы для получения дополнительных сведений

Получение поддержки развертывания макета

Если возникла проблема с развертыванием макета на клиентском компьютере, мы хотим знать об этом. Лучше всего воспользоваться средством Сообщить о проблеме. Оно доступно как в Visual Studio Installer, так и в IDE Visual Studio. Если вы являетесь ИТ-администратором и у вас не установлена программа Visual Studio, вы можете отправить отзыв ИТ-администратора здесь. Если вы используете это средство, вам будет полезно отправить журналы средством VS Collect, что поможет нам диагностировать и устранить проблему.

Также доступен чат по вопросам установки, предназначенный для оказания помощи при проблемах с установкой (только на английском языке).

У нас есть и другие возможности технической поддержки. См. страницу сообщества разработчиков Visual Studio.