In an attempt to streamline my Virtual Environment setup, I'm using Chocolatey to automate my VM.
Since I can run the cinst
command to install Visual Studio
c:\> cinst VisualStudio2012Professional
I'm wondering if after it's installed, is there a command line switch to check for (and subsequently "install") updates within Visual Studio?
Something along the lines of...
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /InstallUpdates
This should also extend to any extensions that are installed along side VS.
There is a way to check but it is not at all straight forward. Visual Studio Updates are published via an ATOM feed that is currently hosted here:
http://go.microsoft.com/fwlink/?LinkID=251032
This URL can be located in:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Platform\Shell\Microsoft.VisualStudio.ExtensionManager.Implementation.pkgdef
Under the [$RootKey$\ExtensionManager\Repositories{52943709-1abb-4abe-b413-41e8bb6d0462}] key.
The above URL should not change for any version of Visual studio BUT that is not a guarantee. If you examine the response of http://go.microsoft.com/fwlink/?LinkID=290886, you will currently get this response:
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="text"></title>
<id>uuid:99B94631-1B1A-45A0-9C34-54F75988DD54;id=1</id>
<updated>2013-02-12T20:00:00-07:00</updated>
<entry>
<id>8EAF6C8E-1283-4EEE-AB6E-F0F087BFCBFF</id>
<title type="text">Visual Studio 2012 Update 3</title>
<summary type="text">Includes security updates, other critical updates, hotfixes, and feature packs that have been issued since the product was released.</summary>
<published>2012-12-01T21:00:00-07:00</published>
<updated>2012-12-01T21:00:00-07:00</updated>
<author>
<name>Microsoft Corp.</name>
</author>
<link rel="alternate" type="text/html" href="http://go.microsoft.com/fwlink/?LinkID=257044&clcid=0x409"/>
<link rel="releasenotes" type="text/html" href="http://go.microsoft.com/fwlink/?LinkID=257045&clcid=0x409"/>
<link rel="update" type="text" href="http://go.microsoft.com/fwlink/?LinkID=302339"/>
<!-- icon should be 32 x 32 pixels -->
<link rel="icon" type="text" href="http://visualstudiogallery.msdn.microsoft.com/Content/VisualStudio/VSDownload_32x.png"/>
<!-- preview image should be 200 x 200 pixels -->
<link rel="previewimage" type="text" href="http://visualstudiogallery.msdn.microsoft.com/Content/VisualStudio/VSDownload_200x.png"/>
<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/developer/vsx-syndication-schema/2010">
<Id>8EAF6C8E-1283-4EEE-AB6E-F0F087BFCBFD</Id>
<Version>11.0.60610.01</Version>
<References />
</Vsix>
</entry>
<entry>
<id>28743233-1A36-4e67-8747-F072F8C76D1F</id>
<title type="text">Visual Studio Extensions for Windows Library for JavaScript</title>
<summary type="text">This release updates the development resources for the controls, CSS styles, and helper functions that are included in the Windows Library for JavaScript.</summary>
<published>2013-08-08T20:00:00-07:00</published>
<updated>2013-08-08T20:00:00-07:00</updated>
<author>
<name>Microsoft Corp.</name>
</author>
<link rel="alternate" type="text/html" href="http://go.microsoft.com/fwlink/?LinkId=260891&clcid=0x409"/>
<link rel="releasenotes" type="text/html" href="http://go.microsoft.com/fwlink/?LinkID=260892&clcid=0x409"/>
<link rel="update" type="text" href="http://go.microsoft.com/fwlink/?LinkID=260893"/>
<link rel="icon" type="text" href="http://visualstudiogallery.msdn.microsoft.com/Content/VisualStudio/VSDownload_32x.png"/>
<link rel="previewimage" type="text" href="http://visualstudiogallery.msdn.microsoft.com/Content/VisualStudio/VSDownload_200x.png"/>
<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/developer/vsx-syndication-schema/2010">
<Id>Microsoft.WinJS</Id>
<Version>1.0.9200.20789</Version>
<References />
</Vsix>
</entry>
</feed>
Note that there are two entries in this feed and the one you are interested in is the one with a title beginning with "Visual Studio 2012 Update."
If the Version specified in this file (11.0.60610.01 here) is greater than the version you have on disk:
(Get-Item "${env:ProgramFiles(x86)}\Microsoft Visual Studio 11.0\common7\ide\devenv.exe").VersionInfo.ProductVersion
Then you would want to download and install the url in the Link/@Update node:
<link rel="update" type="text" href="http://go.microsoft.com/fwlink/?LinkID=302339"/>
That Url should redirect to an MSI that has the update.