Deploying Prerequisites (Visual Studio)
To successfully deploy an application, you must also deploy all components referenced by the application. For example, most applications created with Visual Studio have a dependency on the .NET Framework. A required version of the common language runtime must be present on the target computer before the application is installed. The deployment tools in Visual Studio enable you to install the .NET Framework and other components as a part of your installation. The process of installing prerequisite components is also known as bootstrapping.
Windows Vista elevates prerequisite component installation when it is required. The bootstrapper itself performs no elevation. When Windows Vista runs under User Account Control (UAC), it issues a prompt for each prerequisite component that has to be elevated, unless the component is already installed. If a package elevation fails, the bootstrapper fails with an appropriate error message.
The following components are included in Visual Studio. (This list is subject to change.)
.NET Framework 2.0 for 32-bit platforms (x86) and 64-bit platforms (x64).
.NET Framework 3.5. This package installs .NET Framework versions 2.0, 3.0, and 3.5 for 32-bit platforms (x86) and 64-bit platforms (x64). It also installs the service packs for .NET Framework 2.0 and 3.0 and the language packs for all versions.
Windows Installer 2.0 and 3.1.
Visual C++ Runtime Libraries for IA64, x64, and x86 processors.
SQL Server 2005 Express Edition.
SQL Server Compact 3.5.
Microsoft Visual Studio Report Viewer.
In addition, each version of the .NET Framework has a separate package that targets x86, x64, and IA64 processors, and a package that targets all platforms.
For both Windows Installer and ClickOnce deployment, bootstrapping of the .NET Framework is enabled by default. You can disable bootstrapping for the .NET Framework. However, you should only do so if you are sure that the correct version of the .NET Framework is already installed on all target computers or if your application does not require the .NET Framework.
Additional components should be bootstrapped only if your application has a dependency on them.
By default, bootstrapped components are deployed from the same location as the installation package. Alternatively, you can choose to deploy the components from a URL or file share location where users can download them as necessary.
Bootstrapped components may require administrator or similar privileges on the computer in order to install. For ClickOnce applications, this means that the user may need administrative permissions to install the application regardless of the security level specified by the application. After the application is installed, the user can run the application without administrative permissions.
During installation, users will be prompted for permission to install the bootstrapped components if they are not present on the target computer.
As an alternative to bootstrapping, you can predeploy components by using an electronic software distribution system such as Microsoft Systems Management Server.