Создание и обслуживание сетевой установки Visual Studio

Иногда администратор предприятия хочет создать частный кэш установки (также называемый макетом), содержащий файлы Visual Studio, которые можно развернуть на клиентских компьютерах в организации.

Создание макета полезно в следующих ситуациях:

  • У пользователя есть ограниченные разрешения
  • Клиентские компьютеры имеют ограниченный доступ к Интернету
  • Организация хочет стандартизировать определенную версию набора инструментов разработчика

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

Информация на этой странице сгруппирована в три основных раздела:

  • Создайте макет: описывает, как создать макет с правильным содержимым продукта, настроить параметры по умолчанию, сохранить его в сетевой общей папке и сделать его доступным в интрасети.
  • Сохраните макет: сведения о том, как лучше обновить версию продукта макета или изменить содержимое продукта макета, параметры канала, версию установщика и размер папки.
  • Справка и поддержка: ресурсы для получения помощи.

Создание макета

Подготовка расположения хранилища общей папки сети

Сначала необходимо определить, где будут храниться скачанные пакеты Visual Studio. Если в вашей организации используется несколько выпусков Visual Studio (например, Visual Studio 2022 Профессиональный и Visual Studio 2022 Корпоративная), необходимо создать отдельный макет для каждого выпуска. Создание отдельного макета для каждого выпуска может потреблять много места на диске, особенно если учитывать, что обновления макета также используют место на диске.

Путь макета должен быть меньше 80 символов; некоторые организации успешно используют символьные ссылки для обхода ограничения на 80 символов.

Скачайте загрузчик Visual Studio для создания макета

Скачайте правильный загрузчик для нужного выпуска Visual Studio и скопируйте его в каталог, который вы хотите использовать в качестве репозитория макета. После создания макета его можно использовать для установки Visual Studio на любом клиентском компьютере. Начальный загрузчик — это исполняемый файл, который используется для создания, обновления и выполнения других операций для макета. Для выполнения этого шага необходимо иметь разрешения на подключение к Интернету и администратор.

Следующие загрузчики всегда устанавливают последнюю самую безопасную версию Visual Studio 2019 независимо от их запуска. Если же вы хотите создать макет или обновить макет до конкретной версии Visual Studio 2019, перейдите на страницу выпусков Visual Studio 2019 со ссылками на начальные загрузчики для конкретных версий каждого обслуживаемого выпуска и скачайте нужный. Скопируйте его в каталог, который будет использоваться в качестве исходного расположения макета.

Выпуск Начальный загрузчик
Visual Studio 2019 Enterprise версии 16.11 vs_enterprise.exe
Visual Studio 2019 Professional версии 16.11 vs_professional.exe
Visual Studio 2019 Build Tools версии 16.11 vs_buildtools.exe

Другие поддерживаемые начальные загрузчики: vs_teamexplorer.exe, vs_testagent.exe и vs_testcontroller.exe.

Следующие загрузчики всегда устанавливают последнюю самую безопасную версию Visual Studio 2022 на текущем канале независимо от их запуска. Кроме того, если вы хотите создать или обновить макет до определенной версии или определенного канала Visual Studio 2022, скачайте загрузчик постоянной и фиксированной версии для выпуска обслуживания канала, который требуется из журнала выпусков Visual Studio 2022. Скопируйте его в каталог, который будет использоваться в качестве исходного расположения макета.

Выпуск Начальный загрузчик
Visual Studio 2022 Enterprise vs_enterprise.exe
Visual Studio 2022 Professional vs_professional.exe
Visual Studio 2022 Community vs_community.exe
Visual Studio 2022 Build Tools vs_buildtools.exe

Совет

Если вы ранее скачали файл начального загрузчика и хотите проверить его версию, сделайте следующее. В Windows откройте проводник, щелкните правой кнопкой мыши файл начального загрузчика, выберите Свойства, перейдите на вкладку Подробно, а затем найдите номер в строке Версия продукта. Чтобы сопоставить этот номер с выпуском Visual Studio, см. таблицу в нижней части страницы Выпуски Visual Studio 2019.

