This guide will give you the information necessary to plan and implement the effective deployment of your .NET Framework-based applications. If your organization is developing .NET Framework-based applications, you face the challenge of deploying those applications efficiently and reliably throughout your environment.
What this guide covers:
Patterns & Practices
Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
Copyright © 2003 Microsoft Corporation.
All rights reserved.
Microsoft, Active Directory, ActiveX, Authenticode, FrontPage, SQL Server, Visual Basic, Visual C++, Visual SourceSafe, Visual Studio, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Paul Slater (Lead Technical Author) - Wadeware LLC, Robert Hill (Lead Technical Contributor) - Implement.com, Jason Hogg (Program Manager) - Microsoft Corporation
Many thanks to the following advisors who provided invaluable assistance:
Steve Hoag, Mike Wade, Dave Templin, David Guyer, Sean Draine, Jamie Cool, Greg Singleton, Dennis Angeline, Rishi Rana, Julio Castillo, Erich Pleny, David Blair (Metratech), Erik Olsen, David Fleischman, Duncan Mackenzie, Arash Ghanaie-Sichanie, Robert McIntyre, Chris Flaat, Chad Royal, Izzy Gryko, Mark Boulter, Sebastian Lange, Steven Pratschner, Jay Allen, Kenny Jones, Michael Stuart, Mike Kass, Pete Coupland (VMC Consulting Corporation), Riyaz Pishori, Sonja Keserovic, Sushil Chordia, Jeff Kercher, RoAnn Corbisier, Chris Sfanos, Andrew Mason, Edward Jezierski, Ron Jacobs, J.D. Meier, Claudette Iebbiano (CI Design Studio), Ryan Plant (Jet Blue)
Chapter 1: Introduction
Welcome to Deploying .NET Framework-based Applications. With the introduction of the .NET Framework, Microsoft created a new environment for developing applications. If your organization is developing .NET-Framework based applications, you face the challenge of deploying those applications efficiently and reliably throughout your environment. If you are experienced in the area of deployment, some of the challenges will be familiar. However, there are a number of new technologies in .NET Framework - based applications, and therefore several considerations that are unique to deploying them. This guide will give you the information necessary to plan and implement the effective deployment of your Framework-based applications. Should you have any questions, comments, or suggestions on this material you can send feedback to: <email@example.com>.
In this guide we will generally refer to .NET Framework-based applications as Framework Applications.
Who Should Read This Guide
This guide is targeted at people within an organization responsible for deploying Framework applications. In some organizations those individuals will be specialists, but in many others, application deployment will form part of a larger role in either infrastructure or application development. As application deployment spans these two areas, we have made no significant assumptions for the prerequisite knowledge required by the reader. A developer with some infrastructure knowledge should gain benefit from this guide, as should an infrastructure professional with some knowledge of developer issues. The main focus of this guide is, of course, the deployment of applications, but where other issues (such as application design) have an impact on deployment, we discuss those issues. For example, although this guide does not discuss testing methodology, it does include recommendations for deploying applications from development computers to test environments. Similarly, this guide also provides recommendations for deploying to staging servers as part of the release process.
This guide assumes that you are using a Windows Server 2003 server environment, and that you are deploying applications for the Framework v1.1. However, much of the information contained in this guide is also relevant to applications built on version 1.0 of the Framework.
Application deployment can occur on any scale, from single machine deployment to hundreds of thousands of computers. For this reason we have made no assumptions as to the size of organization involved, or the nature of the specific applications deployed. You should therefore read this guide if you are responsible for deploying .NET Framework-based applications of any size, with any performance or scalability requirements.