Visual Studio 2017 allows multiple side by side installations, which makes experimenting with various versions and extensions a breeze:

multiple visual studio in my start menu

To install those multiple IDEs, you simply head over to, grab each of the editions you want to test and just run the installers.

NOTE: you can install one of each VS editions (Community, Professional and Enterprise) as well as one of each VS editions from the Preview “channel” from, for a total of potentially up to 6 instances to play with!

Uninstalling, modifying or even launching the instances is trivial from the Visual Studio Installer UI:

multiple visual studio in my start menu

Sometimes, however, the installer may not be able to modify, repair or even uninstall a given instance. This may happen when adding/removing VSIXes that mess up the so-called catalog that drives the VS installer.

Fortunately, VS provides a tool, called vswhere which can give you comprehensive information about all installed instances.

With it and a bit of powershell, I came up with the following script to allow you to easily cleanup any misbehaving VS instance:

If you want to run it from any Powershell prompt, you can add the following to your powershell profile:

Running the Cleanup-VS from a prompt will show you something like the following:

C:\Windows\System32> Cleanup-VS
Installed instances:
[0] Visual Studio Community 2017  - 15.6.1 Preview 1.0                 at C:\Program Files (x86)\Microsoft Visual Studio\External\Pre\Community
[1] Visual Studio Enterprise 2017 - 15.6.3                             at C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise
[2] Visual Studio Enterprise 2017 - 15.7.0 Preview 2.0 [27517.0.d15.7] at C:\Program Files (x86)\Microsoft Visual Studio\External\IntPre

Enter index of instance to cleanup: 

After entering the instance index to clean up, and provided you’re running as an administrator, the entire installation folder and the instance data will be deleted. I have only neeeded this sporadically, but I keep forgetting what to delete from where, so I just scripted it once and for all!

Enjoy :)