Совет

Если вы ранее скачали файл начального загрузчика и хотите проверить, какую версию он установит, см. следующие инструкции. В Windows откройте проводник, щелкните правой кнопкой мыши файл начальной загрузки, выберите "Свойства" и перейдите на вкладку "Сведения". Поле версии продукта описывает канал и версию, которую установит загрузчик. Номер версии следует читать как "последняя версия обслуживания указанного компонента", а канал является текущим, если явно не указано иное. Таким образом, загрузчик с версией продукта LTSC 17.0 устанавливает последний выпуск обслуживания 17.0.x, доступный на канале LTSC 17.0. Загрузчик с версией продукта, которая говорит, что Visual Studio 2022 устанавливает последнюю версию обслуживания Visual Studio 2022 на текущем канале.

Скачивание пакетов Visual Studio

Для выполнения этого этапа необходимо подключение к Интернету.

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

Для полного начального макета языкового стандарта требуется около 40 ГБ дискового пространства для Сообщества Visual Studio и около 50 ГБ для Visual Studio Enterprise. Для дополнительных языковых стандартов требуется около половины ГБ.

Рекомендуется создать начальный макет Visual Studio со всеми рабочими нагрузками и соответствующими языками и сохранить пакеты в каталог макета на сетевом сервере. Таким образом, любая установка клиента имеет доступ ко всему предложению продукта Visual Studio и возможности установки любого подмножества. Чтобы создать полный макет Visual Studio, выполните следующую команду из каталога, в котором планируется разместить макет сети:

vs_enterprise.exe --layout c:\VSLayout

Убедитесь, что макет основан на правильном канале

Важно убедиться, что макет сети основан на правильном канале, так как это один из критериев, которые администратор обновляет, если развернуты в организации, используйте для определения экземпляров клиента. Например, если макет основан на канале VisualStudio.17.Release.LTSC.17.0 и если клиенты настроены на получение обновлений с размещенных серверов Майкрософт, все обновления системы безопасности, предоставляемые на канале 17.0 LTSC, доступны клиентам, установленным или обновленным из этого макета.

Загрузчики, перечисленные ранее, основаны на текущем канале. Чтобы создать макет на основе одного из каналов LTSC, получите правильный загрузчик канала на странице журнала выпусков Visual Studio 2022, скопируйте его в папку макета и используйте его для создания или обновления макета.

Настройка содержимого макета

Существует несколько вариантов настройки содержимого сетевого макета. Вы можете создать частичный макет, который содержит только определенный набор языковых стандартов, рабочих нагрузок, компонентов, рекомендуемых и дополнительных зависимостей. Частичный макет полезен, если вы знаете, что вы собираетесь развернуть только подмножество рабочих нагрузок на клиентских рабочих станциях. Ниже перечислены типичные параметры командной строки для настройки макета.

  • --add позволяет указать идентификаторы рабочих нагрузок и компонентов.
    Если используется параметр --add, загружаются только те рабочие нагрузки и компоненты, которые заданы с помощью --add. Если параметр --add не используется, загружаются все компоненты и рабочие нагрузки.
  • --includeRecommended позволяет включить все рекомендованные компоненты для рабочих нагрузок с указанными идентификаторами.
  • --includeOptional позволяет включить все необязательные компоненты для рабочих нагрузок с указанными идентификаторами.
  • --config чтобы использовать *.vsconfig файл для указания рабочих нагрузок, компонентов или расширений , которые должны быть включены в макет или ссылаться на них. Убедитесь, что указан полный путь к файлу конфигурации.
  • --lang позволяет указать языковые стандарты.

