Visual Studio .NET Setup and Deployment projects provide a straightforward way of building .msi files to install either normal executables or web applications. Although these projects do not offer the full flexibility that Windows Installer can provide, they make it very easy to build simple installers. These projects have a set of standard UI pages, and a limited degree of intelligence can be built into the installer using conditional installation. These basic facilities can be extended by writing custom actions or .NET installer components.