[MUSIC]
>> Hi, my name is Christina Emma,
and I'm going to share a few Visual Studio 2022,
tips and tricks about updates and layouts.
First of all, let me give you a brief refresher as
to what layouts even are and what they're used for.
By the way, you can find all the information that
I'm summarizing in the Visual Studio administrators guide,
which can be found here.
Layouts are basically a cache of
all the Visual Studio packages that when combined together,
form the Visual Studio product.
IT admins manage and maintain layouts which they then
usually store on an internal network share
and make available for client machines to install from.
Layouts are primarily used
because the client machines don't have access to the Internet,
or the development team may want to
standardize on a particular version of Visual Studio.
Originally, everyone operated with the assumption that there'd
be a single layout directory per major version of the product.
Client machines would install from that layout location and they
simply keep updating themselves
whenever the IT admin updated the layout.
Well, starting with Visual Studio 2019,
we introduced the concept of servicing baselines,
which you can read about here.
Multiples secure servicing baselines
gave enterprises more flexibility and
control regarding when they
accept and deploy
both security and feature updates across their organization.
Unfortunately though,
the multiple servicing baseline model didn't
always work well with the concept of the single layout.
Customers started wanting to install from
one baseline layout folder like 16.7,
and then update to another baseline folder,
layout folder like 16.9.
While conceptually this seems to be a simple hop,
it just didn't always work correctly,
especially if the layout was customized.
I'm going to illustrate this problem here.
For this demo, I've prepared
three layouts on three different network servers.
Each layout has a different version of Visual Studio,
and each layout has a few customizations.
You can see that here,
I have Visual Studio already installed on this client machine.
I installed it from a layout that has
this very specific version 16.7.12,
which is what the IDE is reporting itself as.
There's not much here, it's a very thin insulation.
I just installed the core workload
just to keep things small and fast.
This is the batch file that I used to install.
You could see I got it from this VS layouts server 2.
I installed 16.7.12.
That's what I used to do the initial install.
Now I'm going to pretend I'm
an IT admin and I'm just going to try to
update that client to
another layout that's on another network share.
This is a different network share right here.
This one has 16.9.9,
which is another instance of our servicing baseline.
I'll just double-click on this and try to install.
You can see that the first thing that happens
is the installer is getting updated.
But let's see what happens when it tries to
update the product after it updates the installer.
I'll give you a hint, there's going to be a problem.
It's going to say no update available,
which is a bummer,
because I know the update is there.
The reason this error is showing
up is because what I described earlier,
the installer sometimes gets
confused when the update location changes.
It's really unfortunate it's now stuck,
I can't update my client
to the product in the second layout that I want.
What do I do now?
Well, the cleanest solution
here is to use the goodness that we've
put in the new updated Visual Studio 2022 installer.
Now in order to get that goodness,
you need to get that 2022 installer on your client machine.
By the way, you should just be aware that there's
a single installer that
manages all of the Visual Studio files and
all the instances and all the Visual Studio versions,
one installer per machine.
There are several ways you can get
the new installer on this client machine.
The easiest way for me to demo is I'm
just going to install the first part of the 2022 product.
You can refer to
the online documentation for additional strategies on
how to deploy this new 2022 Installer to 2019 machines.
Here, I went to the visualstudio.Microsoft.com
site and I'm going to install the first part of the 2022 preview.
You can use the release version as well.
The installers work the same way.
The very first thing that gets installed here is the installer,
which is really convenient because that's all we need.
Here the installers are updating to the 2022 version.
I'm going to just let the installer
update and I'm going to then abort
the product installation because I actually
don't need to install the 2022 product,
I just want the installer.
Now, once I get the installer on my machine.
Here's a product and we are just going to cancel this part out.
Now that I have the updated installer,
I'm going to try to basically update to my 16.9.9 version again.
Let's see what happens.
It's verifying the installer is a sufficient version.
You're going to see that voila,
the product, is actually going to start to install.
My client is being updated to 16.9.9
now and there's no error. It's going to work.
Once this product update is done,
I'm going to show you a few more cool features
that we've added to the installer.
This whole experience of dealing with updates and
layouts has been significantly improved in Visual Studio 2022.
By using this new installer,
you can now configure and change the location of your updates,
including updates that are sourced from a layout.
Furthermore, we've made these improvements
compatible with earlier versions of Visual Studio,
as I'm demonstrating here since that's
where our important enterprise customers are currently at.
I encourage you to consider using
the Visual Studio 2022 installer,
especially if you're managing 2019 Client Installs from layouts.
If you do this,
if you do what I'm showing here,
just be mindful of keeping the installer updated properly.
The easiest way to do that is to put
the 2022 product on
the machine because that'll keep the installer updated.
But if you're not quite there yet,
other strategies for keeping the installer
updated is documented in our Administrator's Guide.
It looks like 16.9.9 is now pretty much installed.
I want to call your attention to
some other functionality we've added in
the new update settings
dialogue that you can find by clicking on the More button.
This is the feature that gives you control over updates.
You see how the dialog shows that
the updates channel is set to private channel,
and that the package location is
that network share that we just got 16.9.9 from.
Well, now you can see that
the update location is both visible and changeable.
The two options we have here are the release channel,
which is hosted by Microsoft and is currently offering 16.11.3.
We also have a private channel available to us,
which is our private network layout channel
that I just updated from.
Now, private channel is not really descriptive.
We didn't know what to call it other than private channel.
We've enabled a way to customize and
add additional layout channels. Let me show you how.
You see that I have the registry open to
this particular location and
there's really not much stuff in here.
I created a little registry batch file or a registry file
that has information about how we should call the 16.9.9 layout.
I also am adding information for
another layout that has 16.11 in it that I've already prepared.
I will just put this stuff in the registry.
We'll see it's there.
Here's some channel information and I
basically call them Spring and Winter update.
Now when I come back to the Visual Studio Installer,
it'll automatically show that stuff.
You can see I went from private channel to the spring update.
It basically matched the package location that's in the registry.
Now I have winter available to me as well.
I'm going to use this UI to configure
my update channel to this winter update,
which is offering 16.11.3.
Basically, I'm going to change my update location.
I'm going to update my client again to 16.11.3.
I hope this demo illustrated some of the new capability that
the Visual Studio 2022 Installer provides to help
you manage where and when your client gets updates from.
This functionality is there to help IT admins keep
their organizations updated and secure on servicing baselines.
Everything I demonstrated here is
available through both the UI and the command line.
It's enabled for the professional enterprise
and build tools skews.
Again, you can refer to
the online documentation in
the admin guide for details on how to use it,
as well as continued improvements we plan on making in the space.
We always love to hear your feedback.
Please submit it to the Microsoft Developer Community,
which is accessible here or through this place right here.
We are committed to making you successful in deploying
secure versions of Visual Studio
across your organization. Thank you.