Ниже приведены несколько примеров создания пользовательского макета сети.

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

    vs_enterprise.exe --layout C:\VSLayout --lang en-US
    
  • Чтобы создать макет с необходимыми компонентами для всех рабочих нагрузок на нескольких языках, выполните следующую команду:

    vs_enterprise.exe --layout C:\VSLayout --lang en-US de-DE ja-JP
    
  • Чтобы создать макет с одной рабочей нагрузкой и всеми необходимыми и рекомендуемыми компонентами для этой рабочей нагрузки на всех языках, выполните следующую команду:

    vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --includeRecommended
    
  • Чтобы создать макет с двумя рабочими нагрузками и одним дополнительным компонентом на трех языках, выполните следующую команду:

    vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Component.Git --lang en-US de-DE ja-JP
    

Использование файла конфигурации для инициализации содержимого макета

Параметр можно использовать --config для передачи *.vsconfig файла. Убедитесь, что указан полный путь к файлу конфигурации. *.vsconfig Использование файла во время создания макета настраивает и ограничивает содержимое макета сети указанным в файле конфигурации. Файл конфигурации копируется в каталог макета и переименован в layout.vsconfig.

Все расширения, указанные в *.vsconfig файле , не копируются непосредственно в макет. Вместо этого файл макета response.json содержит ссылку на созданный layout.vsconfig файл, определяя расположение установки для расширений клиента. Если вы устанавливаете расширения, которые не подписаны цифровой подписью response.json , обязательно измените его "allowUnsignedExtensions": true. См response.json . примеры содержимого.

vs_enterprise.exe --layout "C:\VSLayout" --config "C:\myconfig.vsconfig" 

Копирование макета в общую сетевую папку

Необходимо разместить макет в общей сетевой папке, чтобы его можно было получить на клиентских компьютерах. Если вы создали макет на локальном компьютере, необходимо скопировать его в расположение сетевого файла. В следующем примере используется xcopy. Вы также можете использовать robocopy, если хотите. Пример:

xcopy /e c:\VSLayout \\server\share\layoutdirectory

Настройка заданных по умолчанию значений в начальной установке клиента для макета

Вызывается файл response.json в корневой папке макета. Этот настраиваемый файл предоставляет начальные параметры по умолчанию для настройки на клиенте при первоначальной установке клиента из макета. Распространенные параметры конфигурации включают возможность настройки:

  • Какие рабочие нагрузки, компоненты или языки должны быть установлены по умолчанию на клиенте.
  • Если рекомендуемые компоненты также должны быть установлены
  • Если клиент должен уважать файл установки *.vsconfig
  • Где клиент должен получать обновления от
  • Если во время обновления необходимо удалить компоненты без поддержки.
  • Если неподписанные расширения разрешены для тихой загрузки и программно

Дополнительные сведения можно найти на странице "Автоматизация установки Visual Studio" с помощью страницы файла ответа.

Предоставление доступа к макету через сайт интрасети

Начиная с июня 2023 г. вы можете сделать макеты доступными на внутреннем сайте интрасети, что позволяет воспользоваться преимуществами кэширования файлов веб-сервера и геосайтов реплика производительности. Чтобы использовать эту новую функцию, необходимо использовать последние загрузчики Visual Studio и последнюю версию Установщика Visual Studio. ИТ-администраторы должны выполнить следующие действия, чтобы воспользоваться этой возможностью размещения веб-сайтов интрасети:

  1. Сначала создайте и сохраните сетевой макет и убедитесь, что биты присутствуют и регулярно обновляются в сетевой папке. Кроме того, не забудьте настроить значение channelUri в response.json макета, если вы хотите, чтобы клиенты получили обновления из расположения макета интрасети.

  2. Затем администратору потребуется подготовить внутренний веб-сайт и привязать источник веб-сайта к расположению сетевого файла макета. Кроме того, необходимо убедиться, что веб-сервер учитывает следующие типы MIME:

    Расширение файла Тип MIME
    .Кабины application/vnd.ms-cab-compressed
    .exe application/octet-stream
    .json application/json
    .Msi application/octet-stream
    .Мгу application/octet-stream
    .Nupkg application/octet-stream
    .Opc application/octet-stream
    .ps1 application/postscript
    .vsix application/octet-stream
    .Xml text/xml
    ZIP application/x-zip-compressed
  3. Наконец, чтобы развернуть этот макет на клиенте, запустите сценарий PowerShell на клиенте, чтобы выполнить начальную установку. После успешной установки Visual Studio на клиент из размещенного веб-макета обновления клиентов для макетов веб-размещения можно обновить с помощью стандартных методов.

