Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to configure VS 2017 offline installer/layout so that it doesn't need an internet connection at all?

I was able to create an offline installer with a command line like:

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

I got about 20 GB out of this (1901 files).

but, as it is already known, the Visual Studio installer needs an internet connection at least to initialize, even with such an offline layout. (But it doesn't need to download the packages already existing in the layout/image, so it saves really download volume.)

In the MS web documentation for VS more parameters are mentioned: https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio

AFAIK, nobody figured out how to use them to guarantee really an offline install without internet connection (it seems quite likely to me that channel and/or catalog have to be redirected for hindering VS installer to go online).
Has anyone?

Here are the parameters, which I mean:

--channelId Optional: The ID of the channel for the instance that will be installed. This is required for the install command, ignored for other commands if --installPath is specified.

--channelUri Optional: The URI of the channel manifest. This can be used for the install command; it is ignored for other commands.

--installChannelUri Optional: The URI of the channel manifest to use for the installation. The URI specified by --channelUri (which must be specified when --installChannelUri is specified) will be used to detect updates. If updates are not desired, --channelUri must be specified without an argument. This can be used for the install command; it is ignored for other commands.

--installCatalogUri Optional: The URI of the catalog manifest to use for the installation. If specified, the channel manager will attempt to download the catalog manifest from this URI before using the URI in the install channel manifest. This parameter is used to support offline install, where the layout cache will be created with the product catalog already downloaded. This can be used for the install command; it is ignored for other commands.

In the layout directory, there exist files like catalog.json, channelmanifest.json, response.json, vs_installer_version.json among others. Any idea?

like image 829
Philm Avatar asked Mar 24 '17 19:03

Philm


People also ask

Can you install Visual Studio without internet?

By downloading the packages locally first, you can then safely disconnect from the internet before you install Visual Studio. The Download all, then install functionality downloads a Visual Studio installation package that is customized to the local machine.

What is full offline installer standalone setup?

Offline installer contains full setup files of the software program which makes the offline installer larger in size. Since offline installer comes with all required files, it doesn't need Internet connection at installation time.


1 Answers

You don't need to do anything special for the offline installer to work without any Internet connection. Even though channelURI in <offline folder>\Response.json points online, it will not try to update the component list or something each time, you need to explicitly request an update for that.

The only thing you need to make sure is to select a language that you have downloaded files for on the "Language packs" tab when selecting components -- otherwise, it will try to download the missing bits.

The installer will still try to access the Net

  • to post telemetry to https://dc.services.visualstudio.com/v2/track and https://vortex.data.microsoft.com/collect/v1 from Microsoft.VisualStudio.Telemetry.Net35.dll that's a part of the installer
  • to retrieve CRLs for relevant signing certificates from https://crl.microsoft.com

but both are optional, the installer won't fail it it can't do either -- I've just successfully installed stuff with a disabled network connection.

like image 93
ivan_pozdeev Avatar answered Oct 21 '22 08:10

ivan_pozdeev