Silverlight Application Deployment

Silverlight Application Deployment

Silverlight Application Deployment 1 Steps to Deploy Silverlight Business Application Many people have trouble deploying Silverlight Business Applications to IIS. They tested everything under Visual Studio. But once they deploy the app to IIS, the app stops working. Either Silverlight can't connect to the service any more, or there are database connection related errors. If you have trouble deploying your Silverlight Business Applications, check this general RIA deployment guide first: http://blogs.msdn.com/b/bradsevertson/archive/2011/02/17/a‐guide‐to‐deployi ng‐ria‐services‐ solutions.aspx If you are still having trouble, let's do this step by step to deploy a Silverlight application created by using the Silverlight Business Application Template: 1) Create a Silverlight Business Application in Visual Studio (VS). Run your app by hitting F5 under VS. The application's main page is loaded in your default browser. Click the Login button. First you need to Register a user: Click "Register Now" button on the Login window; enter your user information to register. After you are done the login window is closed and you should already be logged in. Click Logout button to Logout. Click Login Button to login again. If everything works at this point, we can consider we already tested every feature of this application and ready to deploy it.

You may wonder how everything just works by itself and you haven't even written any code yet. Where is the user data stored at? Those things are done by the code generated by VS. When VS create this project, there is a SQL server database file ASPNETDB.mdf created under the App_Data folder in the Web Project. This DB file holds application user membership data used by the authentication service. The connection to this DB is defined under the Web.Config section. It looks something like this: If you are using earlier version of the RIA service (earlier than RIA service SP1 beta), you may not see the connection string under the Web.Config. If this is the case, the default connection string used by

Silverlight Application Deployment 2 ASP.NET authentication service is defined in the machine.config. You can check your machine.config under x:\\Microsoft.NET\Framework\\config\machine.config. You should see the following connection string defined in machine.config: If you are on earlier version of RIA and do not see connection string in your Web.Config, first thing you should do is to add one to override the connection string set in machine.config. Add the following to your Web.config file: When you are under development, the project is using SQL Express to access the DB file. Remember SQL Express is for development only. When you finally deploy your app, you should use a full version SQL server in your production. But for testing purposes, you can still use SQL Express to test your deployment.

2) Change the connection string to use SQL server authentication in the Web.Config: The default connection string uses Windows authentication. It works under the DEV server when you are running the app under VS because the thread is running under the current windows user account. But when you are running the app under IIS, the thread is running under "NT AUTHORITY\NETWORK SERVICE" user account. This user account does not have the right to access the SQL server unless you give it that right. The best practice for a Web application is to use SQL server authentication. If this is your original connection string:

Silverlight Application Deployment 3 Change it to the following: If this is your original connection string: Change it to the following: 3) Include ASPNETDB file in the deployment package. If you want to deploy the ASPNETDB.mdf file with your solution, you need to include this file into your Web Project. Click Project Menu on the VS Top Menu bar, select "Show All files". You should now see the ASPNETDB.mdf file under the App_Data folder under the Web project. It is not included in the Project by default. Right click the file and select "Include in Project".

Any files you want to include in the deployment package, you need to include them into the project. Otherwise, the folder or files won't be published. 4) Build your solution. Do a final test of your app under VS.

Silverlight Application Deployment 4 4) Publish your app to a local file folder If everything works at this point, you can publish the solution using the publish feature under VS. Right click your Web project to select "Publish . Select File System as your publish target. Select a local file folder to publish the package. 5) Test your deployment on your local IIS. This is a important step. Before you finally publish the application to the hosting server, test it on your local IIS first, so you still have a chance to debug the problems if you find any. Open the IIS Admin tool (under Computer\Manage\Service and Applications) on your local computer. Add an Application under Default Web Site to point to the published folder you just created. Make sure that you select ASP.NET v4.0 as the application pool.

Under IIS Admin, right click the web application, go to Authentication Details, make sure only the Anonymous authentication and Forms authentication are enabled. 6) Test your App by enter "http://localhost/YourApplication/YourTestPage.html" in a browser. If you find problem running under local IIS, you can use "Attach to process " VS feature under the Debug menu to debug your code. For server side code debugging, attach to "w3wp.exe". For Silverlight code debugging, attach to the browser process that you are currently running at. 7) If everything works, you can deploy your app to the final hosting server by copying the whole folder over.

8) For the final deployment, switch to use full version SQL server. You can attach the ASPNETDB.mdf file to your SQL server, then change your connection string to point to that SQL server instance. connectionString="data source=YOURSQLSERVER; Initial Catalog=YourDBInstanceName;Integrated Security=False;User ID=YOURUSERID; Password=YOURPASSWORD; User Instance=False" You should also consider to encrypt the connection string for security. Read the instruction on how to do this: http://msdn.microsoft.com/en‐us/library/ms178372.aspx

Silverlight Application Deployment 5 Hope this step by step guide can help you understand the problems you are having and make your application deployment process a smoother one.

