{"id":10085,"date":"2016-08-22T12:11:57","date_gmt":"2016-08-22T19:11:57","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/?p=10085"},"modified":"2022-06-23T21:03:56","modified_gmt":"2022-06-23T21:03:56","slug":"the-lightweight-visual-studio-15-installer","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/the-lightweight-visual-studio-15-installer\/","title":{"rendered":"The Lightweight Visual Studio 2017 Installer"},"content":{"rendered":"<p><em><strong>\u23f1<\/strong>This post was updated on 3\/7\/2017\u00a0for the Visual Studio 2017 release.<\/em><\/p>\n<p>As many of you may have already seen, we have introduced <u><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-15-preview-4\/\">a streamlined Visual Studio Installer<\/a><\/u>\u00a0for Visual Studio 2017\u00a0to give you more control of what you install.\u00a0 What began as the separation of the C++ tools for Visual Studio 2015 has now become a workload-based installation experience where you can select the tools you need and nothing more.<\/p>\n<p>We have now provided the ability to install only the exact tools you need for your code.\u00a0 Don\u2019t need C#\/VB or Blend?\u00a0 Now you do not need to install it! \u00a0This will help to greatly reduce installation times as there are gigabytes of features included in the full Visual Studio that may not be of interest to the majority of C++ .\u00a0 We have defined five C++ workloads that we will explore in this blog post: Desktop, Linux, Mobile, Game, and Universal Windows development.<\/p>\n<h2>Using the New Installer<\/h2>\n<p>Visual Studio now uses a small standalone application called the <em>Microsoft<\/em> <em>Visual Studio Installer<\/em> that manages all installations of Visual Studio 2017.\u00a0 This application will allow you to select a product, like \u201cVisual Studio Enterprise 2017,\u201d and customize its installation options.<\/p>\n<p>At the base of the Visual Studio 2017 product is what is called the Core Editor, which includes syntax-aware coding, source code control, and work item management. \u00a0The core editor is always installed no matter how you customize your Visual Studio 2017 install.<\/p>\n<p>In order to get more specific functionality, you should\u00a0select and install at least one workload on top of the core editor. \u00a0For example, in the screenshot below, the C++ Desktop development workload is selected on the left side and the corresponding options are shown on the right. \u00a0Hovering over an option will give you the detailed description of what the component installs.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/the-lightweight-visual-studio-15-installer\/desktop_\/\"><img decoding=\"async\" class=\"alignnone size-large wp-image-13575\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/desktop_-1024x559.png\" alt=\"desktop_\" width=\"879\" height=\"480\" \/><\/a><\/p>\n<p>For each workload there are required components that are always selected, and optional components that can be opted into. The recommended selections are the set of tools that will meet the majority of developers needs for the workload.<\/p>\n<h2>C++ Workloads in Visual Studio 2017<\/h2>\n<p>We have introduced five workloads for different C++ development scenarios, whether you are targeting Windows Desktop, Windows Store, or a non-Microsoft platform like Android or Linux.\u00a0 We also have a game development workload that\u00a0allows building games with different technologies such as DirectX, Unreal Engine, or Cocos2d engine.<\/p>\n<h2>Windows Desktop Development with C++<\/h2>\n<p>This workload provides the tools needed for building and debugging Win32-based desktop applications.\u00a0 Be default, we include the compilers and libraries for targeting x86 and x64 versions of Windows.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/the-lightweight-visual-studio-15-installer\/desktopoptions\/\"><img decoding=\"async\" class=\"alignnone size-large wp-image-13465\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/desktopOptions.png\" alt=\"desktopoptions\" width=\"241\" height=\"397\" \/><\/a><\/p>\n<p>A new part of the Visual Studio 2017 experience is that \u201cC++\/CLI Support\u201d is now an optional component since this requires installing the .NET framework and targeting pack.\u00a0 Doing so greatly reduces the default installation size to support purely native development \u00a0 In the future, we plan to allow a more granular break down the tools by having options both x86 and x64 targets.\u00a0 The We are also working with Windows team to refactor the Windows 10 SDK to allow a more granular installation by target architecture..\u00a0 Libraries and the Windows SDK account for the vast majority of our installation footprint, so making these optimizations is a top priority for us.<\/p>\n<h2>Mobile Development with C++<\/h2>\n<p>The C++ mobile development workload is based on the experience we have already shipped with Visual Studio 2015 Update 3 and includes the tools needed to target Android and iOS.\u00a0 The options can be customized to add the desired Android SDK versions. Note that third-party installation components link their license terms directly beneath the component.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-13495\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/mobileOptions.png\" alt=\"mobileoptions\" width=\"241\" height=\"410\" \/><\/p>\n<p>For more information on creating\u00a0Android or iOS mobile application in Visual Studio, consult these resources:<\/p>\n<p><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dn707595.aspx\">Create an Android Native Activity App<\/a><\/p>\n<p><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/mt171577.aspx\">Build an OpenGL ES Application on Android and iOS<\/a><\/p>\n<h2>Linux Development with C++<\/h2>\n<p>What we have previously shipped as a <a href=\"https:\/\/visualstudiogallery.msdn.microsoft.com\/725025cf-7067-45c2-8d01-1e0fd359ae6e\">Visual Studio extension<\/a> is now available directly in the product.\u00a0 All of the necessary tools for developing and debugging for Linux are included in the default selections for the workload.\u00a0 Check out this blog post on <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/linux-development-with-c-in-visual-studio\/\">Visual C++ for Linux Development<\/a> for more information.<\/p>\n<h2>Game Development with C++<\/h2>\n<p>This workload enables you to quickly get started building games in C++ with Visual Studio.\u00a0 By installing the workload with its default options, you can start writing games in DirectX right away with full editing, debugging, and graphics diagnostics support. If you are looking into using one of the popular C++ game engines, <a href=\"https:\/\/www.unrealengine.com\/what-is-unreal-engine-4\">Unreal Engine<\/a> or <a href=\"http:\/\/www.cocos2d-x.org\/\">Cocos2d<\/a>, to build games, select the checkboxes in the Optional component list and let the VS installer get the right engines for you automatically.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-large wp-image-13475\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/gameOptions.png\" alt=\"gameoptions\" width=\"241\" height=\"303\" \/><\/p>\n<p><a href=\"https:\/\/blogs.msdn.microsoft.com\/vcblog\/?attachment_id=10145\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10145\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/willow6.png\" alt=\"willow6\" width=\"485\" height=\"156\" \/><\/a><\/p>\n<h2>Universal Windows Platform Development<\/h2>\n<p>While the Universal Windows workload not specific to just C++, this workload provides all of the installation options for development of <a href=\"https:\/\/msdn.microsoft.com\/en-us\/windows\/uwp\/get-started\/universal-application-platform-guide\">Windows Universal apps<\/a>.\u00a0 We have added C++ support as an optional component to this workload since C++ libraries are a significant part of the total install size.\u00a0 Adding support for C++ projects in this workload simply requires selecting the \u201cC++ UWP support&#8221;\u00a0component in the workload customization area (shown below) which is not selected by default:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-large wp-image-13496\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/uwpOptions.png\" alt=\"uwpoptions\" width=\"258\" height=\"297\" \/><\/p>\n<h2>Installing Individual Components<\/h2>\n<p>Besides installing an entire workload, you also have the option to install\u00a0<em>individual components\u00a0<\/em>in Visual Studio 2017. \u00a0Whether you want to add a couple extra things to your workload or just install a single component, the individual components section provides a more granular list for making these selections:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-13565\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/icc.png\" alt=\"icc\" width=\"454\" height=\"628\" \/><\/p>\n<h2>In Closing<\/h2>\n<p>We would love to hear your feedback on the new installation experience and make it even better for future releases by giving you more control over your Visual Studio installation.\u00a0 Give the new version a try and share please share your feedback. \u00a0 Thanks!<\/p>\n<p><a href=\"https:\/\/www.visualstudio.com\/vs\/whatsnew\/\">Download Visual Studio 2017\u00a0<\/a><\/p>\n<p><a href=\"https:\/\/www.visualstudio.com\/en-us\/news\/releasenotes\/vs2017-relnotes\">Release Notes<\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/finding-the-visual-c-compiler-tools-in-visual-studio-2017\/\">Locating Visual C++ tools in Visual Studio 2017<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u23f1This post was updated on 3\/7\/2017\u00a0for the Visual Studio 2017 release. As many of you may have already seen, we have introduced a streamlined Visual Studio Installer\u00a0for Visual Studio 2017\u00a0to give you more control of what you install.\u00a0 What began as the separation of the C++ tools for Visual Studio 2015 has now become a [&hellip;]<\/p>\n","protected":false},"author":295,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10085","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus"],"acf":[],"blog_post_summary":"<p>\u23f1This post was updated on 3\/7\/2017\u00a0for the Visual Studio 2017 release. As many of you may have already seen, we have introduced a streamlined Visual Studio Installer\u00a0for Visual Studio 2017\u00a0to give you more control of what you install.\u00a0 What began as the separation of the C++ tools for Visual Studio 2015 has now become a [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/10085","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/295"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=10085"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/10085\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=10085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=10085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=10085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}