Deploy and publish Expression Blend applications
After you use Microsoft Expression Blend or Microsoft Visual Studio 2010 to build your application, you can deploy (or publish) your application so that other people can use it.
What you need to publish a WPF application
To deploy a Windows Presentation Foundation (WPF) application that you have created in Expression Blend or Visual Studio 2010, you have to use the deployment tools of Visual Studio 2010. The tool you use depends on the type of application you want to deliver:
Standalone application Your application is contained in a single executable file (.exe). You can deploy this application by copying it (by using Xcopy), by using Windows Installer, or by using ClickOnce.
Markup-only Extensible Application Markup Language (XAML) application Your application is not compiled because it has no code files, only .xaml files. You can deploy this application by putting the .xaml files on a website. You can also use Windows Installer or Xcopy to enable people to open the .xaml files on their local computer.
If you want to host a XAML file on a website, the root element of the file must be a Page element (not a Window element), and the x:Class attribute (used to match a XAML file with a code-behind file) must be removed.
WPF Browser Application Your application is compiled and you want to make it available from a website. You can deploy this application by providing the executable file (.exe), a deployment manifest file (.xbap), and an application manifest file (.exe.manifest). These files can be produced by Visual Studio 2010 when you build the project with the HostInBrowser property set to true in the project file (.csproj or .vbproj).
For more information, see the How to: Create a Sample Project File for a Windows Presentation Foundation XAML Browser Application on MSDN.
For more information about Xcopy, Windows Installer, ClickOnce, and standalone and browser-hosted applications, see Deploying a Windows Presentation Foundation Application and the "Deploying a XAML Browser Application" section of Windows Presentation Foundation Browser-Hosted Applications Overview on MSDN.
What a user needs to run your WPF application
For an end user to be able to run your Expression Blend application on a computer, the user must have the building blocks of the WPF installed. If the user is running Windows Vista or Windows 7, these building blocks are already installed by default. A user running Windows XP or Windows Server 2003 must have the latest service pack installed, and also the Microsoft .NET Framework Redistributable Package, which contains the WPF building blocks (assemblies).
If your WPF application is a WPF Browser Application or markup-only (has no code), the user currently has to use Internet Explorer version 6.0, 7.0, or 8.0 to view your application, and also the Microsoft .NET Framework.
What you need to publish a Silverlight application
To deploy a Microsoft Silverlight application, you can simply copy it to a web folder, and then call it from a web page.
For more information, see Deploy a Silverlight application to a website.
What a user needs to run your Silverlight application
When users try to run your Silverlight application, if they do not already have the Silverlight runtime installed, they will be prompted to install it from the Silverlight website .
Instead of deploying a complete application, you might want to share pieces of your application, such as XAML documents, XAML resources, user controls, custom class definition files, or custom control library files (.dll).
For more information, see Sharing code.
An Expression Blend application is essentially a WPF or Silverlight application, so the services that secure applications are the same:
Standalone applications execute with unrestricted permissions (CAS FullTrust permission set), whether you deploy them by using Windows Installer, XCopy, or ClickOnce.
Browser-hosted applications execute with partial trust. This effectively isolates WPF browser-hosted applications from the client computer in the same way that you would expect typical web applications to be isolated.