Проверка использования последней версии установщика в макете

Примечание.

По состоянию на июнь 2023 года последний установщик поставляется по умолчанию с каждым обновлением для всех поддерживаемых версий Visual Studio 2017, Visual Studio 2019 и Visual Studio 2022. Таким образом, если вы используете одну из этих версий продукта, вам не нужно делать ничего явно, чтобы получить последнюю версию установщика с последними функциями и исправлениями ошибок.

Если вы используете версию Visual Studio, отправленную до июня 2023 года, мы рекомендуем всегда использовать последнюю версию Visual Studio Installer в макете и распространять ее клиентам. Например, если вы распространяете установщик Visual Studio 2022 в макете Visual Studio 2019, клиенты Visual Studio 2019 на основе этого макета могут изменять исходное расположение обновлений или легко удалять компоненты вне поддержки. Дополнительные сведения описаны в следующем разделе.

Возможность программного обеспечения использования последнего установщика доступна только для загрузочных загрузчиков Visual Studio 2019, созданных после первоначальной поставки Visual Studio 2022. Таким образом, vs_enterprise.exe в следующем примере должна быть версия, отправленная после 10 ноября 2021 года.

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

vs_enterprise.exe --layout C:\VSLayout --useLatestInstaller

Обслуживание макета

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

При размещении макета в сетевой общей папке может потребоваться скачать обновленный макет в частную локальную общую папку (например, c:\VSLayoutUpdate), а затем после скачивания всего обновленного содержимого скопируйте его в общую папку макета (например, \server\products\VS). Если вы этого не делаете, пользователи, которые выполняют настройку во время обновления макета, могут получить несоответствие содержимого из макета, так как оно еще не было полностью обновлено.

Обновление макета до последней версии продукта

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

При создании начального макета указанные параметры, такие как рабочие нагрузки и языки для включения в макет, сохраняются в файле layout.jsonконфигурации макета. Позже при обновлении этого макета до более новой версии продукта вам не нужно повторно указывать компоненты продукта, который требуется в макете. Обновление макета просто обновляет существующие компоненты в макете до последней версии.

Предположим, что этот частичный макет уже создан с помощью одного из стандартных начальных загрузчиков, приведенных в таблице выше.

vs_enterprise.exe --layout c:\VSLayout --add Microsoft.VisualStudio.Workload.ManagedDesktop --lang en-US

Обновление этого макета до последней версии продукта, предлагаемого корпорацией Майкрософт и размещенного на серверах Майкрософт не представляет труда. Вам просто нужно использовать существующий вечное загрузчик в макете и выполнить --layout команду в командной строке с повышенными привилегиями, чтобы скачать последние пакеты в макет, как показано ниже.

vs_enterprise.exe --layout c:\VSLayout

Вы также можете обновить макет до обновленной версии автоматически. Операция макета запускает процесс установки в новом окне консоли. Окно остается открытым, чтобы администраторы могли видеть окончательный результат обновления макета и сводку о любых ошибках, которые могли возникнуть. Если вы хотите выполнить операцию обновления макета автоматически (например, у вас есть скрипт, который регулярно выполняется для обновления макета до последней версии), а затем используйте --passive параметр и процесс автоматически закроет окно.

vs_enterprise.exe --layout c:\VSLayout --passive

Обновление макета до конкретной версии продукта

Иногда может потребоваться обновить макет до определенной версии продукта. Например, может потребоваться, чтобы макет совпадал с последней безопасной версией базового плана обслуживания, принятым в качестве стандарта в организации. Для этого выполните приведенные ниже действия.

