-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create deterministic versions of VS packages #82
Comments
This idea won't work for community edition since the legacy bootstrappers are not uploaded. But could a package parameter of "exactVersion" be included which makes the installer create a temporary offline installer from the correct bootstrapper then install visual studio using that? I'm deploying using Octopus powershell script & chocolatey. My deploy pulls the bootstrapper, creates an offline installer and then calls your choco package passing the offline installer location. Would be great if this could be included as native! |
@BlythMeister could you share your script and chocolatey options please? |
The offline installer is created using the packaged vs_BuildTools.exe which was downloaded from https://docs.microsoft.com/en-us/visualstudio/releases/2019/history I call that exe to create an offline installer as described here: https://docs.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2019#step-2---create-a-local-install-cache Then I call the chocolatey package with the --bootstrapperPath argument to the offline installer exe. And --noWeb. I am doing all workloads, but you can specify them. I also found that I needed the includeOptional and includeRecommended flags. In my script, I am downloading the offline installer into a network share, that way all machines can use it. But obviously, if your just running on 1 machine, that's a bit ott. |
It took me a while to get it right, so I'll publish command which setup vc++ 16.7.8 build tools as initially I was not calling visualstudio2019buildtools and was using the same path in layout and bootstrapperPath and they are not the same.
installing 16.8.2 currently, and these:
installing 16.7.8, network share was created with
The only minor issue that visualstudio2019buildtools has version 16.8.2.0, so I've created local 16.7.8.0 version - isanych@5b22970
My custom package also working without prepared network share, but it is faster to install from network and I'm not sure if incorrect channel
will cause issues down the road, so I'll continue to use network share. |
Actually, all that's needed are the proper channel and component manifest json files. The bootstrappers are data-driven, so the json files together with any bootstrapper can be used to install any product (Enterprise/Professional/Community/...). One caveat is that it will only be possible to install a new instance of a specific older VS version, it will not be possible to upgrade an existing instance to a specific older version (because the VS Installer accepts the |
I intend to:
|
These pages:
https://docs.microsoft.com/en-us/visualstudio/productinfo/installing-an-earlier-release-of-vs2017
https://docs.microsoft.com/en-us/visualstudio/releases/2019/history
contain links to bootstrappers linked to specific versions of channel manifests, which opens up the possibility of creating packages which always reliably install the same VS version.
Source: http://disq.us/p/1wfvq8j
The text was updated successfully, but these errors were encountered: