.NET Framework Client Profile
The .NET Framework Client Profile is a subset of the full .NET Framework 3.5 SP1 that targets client applications. It provides a streamlined subset of Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF), and ClickOnce features. This enables rapid deployment scenarios for WPF, Windows Forms, WCF, and console applications that target the .NET Framework Client Profile.
End users can download the Client Profile by using the Microsoft .NET Framework Client Profile Online Installer.
Considerations
Target the .NET Framework Client Profile when you need the fastest possible deployment experience for your WPF or Windows Forms client application. A .NET Framework Client Profile application has a redistribution package that installs the minimum set of client assemblies on the target computer, without requiring the full .NET Framework to be present.
Deployment Scenarios
The .NET Framework Client Profile supports the following deployment scenarios.
Scenario |
Description |
---|---|
Web-based deployment |
Installation is performed by using either ClickOnce or Windows Installer. If necessary, during installation the .NET Framework Client Profile is downloaded from Microsoft or another specified location. |
Windows-based deployment |
Installation is performed by using either ClickOnce or Windows Installer. If necessary, during installation the .NET Framework Client Profile is downloaded from Microsoft or another specified location. |
For more information, see Walkthrough: Deploying a .NET Framework Client Profile Application by using ClickOnce and Walkthrough: Deploying a .NET Framework Client Profile Application by using Windows Installer.
Bootstrapper
The .NET Framework Client Profile provides a common bootstrapper setup that you can use for your client applications. This makes sure that all requirements for running your application are installed, regardless of which version of the .NET Framework, if any, is present. The setup experience provides a consistent user interface (UI) and seamless installation, whether the target operating system is Windows XP or Windows Vista.
You can create a custom bootstrapper and installation UI. The .NET Framework Client Profile bootstrapper provides callbacks and events that your custom bootstrapper can use to follow the progress of the .NET Framework Client Profile installation and to update your UI. This enables complete reconfiguring and branding of the installation user experience.
Application Servicing
Being able to easily service your application is an important capability. For installations that use ClickOnce, updates can be made available by re-publishing the application. The application can be configured to check for updates before or after the user starts the application. For installations that use Windows Installer, the standard Windows Installer update mechanism is available.
Tools
Visual Studio provides tools for creating ClickOnce or Windows Installer deployments. To start creating a ClickOnce deployment in Visual Studio, open the project property pages and click the Publish tab. For more information, see ClickOnce Deployment Overview. To start creating a Windows Installer deployment in Visual Studio, add setup project from the Setup and Deployment node to the solution. For more information, see Setup Projects.
Configuration
Your application declares that it is compliant with the .NET Framework Client Profile by using the <supportedRuntime> element in the application's configuration file, application.exe.config. Assign "client" to the sku attribute. The following XML shows an example setting.
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" sku="client"/>
</startup>
</configuration>
The sku attribute name is case-sensitive. If the sku attribute is missing, or if its value is set to anything other than "client", the runtime assumes the application is not a .NET Framework Client Profile application.
If there are multiple <supportedRuntime> elements in the same configuration file that has the same major version number:
And there are one or more elements have sku="client", the application runs against the .NET Framework Client Profile of the specified version.
And none of the elements has sku="client", the application runs only on the specified full version of the .NET Framework.
Note
If you set sku="client", the application will run on a computer that has either the .NET Framework Client Profile version or the full version of the .NET Framework 3.5 SP1 or later. The application will not run on a computer that has a version before the .NET Framework 3.5 SP1.
Testing
An application that does not have the sku="client" setting requires the full .NET Framework to be installed. When the application is installed, the user will be prompted to install the full .NET Framework. If you try to run an application that does not have the sku="client" setting on a computer that just has the .NET Framework Client Profile installed, the application will fail to run and an error will be displayed.
You can turn off this safety check and allow your application to run on the .NET Framework Client Profile even if it does not have the configuration file or the sku="client" setting.
Under HKLM\SOFTWARE\Microsoft\Fusion, create a new registry key named NoClientChecks as a DWORD type. Set it to any value except 0 to turn off the safety check in the runtime. This works for both 32-bit and 64-bit operating systems.
Note
Only use this registry key for testing purposes. Do not set this key on any computer other than a test computer. The use of this key on production and end-user computers is unsupported.
Assemblies in the .NET Framework Client Profile
The set of assemblies in the .NET Framework 3.5 Client Profile can be determined by examining the reference assemblies located in \Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client.
See Also
Concepts
.NET Framework Client Profile Deployment Configuration Schema
Reference
Change History
Date |
History |
Reason |
---|---|---|
July 2008 |
Added new topic. |
SP1 feature change. |