IIS Express FAQ

by Vaidy Gopalakrishnan

This FAQ contains information about IIS Express support and other common questions.

What is IIS Express?

IIS Express is a lightweight, self-contained version of IIS optimized for developers. IIS Express provides the power of IIS 7 and above while making it easy to develop and test websites.

What is the current release of IIS Express?

The current release is IIS 7.5 Express. As the name suggests, this release is derived from the IIS 7.5 server codebase.

How does it relate to Microsoft WebMatrix?

Microsoft WebMatrix is a simple and integrated suite of tools that streamline ASP.NET and PHP development. IIS Express is the Web server that is included with WebMatrix. You can also install IIS Express all by itself using the following link. See IIS Express Overview for information on the various ways to install the product.

Can I use IIS Express with Visual Studio?

Yes, Visual Studio 2010 SP1 Beta allows you to build and test web applications using IIS Express instead of the built-in ASP.NET Development Web Server (also known as Cassini). IIS Express is not included with VS 10 SP1 and will need to be installed separately. You can also manually launch IIS Express from the command line and use it with Visual Studio 2008, using the custom web server option.

What OS and SKUs are supported?

IIS 7.5 Express is supported on the following operating systems:

  • Windows XP SP3+
  • Windows Vista SP1+
  • Windows 7
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Server 2003 SP2+

Support is available for all OS SKUs, except Server Core on Windows Server 2008.

What .NET Framework versions are supported?

Versions 2.0, 3.0, 3.5, and 4.0 are supported.

Are 64-bit machines supported?

IIS 7.5 Express supports 64-bit architectures using the WoW64 subsystem. Full 64-bit support will be considered for future releases.

Does IIS Express support SSL?

Yes IIS Express supports SSL. The setup program will install a default, self-signed server certificate in the machine store and configure ports 44300-44399 for use with SSL. You can also set up and configure custom SSL certificates for your websites as an administrator.

Does IIS Express support PHP?

Yes, IIS Express includes the CGI and FastCGI modules for PHP. The best way to develop PHP applications using IIS Express is to install WebMatrix. This will automatically install and configure PHP and also allow you to download and customize popular gallery applications such as WordPress, Joomla etc.

Can IIS Express be redistributed or embedded in other applications?

The IIS 7.5 Express license allows the MSI to be redistributed. You can include the MSI in your product or chain your installer to it. You can't distribute IIS Express in any other manner at the moment.

Does IIS Express support the IIS "Classic" pipeline mode?

IIS Express supports both the "Integrated" and "Classic" managed pipeline modes from IIS.

Does IIS Express require administrative privileges?

The default IIS Express configuration allows users to run websites without administrative privileges. The setup program also installs a self-signed server certificate that enables standard users to run a site over SSL.

Certain tasks do require elevated user rights. They include:

  • Running a website on port 80 or another reserved port
  • Installing a custom SSL certificate
  • Running network-facing websites

You must also have administrator user rights when using IIS Express on Windows Server 2003 SP2+.

Does IIS Express support the command line?

Yes, IIS Express can be launched using the command line and supports various runtime options. For information about how to use the command line, see Use the Command Line to Run a WebMatrix Site or Application.

Is IIS Express xcopy-deployable?

The core IIS Express runtime is xcopy-deployable. However, as of this time, xcopy deployment is not an officially supported feature.

Does IIS Express support external traffic?

By default, only requests over localhost are serviced; however, you can modify the bindings to enable external traffic. For security reasons, you should have Administrator user rights on the machine to set this up.

Will UNC/network paths work?

Yes. Similar to IIS, you will need to configure the proper UNC credentials to access content from those shares.

Does IIS Express support non-HTTP protocols such as net.tcp or MSMQ?

No. IIS Express only supports HTTP and HTTPS as its protocol.

What about FTP?

IIS Express does not include an FTP service. However, note that both WebMatrix and Visual Studio support publishing web applications to production environments using FTP.

Are all of the IIS modules supported?

IIS Express currently ships with built-in support for URL Rewrite and FastCGI. We will continue to add support for other modules in future releases, based on demand.

Does IIS Express support different host headers?

Yes, IIS Express supports binding to different host headers. Similar to IIS, you must have Administrator user rights on the machine to complete this operation. You must also do some extra configuration on the OS, such as adding the proper host mappings in the "hosts" file and network configurations.

Does IIS Express use the same configuration system as IIS?

Yes, IIS Express uses the same applicationhost.config and web.config files supported by IIS. The key difference is that with IIS Express, the configuration is maintained on a per-user basis. In particular, whereas IIS has a global "applicationhost.config" file, IIS Express maintains a user-specific "applicationhost.config" file in the %userprofile%\documents\IISexpress\config" folder. This lets a standard user run IIS Express and also lets multiple users work on the same machine independently, without conflicting with each other. Some settings require Administrator user rights to set and modify (see question above about running as a standard user).

How do I enable verbs like PUT/DELETE for my web application?

In the "verb" attribute add PUT and DELETE so the "verb" attribute looks like: You can modify the IIS Express "applicationHost.config" in the %userprofile%\documents\IISExpress\config" folder. For example to enable PUT and DELETE for extensionless Urls scroll down to the bottom of the IIS Express applicationHost.config file and look for a handler entry that starts with: <add name="ExtensionlessUrl-Integrated-4.0" ... . In the "verb" attribute add PUT and DELETE so the "verb" attribute looks like: verb="GET,HEAD,POST,DEBUG,PUT,DELETE"

Does IIS Express support more than one application running in the same process?

Yes. Similar to IIS, IIS Express supports multiple applications under the same site running in the same process.

Are WCF applications supported?

Yes, IIS Express support WCF applications. As noted above, WCF is only supported over HTTP or HTTPS. WCF over MSMQ and net.tcp is not supported.

Can SharePoint Foundation 2010 run on IIS Express?

SharePoint won't run on IIS Express because it uses IIS features that aren't supported. IIS Express won't prevent SharePoint Foundation 2010 from running if they are both installed on the same machine.

Can IIS Express run side-by-side with other Web servers?

Yes, IIS Express can run side-by-side with other Web servers as long as there are no conflicting bindings. You can run IIS Express and the operating system version of IIS (IIS 5.1 on Windows XP, IIS 6.0 on Windows Server 2003, IIS 7.0 on Windows Server 2008 or Windows Vista, IIS 7.5 on Windows Server 2008 R2 or Windows 7). IIS Express comes with a default website that runs on port 8080 to avoid conflicts with IIS, which uses port 80 by default. A binding conflict will occur if IIS Express and the other Web server both try to listen on port 80.