Можно перейти на страницу выпусков Visual Studio 2019 и скачать конкретный начальный загрузчик фиксированной версии, скопировать его в макет и использовать для обновления макета до соответствующей версии, указанной в начальном загрузчике. Будет использоваться тот же синтаксис, что и выше.

Вы можете использовать обновление администратора для обновления макета до определенной версии продукта. Чтобы получить обновление администратора, перейдите в каталог Центра обновления Майкрософт и найдите версию обновления, на которую нужно обновить макет. Скачайте компьютер update.exe , на котором размещен макет, откройте командную строку с повышенными привилегиями и выполните следующую команду:

visualstudioupdate-16.0.0to16.11.23.exe layout --layoutPath c:\VSLayout

Обратите внимание, что обновление администратора не инициирует создание нового макета; он обновляет только существующий макет. Для создания начального макета необходимо использовать загрузчик.

Можно перейти на страницу журнала выпусков Visual Studio 2022 и скачать конкретный начальный загрузчик фиксированной версии, скопировать его в макет и использовать для обновления макета до соответствующей версии, указанной в начальном загрузчике. Будет использоваться тот же синтаксис, что и выше.

Вы можете использовать обновление администратора для обновления макета до определенной версии продукта. Чтобы получить обновление администратора, перейдите в каталог Центра обновления Майкрософт и найдите обновление, на которое нужно обновить макет. Скачайте компьютер update.exe , на котором размещен макет, откройте командную строку с повышенными привилегиями на этом компьютере и выполните следующую команду:

visualstudioupdate-17.0.0to17.4.4.exe layout --layoutPath c:\VSLayout

Обратите внимание, что обновление администратора не инициирует создание нового макета; Он обновит только существующий макет. Для создания начального макета необходимо использовать загрузчик.

Обеспечение макета сети на основе поддерживаемой версии

Иногда, после прекращения поддержки каналов, может потребоваться убедиться, что основой сетевого макета по-прежнему является поддерживаемый канал и ваши клиенты могут продолжать получать уведомления об обновлениях системы. Если макет основан на канале VisualStudio.17.Release.LTSC.17.0, то после выхода канала LTSC версии 17.0 в июле 2023 г. мы не выпустим никаких дополнительных обновлений системы безопасности, а ваши макеты и клиенты станут небезопасными. Даты поддержки для различных каналов Visual Studio 2022 см. здесь.

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

Изменение содержимого макета

Можно изменить частичный макет и добавить дополнительные рабочие нагрузки, компоненты или языки. Надежно удалить компоненты из макета невозможно.

В приведенном ниже примере мы добавим рабочую нагрузку Azure и локализованный язык в макет, созданный ранее с помощью рабочей нагрузки Managed Desktop и английского языка. После внесения изменений в этот макет будут включены как рабочие нагрузки Управляемого рабочего стола, так и Azure, а также английский и немецкий ресурсы. Помимо добавления компонентов --layout , команда также приведет к обновлению макета до версии, указанной загрузчиком. Таким образом, если вы используете привычную начальную загрузку, то результирующий макет будет иметь новый компонент, новый язык и все содержимое макета будет обновлено до последней версии на канале начальной загрузки.

vs_enterprise.exe --layout c:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --lang de-DE

Если хотите изменить существующий частичный макет так, чтобы он стал полным, используйте параметр --all, как показано в следующем примере. Опять же, эта команда приведет к обновлению содержимого макета до версии, указанной загрузчиком.

vs_enterprise.exe --layout c:\VSLayout --all

Вы можете добавить компоненты в макет, передав *.vsconfig файл, содержащий дополнительные компоненты, которые требуется в макете. При этом новое *.vsconfig содержимое перезаписывает существующее layout.vsconfig содержимое. Дополнительные сведения см. в предыдущем разделе с помощью файла конфигурации для инициализации содержимого макета.

vs_enterprise.exe --layout C:\VSLayout --config "C:\myupdatedconfig.vsconfig"