Silverlight Application Deployment 6 A Guide to Deploying RIA Services Solutions 17 Feb 2011 2:46 AM Introductions. My name is Brad Severtson. I joined the WCF RIA Services team last fall and have worked on the documentation for the upcoming v1 SP1 release. I am a senior programming writer and have worked mainly on WCF and Silverlight technologies. This deployment guide is part of that RIA SP1 doc set. I am releasing the basic parts of this topic early here due to the continued request for guidance on deployment. (I have had to delete some of the links to other SP1 topics, or redirected them to the related current documents, as they will not work until they are published.) This topic has attempted to take all of the existing guidance that has been published on the blogs and provided in videos by the product team (and in particular the Saurabh Pant video on Silverlight TV:http://johnpapa.net/silverlight/sltv51/), several of whose members have also reviewed it as well, and put them into a single procedure that provides a check list of things you should do when deploying a RIA application. I have worked through it myself more than a few times, of course, mostly with success. There are machines that just seem to have too much *history* or some sort gremlins to configure correctly. I have had gook luck with freshly configured test machines, not as good with machines I have been using for years. So here it is: A Guide to Deploying RIA Services Solutions An outline of the issues that can arise when deploying a RIA Services application and some recommendations on how to deal with them are described in the Troubleshooting a RIA Services Solution(http://go.microsoft.com/fwlink/?LinkId=211605) Please Refer to Below topic. This also provides some useful conceptual background (in the discussion on excption flow) on the application layers you are dealing with when deploying a RIA Services application.

Silverlight Application Deployment 7 Troubleshooting the Deployment of a RIA Services Solution WCF RIA Services 2 out of 6 rated this helpful ‐ Rate this topic [WCF RIA Services Version 1 Service Pack 2 is compatible with either .NET framework 4 or .NET Framework 4.5, and with either Silverlight 4 or Silverlight 5.] Troubleshooting a WCF RIA Services solution presents a unique challenge because an exception can occur at one of many different layers. You need to understand how these different layers report errors to effectively troubleshoot your application. This topic introduces these layers and provides some techniques for troubleshooting your RIA Services applications when an exception occurs. Also, many of the issues you may encounter in deploying a RIA Services have been anticipated in the new deployment guide, for details see A Guide to Deploying RIA Services Solutions.

Exception Flow In a RIA Services application, exceptions flow in the following order from the lowest originating layer to the client: 1. Domain Service 2. RIA Services Service Host 3. WCF 4. ASP.NET 5. IIS 6. Silverlight Application

Silverlight Application Deployment 8 Enable Detailed ASP.NET Error Information By default, the customErrors element of a Web.config file is set to RemoteOnly, which means a remote client will not receive the detailed ASP.NET error information. To debug your application, set customErrors to Off so that you can see the detailed ASP.NET error from the client. Use Fiddler to Inspect Errors Note: Do not make your application publicly available with customErrors set to Off as the error message may expose sensitive information to users.

All exceptions originating from within a domain service are sent to the Silverlight client with an error status code of 200. All exceptions thrown at the WCF layer or lower are sent to the Silverlight client with a status code of 404. You can run the Fiddler HTTP debugger to see the actual error. Browse to the Domain Service Directly Directly browsing to the .svc file for your domain service is often a helpful step to see whether the WCF service is available. However, determining the path to the .svc file is not simple because the .svc does not exist in your solution. You can browse directly to the domain service in a Web browser by using the following pattern: http://[host]/[modified class name for domain service].svc You determine the modified class name by using the fully qualified class name and substituting a dash (‐) for every period . So a domain service that is named: ExampleApplication.Web.CustomerDomainService has a .svc file named: ExampleApplication‐Web‐CustomerDomainService.svc If this file is hosted on localhost, you browse directly to the file by navigating to: http://localhost/ExampleApplication‐Web‐CustomerDomainService.svc

Silverlight Application Deployment 9 If the service is available, you will see a Web page with information about services and how to test a service. If the service is not available, you will see an error page that may have information which will help you determine the problem. If you receive an error, the exception probably originated at the RIA Services Service Host layer. Override the Domain Service OnError Method When an unrecoverable error occurs during the processing of a DomainService operation, the OnError method is called. You can override this method to inspect errors before they are sent to client.

Use Traditional WCF Tracing Techniques You troubleshoot exceptions at the WCF layer just like you would troubleshoot any WCF service. For more information about diagnostic tracing for WCF services, see Tracing. An exception that originates at the WCF layer will not show up in Fiddler. You can troubleshoot a service exception by attempting to browse to the .svc file. If you can browse to the .svc file without an error, but the service fails at run time, then the exception may originate at the WCF layer. Check ASP.NET and IIS Settings For exceptions thrown at the ASP.NET and IIS layers, information from your RIA Services application is not included in the stack. You may see exceptions at this level for situations such as:  The Web.config file does not have the correct HttpModule element for the version of IIS you are using.

 WCF is not activated on your Web server.

Silverlight Application Deployment 10 Confirm That the .NET Framework 4 is Installed on the Web Server The .NET Framework 4 must be installed on the Web server for a RIA Services application to work. For more information, see Installing the .NET Framework (http://go.microsoft.com/fwlink/?LinkID=184895). Installing the .NET Framework .NET Framework 4 Other Versions 85 out of 122 rated this helpful ‐ Rate this topic Updated: March 2011 The .NET Framework version 4 redistributable packages are available in two profiles: Full Profile and Client Profile. To choose the proper profile, see .NET Framework Client Profile. Both profiles provide two types of packages for redistribution:  Stand‐alone executable packages, which contain the required components for deployment, but do not contain language packs.

 Web bootstrapper packages, which download the required components and appropriate language pack from the Web. This topic provides information about these packages, language packs, and installation requirements. It contains the following sections:  Stand‐Alone Redistributable Packages  Web Bootstrapper Packages

Silverlight Application Deployment 11  Installation Requirements  Stand‐Alone Language Packs  Supported Languages Applications and controls written for the .NET Framework require the .NET Framework to be installed on the computer where the application or control runs. For step‐by‐step instructions for deploying the .NET Framework 4 and its system dependencies across a network, see .NET Framework Deployment Guide for Administrators. For information about deploying the .NET Framework 4 with an application, see .NET Framework Deployment Guide for Developers.

Note You must have administrator privileges to install the .NET Framework 4. Stand‐Alone Redistributable Packages The stand‐alone executable packages contain all the components that are required to install the .NET Framework 4 on the specified target platforms. However, these executables do not contain language packs. You can use the stand‐alone language packs to install language support. The following table lists the stand‐alone redistributable packages for each profile and platform. Stand‐alone package EXE name Profile Target platforms .NET Framework 4 for x86 and x64 dotNetFx40_Full_x86_x64.exe Full x86 and x64 .NET Framework 4 for x86 and IA‐64 dotNetFx40_Full_x86_ia64.exe Full x86 and IA‐64 .NET Framework 4 for x86 dotNetFx40_Full_x86.exe Full x86 only .NET Framework 4 Client Profile for x86 and x64 dotNetFx40_Client_x86_x64.exe Client x86 and x64

Silverlight Application Deployment 12 .NET Framework 4 Client Profile for x86 dotNetFx40_Client_x86.exe Client x86 only The dotNetFx40_Full_x86_64.exe and dotNetFx40_Client_x86_64.exe packages are designed for both x86 and x64 computers. These are the recommended packages for most installation or deployment scenarios. However, these packages do not support IA‐64‐based computers. Use the dotNetFx40_Full_x86.exe or dotNetFx40_Client_x86.exe package if you plan to install the .NET Framework 4 only on x86 computers. Do not use these packages for installation on 64‐bit operating systems. (The Client Profile package is not available for redistribution on IA‐64‐based computers.) Web Bootstrapper Packages The Web bootstrapper packages are Web‐based installers that simplify the installation process. These lightweight files download the required components from the Web during setup. Each package requires an Internet connection and detects, downloads, and installs required components and the language pack that matches the language of the user’s operating system. You can use the stand‐alone language packs to install additional language support.

The following table lists the Web bootstrapper packages for each profile. Bootstrapper package EXE name Profile Target platforms .NET Framework 4 dotNetFx40_Full_setup.exe Full All CPUs .NET Framework 4 Client Profile dotNetFx40_Client_setup.exe Client x86 and x64 Using the Web bootstrapper, you can manually launch and install the redistributable package on a computer. The redistributable can also be launched and installed as part of the setup program for a .NET Framework 4 application. Installation Requirements The following is a summary of the software and hardware requirements for installing the .NET Framework 4. For a detailed description of the requirements, see .NET Framework System Requirements.

Software Requirements

Silverlight Application Deployment 13 To install the .NET Framework 4, one of the following operating systems must be installed on the target computer:  Windows 7 family.  Windows Server 2008 R2 family.  Windows Vista family.  Windows Server 2008 family.  Windows XP Home or Microsoft Windows XP Professional, both with Service Pack 3 or later.  Windows 2003 family with Service Pack 2 or later. For Windows Server 2003, you must also install Windows Imaging Component (WIC) on the target computer:  32‐bit Windows Imaging Component  64‐bit Windows Imaging Component Hardware Requirements Requirement Recommended minimum CPU Pentium 1 GHz or higher RAM 512 MB or more Disk space for Client Profile 32‐bit system: 600 MB 64‐bit system: 1.5 GB Disk space for Full Profile 32‐bit system: 850 MB 64‐bit system: 2 GB Stand‐Alone Language Packs

Silverlight Application Deployment 14 The following table provides a list of stand‐alone language pack executable files that contain the localized resources for the specified target platforms. These executables do not contain the language‐ neutral binaries that are required to install the .NET Framework 4 language packs. culture specifies a supported language. Package Name Profile Target platforms dotNetFx40LP_Full_x86_x64.exe Full x86 and x64 dotNetFx40LP_Full_x86_ia64.exe Full x86 and IA‐64 dotNetFx40LP_Full_x86.exe Full x86 only dotNetFx40LP_Client_x86_x64.exe Client x86 and x64 dotNetFx40LP_Client_x86.exe Client x86 only Note The Client Profile language packs are not available for IA‐64‐based computers. Some examples of these packages are dotNetFx40LP_Full_x86_x64de.exe (for the German ‐ Germany culture) and dotNetFx40LP_Full_x86_x64ja.exe (for the Japanese culture). Supported Languages Concepts .NET Framework Deployment Guide for Developers .NET Framework Deployment Guide for Administrators Change History Date History Reason

Silverlight Application Deployment 15 March 2011 Added a link to the .NET Framework 4 update. Information enhancement.

Silverlight Application Deployment 16 Confirm that IIS is installed on the Web Server The Internet Information Server (IIS) 6 or 7 must be installed on the Web server for a RIA Services application to work. For more information, see IIS 7 Installation and Deployment (http://go.microsoft.com/fwlink/?LinkId=210171) and Installing IIS 6.0(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/ IIS/750d3137‐462c‐ 491d‐b6c7‐5f370d7f26cd.mspx?mfr=true). IIS 7 Installation and Deployment 35 out of 48 rated this helpful - Rate this topic Updated: October 19, 2009 Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista This topic contains links to information and resources that will help you install and deploy Internet Information Services (IIS) 7. IIS 7 refers to the versions of IIS that are included in some editions of Windows Server® 2008, Windows Server® 2008 R2, Windows Vista®, and Windows® 7. IIS requires a Windows operating system to install, and the version of IIS available depends on the operating system that you are using. Not all IIS features and extensions are supported on all operating systems. IIS 7.0 is the Web Server (IIS) role in Windows Server 2008, and the Web server in Windows Vista. IIS 7.5 is the Web Server (IIS) role in Windows Server 2008 R2, and the Web server in Windows 7. Using the Web Platform Installer You can use the Web Platform Installer (Web PI) to easily install IIS and applications that run on IIS. The Web PI is a free, lightweight tool that lets you install IIS and related technologies such as ASP.NET, SQL Server Express, Visual Web Developer, other popular Web applications. Because the Web PI installs the latest versions of available Web Platform offerings, with just a few simple clicks you can download and install any new tools or updates. To learn more about the Web PI, see Web Platform Installer. Installing IIS 7

Silverlight Application Deployment 17 Available Role Services in IIS 7.0 Learn about which features of IIS 7.0 are available in the different editions of Windows Server 2008 and Windows Vista. Available Web Server (IIS) Role Services in IIS 7.5 Learn about which features of IIS 7.5 are available in the different editions of Windows Server 2008 R2 and Windows 7. Installing IIS 7.0 on Windows Server 2008 View information about how to install IIS 7.0 on Windows Server 2008, including Server Core. Installing IIS 7.5 on Windows Server 2008 R2 View information about how to install IIS 7.5 on Windows Server 2008 R2, including Server Core.

Installing IIS 7.0 on Windows Vista Business or Vista Ultimate View information about how to install IIS 7.0 on Windows Vista Business or Ultimate. Installing IIS 7.5 on Windows 7 Professional, Enterprise, or Ultimate View information about how to install IIS 7.5 on Windows 7 Professional, Enterprise, or Ultimate. Installing IIS 7.0 on Windows Vista Home Premium View information about how to install IIS 7.0 on Windows Vista Home Premium. Installing IIS 7.5 on Windows 7 Home Premium, Home Basic, or Home Starter View information about how to install IIS 7.5 on Windows 7 Premuim, Home Basic, or Home Starter.

Deploying IIS 7 IIS 7 Deployment Guide View the IIS Deployment Guide, which contains task-based and scenario-based guidance that will help you design an IIS 7 solution. Web Deployment Tool Get information about the Web Deployment Tool that simplifies deployment, management, and migration of Web applications, sites, and servers. Web Site Deployment Made Easy Describes how the new configuration system in IIS 7 has simplified the deployment of IIS.NET: Web Deployment Tool View the Web Deployment Tool documentation on IIS.net.

Silverlight Application Deployment 18 Web sites. Installing IIS (IIS 6.0) This topic describes 3 methods for installing IIS: • Using the Configure Your Server Wizard. • Using Add or Remove Programs from Control Panel. • Using unattended setup. This topic also lists the directories created on install, describes the IIS initial configuration backup, and briefly describes IIS optional components. Important To help minimize the attack surface of the server, IIS 6.0 is not installed on Windows Server 2003 by default. When you first install IIS 6.0, it is locked down — which means that only request handling for static Web pages is enabled, and only the World Wide Web Publishing Service (WWW service) is installed. None of the features that sit on top of IIS are turned on, including ASP, ASP.NET, CGI scripting, FrontPage® 2002 Server Extensions from Microsoft, and WebDAV publishing. If you do not enable these features, IIS returns a 404 error. You can enable these features through the Web Services Extensions node in IIS Manager. For more information about how to troubleshoot 404 errors and other issues, see Troubleshooting in IIS 6.0.

Microsoft strongly recommends installing IIS on an NTFS‐formatted drive. NTFS is a more powerful and secure file system than FAT and FAT32. For more information, see Securing Files with NTFS Permissions. Important You must be a member of the Administrators group on the local computer to perform the following procedure or procedures. As a security best practice, log on to your computer by using an account that is not in the Administrators group, and then use the runas command to run IIS Manager as an administrator. At a command prompt, type runas /user:Administrative_AccountName "mmc systemroot\system32\inetsrv\iis.msc".

Procedures

Silverlight Application Deployment 19 To install IIS using the Configure Your Server Wizard 1. From the Start menu, click Manage Your Server. 2. Under Managing Your Server Roles, click Add or remove a role. 3. Read the preliminary steps in the Configure Your Server Wizard and click Next. 4. Under Server Role, click Application server (IIS, ASP.NET) and then click Next. By default, the wizard installs and enables IIS, COM+, and DTC. 5. If you want to serve either of the optional technologies (FrontPage Server Extensions or ASP.NET), on the Application Server Options page, select the appropriate check boxes, and then click Next. 6. Read the summary and click Next.

7. Complete the wizard, and then click Finish. Note The Configure Your Server Wizard enables ASP.NET by default, unlike the Add/Remove Windows components install method below. For more information on the Configure Your Server Wizard, see "Configuring Your Server Wizard" in Windows Help. To install IIS, add components, or remove components using Control Panel 1. From the Start menu, click Control Panel. 2. Double‐click Add or Remove Programs. 3. Click Add/Remove Windows Components. 4. In the Components list box, click Application Server. 5. Click Details.

6. Click Internet Information Services Manager. 7. Click Details to view the list of IIS optional components. For a detailed description of IIS optional components, see "Optional Components" in this topic. 8. Select all optional components you wish to install. Note

Silverlight Application Deployment 20 The World Wide Web PublishingService optional component includes important subcomponents like the Active Server Pages component and Remote Administration (HTML). To view and select these subcomponents, click World Wide Web Publishing Service and then click Details. 1. Click OK until you are returned to the Windows Component Wizard. 2. Click Next and complete the Windows Component Wizard. Top of page Unattended Setup To simplify the process of setting up IIS on multiple computers running a member of the Windows Server 2003 family, you can run setup unattended. To do this, create and use an answer file, which is a customized script that automatically answers the setup questions.

For information on how to create an answer file and to view a table of all IIS unattended setup parameters, see Appendix E: Unattended Setup. Top of page IIS Directories IIS installs the following directories: • \InetPub • systemroot\Help\IISHelp • systemroot\System32\InetSrv • systemroot\System32\InetSrv\MetaBack These directories contain user content and cannot be moved. You can, however, select the location of your Wwwroot and Ftproot directories at installation by using a script during unattended setup. If you uninstall IIS, the IISHelp directory is removed. The InetPub and InetSrv directories remain on your computer.

Top of page IIS Initial Configuration Backup When you first install IIS, a backup of the initial metabase configuration is automatically created in the systemroot\System32\InetSrv\MetaBack directory. This backup can be used to restore the IIS configuration to its state immediately following IIS installation. This is a useful tool for solving metabase

Silverlight Application Deployment 21 corruption or configuration problems, and can help you recover a known good configuration without needing to reinstall IIS. This backup is not password protected, and can only be used to restore settings on the system on which it was created. See Backing Up and Restoring the Metabase in IIS 6.0 for information about restoring the initial IIS configuration backup. It is strongly recommended that following IIS installation, and before any configuration changes are made, you create a password‐protected backup of the IIS configuration. Unlike the automatic initial configuration backup, a password‐protected backup is system independent, and can be used to restore settings on other systems running IIS 6.0. See Backing Up and Restoring the Metabase in IIS 6.0 for information about creating a password‐protected backup of the IIS configuration. Top of page Optional Components IIS includes optional components that you can enable or disable at anytime through the Add or Remove Programs item in Control Panel, or using unattended setup. Descriptions of these components and the impact to your current IIS settings are described below.

Files for Active Server Pages (ASP), Internet Data Connector, server‐side includes, and WebDav are installed, but disabled by default on a clean installation. All IIS functionality is enabled by default on an upgrade. When one of these components is selected or cleared from the Windows Components Wizard or by using an unattended file, the component is enabled or disabled in the WebSvcExtRestrictionList Metabase Property. Top of page BITS Server Extensions The Background Intelligent Transfer Service (BITS) is a background file transfer mechanism and queue manager, also known as a drizzle service. BITS throttles file requests to minimize bandwidth consumption and enhance the end‐user experience. Enable BITS with IIS to maintain Web server quality of service. From the Windows Components Wizard, click Details to enable the following BITS Server components: • BITS Server Extensions ISAPI: Enable this option to drizzle IIS requests with the help of the BITS server.

• BITS Server Extensions Snap‐in: Enabling this option to access and view the BITS graphical user interface (GUI). Top of page Common Files

Silverlight Application Deployment 22 For the sake of added security in your server environment, you may choose to deselect some of the common files. However, if you deselect the Common Files option, all of the common files are subsequently deselected and IIS will not be installed on your machine. Therefore, if you want to install IIS on your computer, leave this option selected. If you want to limit the services and components installed with IIS, deselect the individual components that are listed below the Common Files component.

Top of page File Transfer Protocol (FTP) Server The File Transfer Protocol (FTP) is used to copy files to and from remote computer systems on a network that uses Transmission Control Protocol/Internet Protocol (TCP/IP). Top of page FrontPage 2002 Server Extensions FrontPage 2002 Server Extensions allow you to view and manage a Web site in a graphical user interface using FrontPage as the authoring environment. FrontPage allows you to quickly create Web sites on your server, as well as, create, edit, and post Web pages to IIS remotely. While you are creating your site, FrontPage keeps a connection open to IIS, saving and changing the Web files so you can view your site. If you choose not to install the FrontPage Server Extensions, you will have to manually copy all of your Web content, configure your settings, and in some cases, manually register applications already registered in FrontPage. Microsoft FrontPage Server Extensions are not supported for resources in Microsoft Clustering.

Top of page Internet Information Services Manager IIS Manager is a graphical user interface to administer your Web site. In previous releases of IIS, this tool was called the Internet Service Manager. Without IIS Manager, you can still manage your server, but you must use coded scripts that call on the IIS APIs to create sites, applications, virtual directories, and security settings. Top of page NNTP Service Use Network News Transfer Protocol (NNTP) to distribute network news messages to NNTP servers and to NNTP clients (news readers) on the Internet. NNTP provides for the distribution, inquiry, retrieval, and posting of news articles by using a reliable stream‐based transmission of news on the Internet.

Silverlight Application Deployment 23 NNTP is designed so that news articles are stored on a server in a central database, thus users can select specific items to read. Indexing, cross‐referencing, and expiration of aged messages are also provided. If you have NNTP installed, you can view Microsoft News (NNTP) Service Help by typing file:\\%systemroot%\help\news.chm in your browser address bar and pressing ENTER. Top of page SMTP Service Use Simple Mail Transfer Protocol (SMTP) to set up intranet mail services that work in conjunction with IIS. SMTP is a TCP/IP protocol for sending messages from one computer to another on a network. This protocol is used on the Internet to route e‐mail.

If you have SMTP installed, you can view Microsoft Mail (SMTP) Service Help by typing file:\\%systemroot%\help\mail.chm in your browser address bar and pressing ENTER. Top of page World Wide Web Publishing Service IIS serves pages to the Internet and the World Wide Web. This component must be installed for IIS to perform its primary service. If you do not select this option, you disable IIS. The World Wide Web Publishing Service (WWW service) includes the following subcomponents: • About ASP: Select to enable ASP on your server. If this option is not selected, all .asp requests return a 404 error.

• Internet Data Connector: Select to enable Internet Data Connector on your server. If this option is not selected, all .idc requests return a 404 error. • Administering Servers Remotely in IIS 6.0: Select to enable remote Web administration of your IIS Web server from any Web browser on your intranet. Once you install IIS and view your Web sites through IIS Manager, IIS creates a site called Administration. • Remote Desktop Web Connection: Select to enable connectivity to a computer's desktop from a remote location and run applications as if you were sitting at the console. • Using Server‐Side Include Directives: Select to enable server‐side include files on your server. If this option is not selected, all .shtm, .shtml, and .stm requests return a 404 error. • Web Authoring with WebDAV: Select to allow Web Distributed Authoring and Versioning (WebDAV) on your server. WebDAV is similar to File Transfer Protocol, with the exception being that WebDAV

Silverlight Application Deployment 24 allows any WebDAV client to publish and change content in a WebDAV directory using HTTP. • Web Site Administration: Select to install the World Wide Web Publishing Service. If this option is not selected, IIS does not run on your server. Top of page Related Information • For information about unattended setup, see "Planning for Unattended Setup" in Windows Help.

Silverlight Application Deployment 25 Install RIA Services on the Web Server The RIA Services assemblies must be available on the Web server. It is recommended that RIA Services be installed on the Web server that will host your application. If this is not an option, due to lack of permissions or some other issue, you can also make them available on the Web server by either including them in the bin folder of your project when it is published or by installing them in the global assembly cache (GAC). Bin Deployment When deploying your application, one option is to include the RIA Services assemblies in the bin folder of your project. To do this with in Visual Studio, you must select each of the Web project assembly references in theSolution Explorer that must be included and set the Copy Local property to True in the Properties window. The two assemblies that must always be included are System.ServiceModel.DomainServices.Server.dll System.ServiceModel.DomainServices.Hosting.dll Setting these property values to True results in the assemblies getting copied to the bin folder the next time you build the solution. When the assemblies are copied to the bin folder, they will be copied to the Web server when you publish the site.

If you are using Entity Framework to access a database, then you will also need to add a reference to the System.ServiceModel.DomainServices.EntityFramework.dll assembly. If you are using LINQ to SQL to access data, then you will need to add a reference to the Microsoft.ServiceModel.DomainServices.LinqToSql.dll assembly. GAC Deployment Instead of copying the RIA Services assemblies in the Bin folder of every project that uses them, you can install the assemblies in the GAC. Any assemblies in the GAC are available to every application on the server. This approach is easier to maintain because an assembly only needs to be updated in the GAC instead of every Bin folder.

To install the RIA Services assemblies in the GAC on a Web server, run the following command: msiexec /i RiaServices.msi SERVER=TRUE

Silverlight Application Deployment 26 Configure the Web Server The deployment of a RIA Services application on a Web server requires that its Web.config files contain properly configured elements and attributes. The Web.config file manages the configuration of the ASP.NET application and is created automatically when you choose to host a Silverlight application with an ASP.NET Web project on the New Silverlight Application wizard. This Web.config file initially only specifies that the target framework is .NET Framework 4.0 in the element. The actual values needed for deployment are set in the Web.config file by default when you add a service domain to the Web project of a RIA Services application using the Add New Domain Service Class wizard. There are several sections of the Web.config file that are critical to deployment. These are the sections that configure the ASP.NET hosting mode, IIS, and the authentication mode. This section discusses the values of the configuration elements in these sections needed to deploy a RIA Services application. The wizard sets these values by default, but they could be altered by various procedures before attempting to publish. So it is useful to know the correct values and to confirm that they are set as expected. The section also describes several procedures that use the Internet Information Service (IIS) Wizard to insure that IIS is configured consistently with the values specified in the Web.config file. RIA Services domain services are Windows Communication Foundation (WCF) services and when hosted with ASP.NET need to be hosted in ASP.NET Compatibility Mode. This requirement cannot be set in code and must be specified in the Web.config file. The ASP.NET Compatibility Mode is enabled by setting the aspNetCompatibilityEnabled property to true in the element of the section: The true value is set by default. The compatibility mode enables a domain WCF service to use all of the features of the ASP.NET Web application platform. Setting the multipleSiteBindingsEnabled attribute to true enables multiple IIS bindings per site for a service with the HTTP protocol. For more information about the consequences of enabling these features, see WCF Services and ASP.NET (http://go.microsoft.com/fwlink/?LinkId=210198). Caution: WCF services have many hosting options other than IIS. They can be self‐hosted in a managed application, hosted in a managed Windows Service or by the Windows Process Activation Service (WAS). So WCF services must opt into ASP.NET Compatibility Mode. But RIA Services domain services can only be IIS hosted and so are restricted to the use of the HTTP transport.

Silverlight Application Deployment 27 The Add New Domain Service Class wizard adds an element of the element within the system.web section that is required by IIS 6. Confirm that the .NET Framework 4.0 has been targeted in the element of this section and that the domain service module has been added with the following values: The Add New Domain Service Class wizard adds a element in the section that is required by IIS 7. Confirm that it contains the following values: Tip: You only need to retain the configuration elements needed for the version of IIS that is being used to deploy the application. If you are deploying with IIS7, for example, the elements configuring IIS6 should be removed. But no harm is done if both sets of hosting elements are retained. (But it has been reported that removing the IIS 6 configuration elements can break the developer "Cassini" environment.) Only one authentication schema can be enabled when working with a RIA Services solution. The element in the Web.config file configures the ASP.NET authentication scheme for an ASP.NET application. The authentication scheme determines how to identify users who want to view the ASP.NET application. The mode attribute specifies the authentication scheme. Check the element of your Web.config file and other configuration files in the hierarchy to

Silverlight Application Deployment 28 ensure that more than one schema (Windows, Forms, Passport, None) is not enabled. The section is not explicitly created by default when creating a domain service for a RIA Services application. The default value used when the element is not explicitly specified is . After the Web application is published, we need to check that IIS has only Windows authentication enabled (if you are using that option), and this procedure is described below. For more information on Web.config settings, see ASP.NET Configuration (http://go.microsoft.com/fwlink/?LinkId=210201).

Silverlight Application Deployment 29 ASP.NET Configuration .NET Framework 1.1 66 out of 190 rated this helpful ‐ Rate this topic The ASP.NET configuration system features an extensible infrastructure that enables you to define configuration settings at the time your ASP.NET applications are first deployed so that you can add or revise configuration settings at any time with minimal impact on operational Web applications and servers. The ASP.NET configuration system provides the following benefits:  Configuration information is stored in XML‐based text files. You can use any standard text editor or XML parser to create and edit ASP.NET configuration files.

 Multiple configuration files, all named Web.config, can appear in multiple directories on an ASP.NET Web application server. Each Web.config file applies configuration settings to its own directory and all child directories below it. Configuration files in child directories can supply configuration information in addition to that inherited from parent directories, and the child directory configuration settings can override or modify settings defined in parent directories. The root configuration file named systemroot\Microsoft.NET\Framework\versionNumber\CONFIG\Machine.config provides ASP.NET configuration settings for the entire Web server.  At run time, ASP.NET uses the configuration information provided by the Web.config files in a hierarchical virtual directory structure to compute a collection of configuration settings for each unique URL resource. The resulting configuration settings are then cached for all subsequent requests to a resource. Note that inheritance is defined by the incoming request path (the URL), not the file system paths to the resources on disk (the physical paths).  ASP.NET detects changes to configuration files and automatically applies new configuration settings to Web resources affected by the changes. The server does not have to be rebooted for the changes to take effect. Hierarchical configuration settings are automatically recalculated and recached whenever a configuration file in the hierarchy is changed. The section is an exception.

 The ASP.NET configuration system is extensible. You can define new configuration parameters and write configuration section handlers to process them.

Silverlight Application Deployment 30  ASP.NET help protect configuration files from outside access by configuring Internet Information Services (IIS) to prevent direct browser access to configuration files. HTTP access error 403 (forbidden) is returned to any browser attempting to request a configuration file directly. In This Section Format of ASP.NET Configuration Files Explains how ASP.NET configuration files are organized. Hierarchical Configuration Architecture Explains configuration setting inheritance. Accessing ASP.NET Configuration Settings Explains how to programmatically read configuration settings. Creating New Configuration Sections Explains how to add custom configuration sections. Related Sections Configuring Applications Explains how to use the configuration system to control your applications. ASP.NET Settings Schema Presents the members of the ASP.NET configuration system. System.Web.Configuration Namespace Documents the classes contained in the System.Web.Configuration namespace.

Silverlight Application Deployment 31 Deploy the RIA Application Publish the Web Application on IIS Open your application in Visual Studio 2010. You need administrator privileges to publish, so be sure to right‐click on Visual Studio 2010 in the Start menu and select Run as Administrator when you open the application. Select the Web project in the Solution Explorer, right‐click and select Publish. Choose Web Deploy as the Publish method, specify localhost (if publishing locally, or the remote server name if publishing remotely) as the Service URL, and specify Default Web Site (again if the server is local) as the Site in the Site/application box and the name of you application as the application in the box. For example, to publish a RIA Services application named RIAApp1 locally, you would enter Default Web Site/RIAApp1.

Check the Mark as IIS application on destination and Leave extra files on destination (do not delete) boxes. Click on the Publish button. Open the Internet Information Services (IIS) Manager, navigate to the Web application just published in the Default Web Site list contained in the Connections pane and select the Content View tab near the bottom of the Window. To open a test page for your site, select the ASP.NET Server Page, right‐click and select Browse. Tip: If you have bin‐deployed the assemblies needed by RIA Services applications, then they can be found in the bin file folder in the IIS Manager. This folder will also contain the assembly for the Web application.

Caution: If the application fails to appear on the test page, then there are issues with either ASP.NET or Silverlight. For additional information on Silverlight deployment, see Deployment and Localization(http://go.microsoft.com/fwlink/?LinkId=210217).

Silverlight Application Deployment 32

Silverlight Application Deployment 33 Deployment and Localization Silverlight 1 out of 4 rated this helpful ‐ Rate this topic Deployment in Silverlight involves the following subjects:  Application structure.  Application hosting.  Application localization and globalization.  Enterprise deployments. Application Structure The structure of your application determines the files and resources that you will deploy to your server. These components vary depending on your application's complexity and resource usage patterns. For example, your application might be entirely self‐contained within a single application package file. Alternately, it might use a variety of separate resources, such as data or media files, deep‐zoom image collections, or Web services.

For more information, see Application Structure and Resource Files. Application Hosting Application hosting requires configuration settings on the host Web server and within the host Web page. The only server requirement is to associate the .xap file name extension with the MIME type "application/x‐silverlight‐app". (For IIS 7.0, this value is pre‐configured.) To host a Silverlight‐based application within a Web page, you embed the Silverlight plug‐in and specify configuration settings that depend on your preferred embedding technique.

For more information, see Integrating Silverlight with a Web Page. Application Localization and Globalization

Silverlight Application Deployment 34 When you create a localized application, you also create one or more satellite assemblies that contain resources localized for specific cultures and locales. You can deploy all satellite assemblies within a single application package, or create application packages that target one or more cultures and provide logic on the server that downloads the appropriate package to each user. For more information, see Localizing Silverlight‐based Applications. Globalization is closely related to localization. It involves designing and developing applications that support localized user interfaces and regional data for users in multiple cultures. A globally aware application, for example, presents data using the symbols (such as currency or decimal symbols) and formats familiar to a user in a particular culture.

For more information, see Creating Globally Aware Applications. Enterprise Deployments System administrators can deploy Silverlight‐based applications to multiple computers on a network. However, this subject is outside the scope of the Silverlight developer documentation. For more information, see one of the following documents:  Silverlight Deployment Guide  Security Guidance for Writing and Deploying Silverlight Applications

Silverlight Application Deployment 35 Specify the Authentication Mode in IIS Manager Select you Web application in the Connections pane of IIS Manager. Double‐click on Authentication in the IIS group in the Features View. Make sure that Windows Authentication (or whatever mode of authentication you have chosen to employ) is enabled. IIS only supports Anonymous Authentication by default, so this procedure is typically required to change this. ASP.NET allows multiple modes of authentication to be enabled and the IIS Manager allows such settings. RIA Services allows Forms Authentication to be used in adjunct with Anonymous Authentication (so people can access the login page), but it only allows Windows Authentication by itself. Right‐click on any of theNames and select Enable or Disable as required to limit the authentication enabled to one mode.

Caution: If you do not see the Windows Authentication or other modes besides Anonymous Authentication, then you need to install missing components of IIS. For more information on these prodedures, see IIS 7 Installation and Deployment (http://go.microsoft.com/fwlink/?LinkId=210171). I hope these instructions help get the deployment job for most of you.

Silverlight Application Deployment 36 IIS 7 Installation and Deployment 35 out of 48 rated this helpful - Rate this topic Updated: October 19, 2009 Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista This topic contains links to information and resources that will help you install and deploy Internet Information Services (IIS) 7. IIS 7 refers to the versions of IIS that are included in some editions of Windows Server® 2008, Windows Server® 2008 R2, Windows Vista®, and Windows® 7. IIS requires a Windows operating system to install, and the version of IIS available depends on the operating system that you are using. Not all IIS features and extensions are supported on all operating systems. IIS 7.0 is the Web Server (IIS) role in Windows Server 2008, and the Web server in Windows Vista. IIS 7.5 is the Web Server (IIS) role in Windows Server 2008 R2, and the Web server in Windows 7. Using the Web Platform Installer You can use the Web Platform Installer (Web PI) to easily install IIS and applications that run on IIS. The Web PI is a free, lightweight tool that lets you install IIS and related technologies such as ASP.NET, SQL Server Express, Visual Web Developer, other popular Web applications. Because the Web PI installs the latest versions of available Web Platform offerings, with just a few simple clicks you can download and install any new tools or updates. To learn more about the Web PI, see Web Platform Installer. Installing IIS 7 Available Role Services in IIS 7.0 Learn about which features of IIS 7.0 are available in the different editions of Windows Server 2008 and Windows Vista.

Available Web Server (IIS) Role Services in IIS 7.5 Learn about which features of IIS 7.5 are available in the different editions of Windows Server 2008 R2 and Windows 7. Installing IIS 7.0 on Windows Server 2008 Installing IIS 7.5 on Windows Server 2008 R2

Silverlight Application Deployment 37 View information about how to install IIS 7.0 on Windows Server 2008, including Server Core. View information about how to install IIS 7.5 on Windows Server 2008 R2, including Server Core. Installing IIS 7.0 on Windows Vista Business or Vista Ultimate View information about how to install IIS 7.0 on Windows Vista Business or Ultimate. Installing IIS 7.5 on Windows 7 Professional, Enterprise, or Ultimate View information about how to install IIS 7.5 on Windows 7 Professional, Enterprise, or Ultimate.

Installing IIS 7.0 on Windows Vista Home Premium View information about how to install IIS 7.0 on Windows Vista Home Premium. Installing IIS 7.5 on Windows 7 Home Premium, Home Basic, or Home Starter View information about how to install IIS 7.5 on Windows 7 Premuim, Home Basic, or Home Starter. Deploying IIS 7 IIS 7 Deployment Guide View the IIS Deployment Guide, which contains task-based and scenario-based guidance that will help you design an IIS 7 solution. Web Deployment Tool Get information about the Web Deployment Tool that simplifies deployment, management, and migration of Web applications, sites, and servers. Web Site Deployment Made Easy Describes how the new configuration system in IIS 7 has simplified the deployment of Web sites.

IIS.NET: Web Deployment Tool View the Web Deployment Tool documentation on IIS.net.