Автономный установщик VisualStudio Build Tools 2017

Я создаю автономный установщик для таких инструментов сборки: vs_BuildTools.exe --layout c:\VS_BuildTools2017_offline --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.VCTools --lang en-US

Я перемещаю эту папку в агент сборки (у которого нет подключения к Интернету, и нет, он никогда не будет!), А затем выполняю vs_BuildTools.exe в этой папке даже с _3 _ или --noweb, но независимо от того, какой вариант я выберу, он всегда будет терпеть неудачу при отсутствии подключения к Интернету. Конечно, мне чего-то не хватает, поэтому любые намеки на то, что ценят


person n80fr1n60    schedule 11.10.2017    source источник


Ответы (2)


У меня с этим тоже были проблемы.

Одним из важных шагов является установка сертификатов перед запуском установщика на целевой машине:

  • Установите сертификаты, они находятся в папке «сертификаты», которая находится у вас в папке Layout. Щелкните правой кнопкой мыши каждый из них, чтобы установить его. Не забудьте установить сертификаты, используя учетную запись администратора на ПК. Т.е. не только для текущего пользователя.
  • Запустите установочный файл.

Первоначально ответ был размещен здесь.

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

Но установка по-прежнему не удалась, я сейчас вижу «Установочный файл не загружен», поэтому мне все еще не удалось завершить установку. Это microsoft.visualstudio.vc.msbuild.arm64.vsix возможно, он включен в какой-то другой компонент, который нужно --add изменить.

Обновление: неважно, моя последняя проблема была из-за того, что я не использовал --noweb, с ним не было ошибок.

person Zitrax    schedule 11.10.2017

Все шаги по установке инструментов сборки:

  1. Загрузить инструменты сборки
  2. Download layout files for offline installation:
    • Possible workloads are specified here. Following command contains workloads for msbuild and C++ build tools.
    • Запустите (в названии файла exe будет несколько номеров версий): vs_BuildTools.exe --layout c: \ BT2017offline --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio. Workload.WebBuildTools - добавить Microsoft.VisualStudio.Workload.NetCoreBuildTools --lang en-US
  3. Скопируйте c: \ BT2017offline в ящик, в который вы хотите его установить.
  4. Откройте mmc и импортируйте все сертификаты из c: \ BT2017offline \ Certificates в «Доверенные корневые центры сертификации» компьютера (не текущий пользователь).
  5. Запускаем (в названии exe-файла будет несколько номеров версий): c: \ BT2017offline \ vs_BuildTools.exe --noweb
  6. Продолжайте нажимать далее ...
person JanSkalicky    schedule 27.11.2017
comment
Предупреждение: нельзя установить на Win Server 2012 R1 :) - person RokX; 07.02.2018
comment
я хотел бы посоветовать добавить --add Microsoft.VisualStudio.Component.NuGet.BuildTools --add Microsoft.Net.Component.4.5.TargetingPack, поскольку это перечислены здесь - person oleksa; 03.04.2018
comment
При добавлении сертификатов он запрашивает пароль. Позже я узнал, что вы просто оставите их пустыми и продолжите. - person Robert Brooker; 19.06.2018
comment
У меня он на Win Server 2012R2 - person JanSkalicky; 28.06.2018
comment
Потребуется ли для любого из этих компонентов обновление .NET Framework после версии 4.5.2? - person Kon; 22.01.2019
comment
Я точно выполнил эти инструкции, и все прошло хорошо до шага 5. Похоже, я игнорирую инструкцию --noweb. Программа установки выходит из строя и сообщает, что не может получить доступ к сети для загрузки файлов. - person btathalon; 19.07.2019
comment
Это должен быть принятый ответ. Отлично работал, а также работает для VS 2019. Кстати, если вы не знаете, как использовать mmc, вот хороший пошаговое руководство по импорту сертификатов - person Brock; 31.07.2019
comment
Также, вероятно, полезно отметить, что если вы изменяете существующую установку инструментов сборки, вам все равно нужно использовать --layout для создания нового кеша, но вы не используйте `--noWeb 'в на целевой машине, вместо этого вам нужно обновить response.json, как описано здесь - person Brock; 31.07.2019