Мне удалось создать автономный установщик с помощью командной строки, например:
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 и другие. Есть идеи?