Web Platform Installer bundles for Visual Studio 2010 SP1 - and how you can build your own WebPI bundles
- by Jon Galloway
Visual Studio SP1 is  now available via the Web Platform Installer, which means you've got three options:     Download the 1.5 GB ISO image    Run the 750KB Web Installer (which figures out what you need to download)    Install via Web PI   Note: I covered some tips for installing VS2010 SP1 last week - including some that apply to all of these, such as removing options you don't use prior to installing the service pack to decrease the installation time and download size.  Two Visual Studio 2010 SP1 Web PI packages  There are actually two WebPI packages for VS2010 SP1. There's the standard Visual Studio 2010 SP1 package [Web PI link], which includes (quoting ScottGu's post):     VS2010 2010 SP1     ASP.NET MVC 3 (runtime + tools support)     IIS 7.5 Express     SQL Server Compact Edition 4.0 (runtime + tools support)     Web Deployment 2.0   The notes on that package sum it up pretty well:      Looking for the latest everything? Look no further. This will get you Visual Studio 2010 Service Pack 1 and the RTM releases of ASP.NET MVC 3, IIS 7.5 Express, SQL Server Compact 4.0 with tooling, and Web Deploy 2.0. It's the value meal of Microsoft products. Tell your friends! Note: This bundle includes the Visual Studio 2010 SP1 web installer, which will dynamically determine the appropriate service pack components to download and install. This is typically in the range of 200-500 MB and will take 30-60 minutes to install, depending on your machine configuration.   There is also a Visual Studio 2010 SP1 Core package [Web PI link], which only includes only the SP without any of the other goodies (MVC3, IIS Express, etc.). If you're doing any web development, I'd highly recommend the main pack since it the other installs are small, simple installs, but if you're working in another space, you might want the core package.  Installing via the Web Platform Installer  I generally like to go with the Web PI when possible since it simplifies most software installations due to things like:     Smart dependency management - installing apps or tools which have software dependencies will automatically figure out which dependencies you don't have and add them to the list (which you can review before install)    Simultaneous download and install - if your install includes more than one package, it will automatically pull the dependencies first and begin installing them while downloading the others    Lists the latest downloads - no need to search around, as they're all listed based on a live feed    Includes open source applications - a lot of popular open source applications are included as well as Microsoft software and tools    No worries about reinstallation - WebPI installations detect what you've got installed, so for instance if you've got MVC 3 installed you don't need to worry about the VS2010 SP1 package install messing anything up   In addition to the links I included above, you can install the WebPI from http://www.microsoft.com/web/downloads/platform.aspx, and if you have Web PI installed you can just tap the Windows key and type "Web Platform" to bring it up in the Start search list. You'll see Visual Studio SP1 listed in the spotlight list as shown below.    That's the standard package, which includes MVC 3 / IIS 7.5 Express / SQL Compact / Web Deploy. If you just want the core install, you can use the search box in the upper right corner, typing in "Visual Studio SP1" as shown.    Core Install: Use Web PI or the Visual Studio Web Installer?  I think the big advantage of using Web PI to install VS 2010 SP1 is that it includes the other new bits. If you're going to install the SP1 core, I don't think there's as much advantage to using Web PI, as the Web PI Core install just downloads the Visual Studio Web Installer anyways. I think Web PI makes it a little easier to find the download, but not a lot. The Visual Studio Web Installer checks dependencies, so there's no big advantage there.   If you do happen to hit any problems installing Visual Studio SP1 via Web PI, I'd recommend running the Visual Studio Web Installer, then running the Web PI VS 2010 SP1 package to get all the other goodies. I talked to one person who hit some random snag, recommended that, and it worked out.  Custom Web Platform Installer bundles  You can create links that will launch the Web Platform Installer with a custom list of tools. You can see an example of this by clicking through on the install button at http://asp.net/downloads (cancelling the installation dialog). You'll see this in the address bar: http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=MVC3;ASPNET;NETFramework4;SQLExpress;VWD  Notice that the appid querystring parameter includes a semicolon delimited list, and you can make your own custom Web PI links with your own desired app list. I can think of a lot of cases where that would be handy: linking to a recommended software configuration from a software project or product, setting up a recommended / documented / supported install list for a software development team or IT shop, etc.  For instance, here's a link that installs just VS2010 SP1 Core and the SQL CE tools: http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=VS2010SP1Core;SQLCETools  Note: If you've already got all or some of the products installed, the display will reflect that. On my dev box which has the full SP1 package, here's what the above link gives me:    Here's another example - on a fresh box I created a link to install MVC 3 and the Web Farm Framework (http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=MVC3;WebFarmFramework) and got the following items added to the cart:    But where do I get the App ID's?  Aha, that's the trick. You can link to a list of cool packages, but you need to know the App ID's to link to them. To figure that out, I turned on tracing in Web Platform Installer  (also handy if you're ever having trouble with a WebPI install) and from the trace logs saw that the list of packages is pulled from an XML file:  
DownloadManager Information: 0 : Loading product xml from: https://go.microsoft.com/?linkid=9763242
DownloadManager Verbose: 0 : Connecting to https://go.microsoft.com/?linkid=9763242 with (partial) headers:
Referer: wpi://2.1.0.0/Microsoft Windows NT 6.1.7601 Service Pack 1
If-Modified-Since: Wed, 09 Mar 2011 14:15:27 GMT
User-Agent:Platform-Installer/3.0.3.0(Microsoft Windows NT 6.1.7601 Service Pack 1)
DownloadManager Information: 0 : https://go.microsoft.com/?linkid=9763242 responded with 302
DownloadManager Information: 0 : Response headers:
HTTP/1.1 302 Found
Cache-Control: private
Content-Length: 175
Content-Type: text/html; charset=utf-8
Expires: Wed, 09 Mar 2011 22:52:28 GMT
Location: https://www.microsoft.com/web/webpi/3.0/webproductlist.xml
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Wed, 09 Mar 2011 22:53:27 GMT
Browsing to https://www.microsoft.com/web/webpi/3.0/webproductlist.xml shows the full list.
You can search through that in your browser / text editor if you'd like, open it in Excel as an XML table, etc. Here's a list of the App ID's as of today:
SMO
  SMO32
  PHP52ForIISExpress
  PHP53ForIISExpress
  StaticContent
  DefaultDocument
  DirectoryBrowse
  HTTPErrors
  HTTPRedirection
  ASPNET
  NETExtensibility
  ASP
  CGI
  ISAPIExtensions
  ISAPIFilters
  ServerSideIncludes
  HTTPLogging
  LoggingTools
  RequestMonitor
  Tracing
  CustomLogging
  ODBCLogging
  BasicAuthentication
  WindowsAuthentication
  DigestAuthentication
  ClientCertificateMappingAuthentication
  IISClientCertificateMappingAuthentication
  URLAuthorization
  RequestFiltering
  IPSecurity
  StaticContentCompression
  DynamicContentCompression
  IISManagementConsole
  IISManagementScriptsAndTools
  ManagementService
  MetabaseAndIIS6Compatibility
  WASProcessModel
  WASNetFxEnvironment
  WASConfigurationAPI
  IIS6WPICompatibility
  IIS6ScriptingTools
  IIS6ManagementConsole
  LegacyFTPServer
  FTPServer
  WebDAV
  LegacyFTPManagementConsole
  FTPExtensibility
  AdminPack
  AdvancedLogging
  WebFarmFrameworkNonLoc
  ExternalCacheNonLoc
  WebFarmFramework
  WebFarmFrameworkv2
  WebFarmFrameworkv2_beta
  ExternalCache
  ECacheUpdate
  ARRv1
  ARRv2Beta1
  ARRv2Beta2
  ARRv2RC
  ARRv2NonLoc
  ARRv2
  ARRv2Update
  MVC
  MVCBeta
  MVCRC1
  MVCRC2
  DBManager
  DbManagerUpdate
  DynamicIPRestrictions
  DynamicIPRestrictionsUpdate
  DynamicIPRestrictionsLegacy
  DynamicIPRestrictionsBeta2
  FTPOOB
  IISPowershellSnapin
  RemoteManager
  SEOToolkit
  VS2008RTM
  MySQL
  SQLDriverPHP52IIS
  SQLDriverPHP53IIS
  SQLDriverPHP52IISExpress
  SQLDriverPHP53IISExpress
  SQLExpress
  SQLManagementStudio
  SQLExpressAdv
  SQLExpressTools
  UrlRewrite
  UrlRewrite2
  UrlRewrite2NonLoc
  UrlRewrite2RC
  UrlRewrite2Beta
  UrlRewrite10
  UrlScan
  MVC3Installer
  MVC3
  MVC3LocInstaller
  MVC3Loc
  MVC2
  VWD
  VWD2010SP1Pack
  NETFramework4
  WebMatrix
  WebMatrix_v1Refresh
  IISExpress
  IISExpress_v1
  IIS7
  AspWebPagesVS
  AspWebPagesVS_1_0
  Plan9
  Plan9Loc
  WebMatrix_WHP
  SQLCE
  SQLCETools
  SQLCEVSTools
  SQLCEVSTools_4_0
  SQLCEVSToolsInstaller_4_0
  SQLCEVSToolsInstallerNew_4_0
  SQLCEVSToolsInstallerRepair_EN_4_0
  SQLCEVSToolsInstallerRepair_JA_4_0
  SQLCEVSToolsInstallerRepair_FR_4_0
  SQLCEVSToolsInstallerRepair_DE_4_0
  SQLCEVSToolsInstallerRepair_ES_4_0
  SQLCEVSToolsInstallerRepair_IT_4_0
  SQLCEVSToolsInstallerRepair_RU_4_0
  SQLCEVSToolsInstallerRepair_KO_4_0
  SQLCEVSToolsInstallerRepair_ZH_CN_4_0
  SQLCEVSToolsInstallerRepair_ZH_TW_4_0
  VWD2008
  WebDAVOOB
  WDeploy
  WDeploy_v2
  WDeployNoSMO
  WDeploy11
  WinCache52
  WinCache53
  NETFramework35
  WindowsImagingComponent
  VC9Redist
  NETFramework20SP2
  WindowsInstaller31
  PowerShell
  PowerShellMsu
  PowerShell2
  WindowsInstaller45
  FastCGIUpdate
  FastCGIBackport
  FastCGIIIS6
  IIS51
  IIS60
  SQLNativeClient
  SQLNativeClient2008
  SQLNativeClient2005
  SQLCLRTypes
  SQLCLRTypes32
  SMO_10_1
  MySQLConnector
  PHP52
  PHP53
  PHPManager
  VSVWD2010Feature
  VWD2010WebFeature_0
  VWD2010WebFeature_1
  VWD2010WebFeature_2
  VS2010SP1Prerequisite
  RIAServicesToolkitMay2010
  Silverlight4Toolkit
  Silverlight4Tools
  VSLS
  SSMAMySQL
  WebsitePanel
  VS2010SP1Core
  VS2010SP1Installer
  VS2010SP1Pack
  MissingVWDOrVSVWD2010Feature
  VB2010Beta2Express
  VCS2010Beta2Express
  VC2010Beta2Express
  RIAServicesToolkitApr2010
  VS2010Beta1
  VS2010RC
  VS2010Beta2
  VS2010Beta2Express
  VS2k8RTM
  VSCPP2k8RTM
  VSVB2k8RTM
  VSCS2k8RTM
  VSVWDFeature
  LegacyWinCache
  SQLExpress2005
  SSMS2005