{"id":5856,"date":"2017-03-05T04:03:33","date_gmt":"2017-03-04T20:03:33","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/heaths\/?p=3786"},"modified":"2019-02-17T15:29:19","modified_gmt":"2019-02-17T22:29:19","slug":"fast-acquisition-of-vswhere","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/setup\/fast-acquisition-of-vswhere\/","title":{"rendered":"Fast acquisition of vswhere"},"content":{"rendered":"<p>I <a href=\"https:\/\/devblogs.microsoft.com\/setup\/vswhere-available\/\">introduced<\/a> <i>vswhere<\/i> last week as an easy means to locate Visual Studio 2017 and newer, along with other products installed with our <a href=\"https:\/\/blogs.msdn.microsoft.com\/heaths\/2016\/09\/15\/changes-to-visual-studio-15-setup\/\">new installer<\/a> that provides faster downloads and installs &#8211; even for full installs (which has roughly doubled in size with lots of new third-party content).<\/p>\n<p><i>vswhere<\/i> was designed to be a fast, small, single-file executable you could download and even redistribute in a build pipeline or for other <a href=\"https:\/\/github.com\/Microsoft\/vswhere\/wiki\/Examples\">uses<\/a>. To make this easy to acquire, I&#8217;ve published both a NuGet package and made <i>vswhere<\/i> available via <a href=\"https:\/\/chocolatey.org\">Chocolatey<\/a>.<\/p>\n<p>[code gutter=&#8221;false&#8221;]choco install vswhere\nvswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationPath[\/code]<\/p>\n<p>You might notice a few other surprises in that command line I&#8217;ve implemented for our first packaged release of 1.0.40.<\/p>\n<ul>\n<li>You can pass a single &#8220;*&#8221; to <code>-products<\/code> to search all installed product instances. Note that the asterisk is not a wildcard that can be used for pattern matching.<\/li>\n<li>You can specify a single property to return only that property value. In PowerShell and some other script environments that makes it very easy to capture into a variable.<\/li>\n<\/ul>\n<p>You can also install using the Chocolatey package provider for PowerShell, but a bug in the provider does not put <i>vswhere<\/i> in your <code>PATH<\/code>.<\/p>\n<p>See <a href=\"https:\/\/github.com\/Microsoft\/vswhere\/wiki\/Installing\">our wiki<\/a> for more information.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I introduced vswhere last week as an easy means to locate Visual Studio 2017 and newer, along with other products installed with our new installer that provides faster downloads and installs &#8211; even for full installs (which has roughly doubled in size with lots of new third-party content). vswhere was designed to be a fast, [&hellip;]<\/p>\n","protected":false},"author":389,"featured_media":3843,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[14,45,46,57],"class_list":["post-5856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-development","tag-visual-studio","tag-vs","tag-vs2017"],"acf":[],"blog_post_summary":"<p>I introduced vswhere last week as an easy means to locate Visual Studio 2017 and newer, along with other products installed with our new installer that provides faster downloads and installs &#8211; even for full installs (which has roughly doubled in size with lots of new third-party content). vswhere was designed to be a fast, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/5856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/users\/389"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/comments?post=5856"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/5856\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media\/3843"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media?parent=5856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/categories?post=5856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/tags?post=5856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}