Как настроить автономный установщик/макет VS 2017, чтобы ему вообще не требовалось подключение к Интернету?

Мне удалось создать автономный установщик с помощью командной строки, например:

vs_enterprise__873301792.1489161815.exe --layout %CD%\vs2017offline --lang en-US

Из этого у меня получилось около 20 ГБ (файлов 1901).

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

В веб-документации MS для VS упоминаются дополнительные параметры: https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio

Насколько мне известно, никто не понял, как их использовать, чтобы гарантировать действительно автономную установку без подключения к Интернету (мне кажется вполне вероятным, что канал и/или каталог должны быть перенаправлены, чтобы помешать установщику VS перейти в онлайн).
Кто-нибудь есть?

Вот параметры, которые я имею в виду:

--channelId Необязательно: идентификатор канала для экземпляра, который будет установлен. Это требуется для команды установки, игнорируется для других команд, если указан --installPath.

--channelUri Необязательно: URI манифеста канала. Это можно использовать для команды установки; он игнорируется для других команд.

--installChannelUri Необязательно: URI манифеста канала, который будет использоваться для установки. URI, указанный параметром --channelUri (который необходимо указать при указании параметра --installChannelUri), будет использоваться для обнаружения обновлений. Если обновления нежелательны, --channelUri необходимо указать без аргумента. Это можно использовать для команды установки; он игнорируется для других команд.

--installCatalogUri Необязательно: URI манифеста каталога, который будет использоваться для установки. Если указано, диспетчер канала попытается загрузить манифест каталога из этого URI перед использованием URI в манифесте канала установки. Этот параметр используется для поддержки автономной установки, при которой кэш макета будет создан с уже загруженным каталогом продуктов. Это можно использовать для команды установки; он игнорируется для других команд.

В каталоге макета есть такие файлы, как catalog.json, channelmanifest.json, response.json, vs_installer_version.json и другие. Есть идеи?


person Philm    schedule 24.03.2017    source источник
comment
Если обновления нежелательны, --channelUri необходимо указать без аргумента. кажется, указывает, что вы должны иметь параметр без аргумента.   -  person Dijkgraaf    schedule 27.03.2017
comment
На самом деле это попытка заблудиться, но вы можете попробовать запустить Fiddler и проверить все исходящие запросы. Второй шаг — отредактировать файл hosts и добавить URL-адреса, найденные на шаге 1, чтобы он разрешался на локальный сайт IIS, т. е. msdn.microsoft.com @ 127.0.0.1. Наконец, создайте общий сайт / API в зависимости от запросов, сделанных в первый шаг для моделирования шагов и ответов.   -  person Riaan de Lange    schedule 03.04.2017


Ответы (3)


Вам не нужно делать ничего особенного, чтобы автономный установщик работал без подключения к Интернету. Несмотря на то, что channelURI в <offline folder>\Response.json указывает на онлайн, он не будет пытаться обновлять список компонентов или что-то в этом роде каждый раз, для этого вам необходимо явно запросить обновление.

Единственное, что вам нужно сделать, это выбрать язык, для которого вы загрузили файлы, на вкладке «Языковые пакеты» при выборе компонентов, иначе он попытается загрузить недостающие биты.

Установщик все равно попытается получить доступ к Сети.

  • отправить телеметрию в https://dc.services.visualstudio.com/v2/track и https://vortex.data.microsoft.com/collect/v1 из Microsoft.VisualStudio.Telemetry.Net35.dll, которая является частью установщика
  • для получения списков отзыва сертификатов для соответствующих сертификатов подписи из https://crl.microsoft.com

но оба являются необязательными, установщик не подведет, он тоже не может - я только что успешно установил что-то с отключенным сетевым подключением.

person ivan_pozdeev    schedule 02.04.2017

Чтобы автономный установщик работал, вам нужно «подделать» установщик, чтобы он думал, что есть подключение к Интернету, но с плохим подключением.

Для этого вам нужно добавить различные адреса в ваш локальный файл hosts.

См. раздел Сбой автономной установки Visual Studio 2017 Enterprise. список имен для добавления в файл hosts.

person DaveCleland    schedule 02.10.2017

Я пытался установить сертификаты, разные параметры макета для папки кеша, но ни один из них не работал. Я решил проблему, запустив vs_setup.exe в папке кеша вместо запуска vs_community.exe с параметрами.

person Oğuzhan Kahyaoğlu    schedule 11.04.2019