Since IIS7 is not enabled nor installed by default on Vista (just like IIS6 is not enabled nor installed by default on Windows Server 2003 and Windows XP 64bit), and the various UI/Wizard/ControlPanel-mechanisms for managing components in Vista are not exactly ready for prime time (all are completely rewritten for Vista), I thought I should share the mechanism that the IIS team uses to install/develop/test IIS7.

BTW, this is the only mechanism that I can assure you that works because we run it every day and assure it works as we merge our code changes on towards the WinMain branch which produces the beta/product builds that you get.

start /w pkgmgr /l:log.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;IIS-FTPPublishingService;IIS-FTPServer;IIS-FTPManagement;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

Yes, I know it is long. It installs all IIS7 components.

You can pick a smaller set, but then I cannot assure you that it works nor that uninstall/upgrade works. In fact, let me just say that you should not try upgrades nor partial uninstallations. It does not work reliably (yet), and we know that already.

This command should work for Vista builds greater than 5266, though I recommend builds 5308 or later of Beta 2. We changed the names of several IIS Components in between those times for consistency purposes - this command represents the latest agreed-upon names.