Наконец, вы можете напрямую изменить layout.json файл конфигурации в папке макета и обновить раздел "добавить" этого файла, чтобы включить дополнительные компоненты, которые вы хотите включить в макет. Затем необходимо обновить макет, как --layout описано ранее, чтобы скачать последние компоненты.

Примечание.

Самый простой способ установить недавно добавленные компоненты макета на клиентский компьютер — запустить загрузчик в макете с клиентского компьютера. Раздел response.json "добавить" файла в макете определяет, какие компоненты выбираются по умолчанию в пользовательском интерфейсе установщика клиента. Если вы изменили макет с помощью одного из описанных выше методов, возможно, потребуется вручную дважды проверка и, возможно, измените раздел "add" в response.json файле таким образом, чтобы оно соответствующим образом соответствовало содержимому в разделе "Добавить" нового файлаlayout.json.

Настройте макет для удаления компонентов вне поддержки на клиентском компьютере.

Некоторые предприятия хотят воспользоваться функцией, представленной в Visual Studio 2022 версии 17.4, которая удаляет компоненты, которые перешли в состояние вне поддержки. Это относительно легко настроить, если вы управляете макетом и если клиенты получают обновления администратора. Во-первых, вам потребуется настроить макет, чтобы иметь последнюю версию установщика, как описано ниже. Во-вторых, необходимо добавить строку "removeOos": true в response.json файл. Если в макете задано правильное задание двух сведений, последующие обновления администратора будут учитывать этот параметр и будут удалять компоненты без поддержки с клиентских компьютеров.

Проверка макета

С помощью параметра --verify в сетевом макете можно проверить отсутствие или допустимость файлов пакетов. В конце проверки выводится список отсутствующих и недопустимых файлов.

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

vs_enterprise.exe --layout <layoutDir> --verify

Примечание.

В папке макета должны находиться некоторые важные файлы метаданных, которые требуются параметру --verify. Если эти файлы метаданных отсутствуют, команду "--verify" выполнить невозможно, и программа установки сообщит об ошибке. При возникновении ошибки попытайтесь обновить макет еще раз или создайте сетевой макет в другой папке.

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

Исправление ошибок макета

Используйте команду --fix для выполнения той же проверки, что и --verify, а также попытайтесь устранить выявленные проблемы. Для процесса --fix требуется подключение к Интернету, поэтому перед вызовом --fix убедитесь, что компьютер подключен к Интернету.

vs_enterprise.exe --layout <layoutDir> --fix

Удаление предыдущих версий из макета

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

Для этого вам потребуются пути к файлам к манифестам каталога, содержащим эти устаревшие пакеты. Манифесты каталога можно найти в папке "Archive" в кэше сетевого макета. Они сохраняются там при обновлении макета. В папке "Archive" находится одна или несколько папок "GUID", каждая из которых содержит устаревший манифест каталога. Количество папок "GUID" должно совпадать с количеством обновлений, примененных к макетам.

Внутри каждой папки "GUID" сохранено несколько файлов. Наибольший интерес представляют два файла — файл "version.txt" и файл "catalog.json". Файл "catalog.json" является устаревшим манифестом каталога, который потребуется для передачи в параметр --clean. Другой файл ("version.txt") содержит версию этого устаревшего манифеста каталога. На основе номера версии можно решить, следует ли удалять устаревшие пакеты из этого манифеста каталога. То же самое можно сделать при переходе по другим папкам "GUID". Приняв решение по поводу каталогов, которые необходимо очистить, выполните команду --clean, указав пути к файлам в этих каталогах.

Ниже приведен пример использования параметра --clean.

c:\VSLayout\vs_enterprise.exe --layout c:\VSLayout --clean c:\VSLayout\Archive\1cd70189-fc55-4583-8ad8-a2711e928325\Catalog.json --clean c:\VSLayout\Archive\d420889f-6aad-4ba4-99e4-ed7833795a10\Catalog.json

При выполнении этой команды программа установки анализирует папку сетевого макета, чтобы найти список файлов, которые будут удалены. Затем вы сможете просмотреть файлы, которые будут удалены, и подтвердить удаление.

Настройка макета так, чтобы он всегда включал и предоставлял последнюю версию установщика

Примечание.

По состоянию на июнь 2023 г. последний установщик по умолчанию отправляется с каждым обновлением до поддерживаемых версий Visual Studio 2017, Visual Studio 2019 и Visual Studio 2022. Поэтому вам не придется явно делать ничего, чтобы получить последнюю версию установщика с последними функциями и исправлениями ошибок в макете и на клиентах.

Однако если вы используете макет, созданный до июня 2023 года, вы также можете явно настроить макет для всегдаго включения и предоставления последнего установщика клиентам, даже если установщик считается частью более последней версии Visual Studio. Таким образом, при обновлении с помощью этого макета клиент будет получать последнюю версию установщика, включенную в этот макет и предоставляемую им. Преимущество использования последнего установщика на клиенте заключается в том, что для клиентских установок буду доступны исправления ошибок и новые функции, которые мы продолжаем добавлять в установщик.

Совет

Если вы хотите изменить расположение, в котором установка Visual Studio 2019 клиента ищет обновления или удалить все компоненты вне поддержки, то на клиентском компьютере необходимо получить последнюю версию установщика Visual Studio 2022. Один из способов сделать это — включить установщик Visual Studio 2022 в макеты Visual Studio 2019 с помощью описанных ниже параметров. Использовать последнюю версию установщика могут только начальные загрузчики Visual Studio 2019, созданные после первоначального выпуска Visual Studio 2022. Таким образом, vs_enterprise.exe в приведенном ниже примере должен быть версией, которая вышла после 10 ноября 2021 г.

Существует несколько способов включения макета и предоставления последнего установщика:

  • Вы можете использовать версию Visual Studio, созданную или после июня 2023 года.

  • Можно передать параметр --useLatestInstaller начальному загрузчику при создании или обновлении макета. Это приведет к тому, что параметр будет задан в файле, который можно найти в layout.json корневом каталоге макета. Ниже приведен пример обновления макета и его настройки для использования самого новейшего и эффективного установщика.

    vs_enterprise.exe --layout C:\VSLayout --useLatestInstaller
    
  • Вы можете изменить layout.json файл непосредственно, чтобы добавить этот параметр.

    {
       "installChannelUri": ".\\ChannelManifest.json",
       "channelUri": "\\\\server\\share\\layoutdirectory\\ChannelManifest.json",
       "installCatalogUri": ".\\Catalog.json",
       "channelId": "VisualStudio.16.Release",
       "productId": "Microsoft.VisualStudio.Product.Enterprise",
    
       "useLatestInstaller": true,
       "removeOos": true
    
    }
    

Невозможно программно удалить этот параметр в layout.json файле, поэтому если вы хотите, чтобы макет перестал использовать последний установщик, который корпорация Майкрософт предоставляет, и вместо этого используйте версию установщика, соответствующую загрузчику (которая, скорее всего, старше последнего установщика), измените layout.json файл и удалите "UseLatestInstaller": true этот параметр.

Обратите внимание, что этот "UseLatestInstaller": true параметр также можно найти в файле макета response.json , но он игнорируется там для обеспечения того, чтобы макет всегда был последним установщиком. Файл response.json используется для настройки параметров конфигурации по умолчанию на клиенте, когда клиент выполняет установки или обновления из макета. Этот конкретный "useLatestInstaller": true параметр в layout.json файле используется для обеспечения того, чтобы содержимое макета содержало последний установщик, чтобы клиентские компьютеры могли затем получить последний установщик из макета.

Коды ошибок

Если вы используете параметр --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, вы можете отправить отзыв ИТ-администратора здесь. При использовании этого средства было бы очень полезно отправить журналы средством сбора Visual Studio, которое может помочь нам диагностировать и устранить проблему.

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

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