Microsoft® Windows® Server 2003 Deployment Kit Planning, Testing, and Piloting Deployment Projects A Resource Kit Publication Microsoft Corporation Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. © 2003 Microsoft Corporation. All rights reserved. Active Directory, ActiveX, DirectX, FrontPage, IntelliMirror, Microsoft, Microsoft Press, MS, Notepad, Outlook, SQL Server, Visio, Visual Basic, Visual Studio, Win32, Windows, Windows NT are registered trademarks of Microsoft Corporation in the USA and other countries. Microsoft may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property rights except as expressly provided in any written license agreement from Microsoft. Adobe Acrobat is a registered trademark of Adobe Systems Incorporated. IBM is a registered trademark of International Business Machines Corporation. Intel and Pentium are registered trademarks of Intel Corporation. Multimedia Flash is a registered trademark of Macromedia, Inc. NetWare is a registered trademark of the Novell Corporation. Document No. X09-46578 Printed in the United States of America. Contents at a glance INTRODUCTION ................................................................................................................ xiii CHAPTER 1 Planning for Deployment ............................................................................ 1 CHAPTER 2 Designing a Test Environment ................................................................. 31 CHAPTER 3 Planning and Testing for Application Deployment ................................ 77 CHAPTER 4 Designing a Pilot Project .......................................................................183 GLOSSARY ........................................................................................................................213 INDEX................................................................................................................................225 Contents INTRODUCTION ................................................................................................................ xiii Deployment Kit Compact Disc ................................................................................... xiv Document Conventions ............................................................................................... xv Support Policy ............................................................................................................. xix CHAPTER 1 Planning for Deployment ............................................................................ 1 Overview of the Deployment Planning Process ........................................................... 2 Choosing a Deployment Planning Framework ............................................................ 2 MSF Team Model Overview ............................................................................. 4 MSF Process Model Overview ......................................................................... 5 Defining Project Scope and Objectives ........................................................................ 6 Assessing the Current Environment ............................................................................. 7 Conducting Hardware and Software Inventories .................................................. 7 Conducting a Hardware Inventory ................................................................... 8 Conducting a Software Inventory .................................................................... 8 Determining Hardware Requirements .......................................................... 10 Assessing Your Network Infrastructure ......................................................... 11 Assessing Your IT Environment ..................................................................... 13 Creating and Testing Functional Designs .................................................................. 14 Testing and Conducting the Pilot ............................................................................... 28 Rolling Out the Deployment ........................................................................................ 28 Additional Resources .................................................................................................. 29 CHAPTER 2 Designing a Test Environment ................................................................. 31 Overview of Designing a Test Environment ............................................................... 32 Test Environment Design and Testing Process .................................................. 32 Using the Test Lab Throughout the Project Life Cycle ........................................ 34 Setting Up a Preliminary Test Lab ....................................................................... 35 vi Contents Creating a Test Plan .................................................................................................... 35 Defining Testing Scope and Objectives ............................................................... 36 Defining Testing Methodology ............................................................................. 37 Identifying Required Resources ........................................................................... 37 Identifying the Features and Functions to Test .................................................. 38 Identifying Risk Factors ........................................................................................ 39 Establishing a Testing Schedule .......................................................................... 39 Planning the Test Lab ................................................................................................. 39 Evaluating Test Lab Models ................................................................................. 41 Upgrading an Existing Test Lab vs. Building a New Test Lab ...................... 41 Ad Hoc Test Lab vs. Permanent Test Lab ..................................................... 42 Centralized Test Lab vs. Distributed Test Lab .............................................. 44 Selecting a Test Lab Location .............................................................................. 46 Designing the Test Lab ............................................................................................... 48 Gathering Information About the Current and Proposed Environments ........... 49 Documenting the Test Lab Configuration ........................................................... 49 Test Lab Description ...................................................................................... 50 Test Lab Diagrams ......................................................................................... 52 Simulating the Proposed Server Environment .................................................... 56 Simulating the Proposed Client Computer Environment .................................... 59 Designing Domains for Testing ............................................................................ 62 Developing the Test Lab ............................................................................................. 64 Assigning a Test Lab Manager ............................................................................. 65 Building the Test Lab ............................................................................................ 66 Developing Test Lab Guidelines and Procedures ............................................... 67 Developing an Escalation Plan ...................................................................... 68 Developing an Incident-Tracking System ...................................................... 69 Designing Test Cases .................................................................................................. 70 Conducting Tests ........................................................................................................ 72 Using the Test Lab After Deployment ........................................................................ 75 Additional Resources .................................................................................................. 76 CHAPTER 3 Planning and Testing for Application Deployment ................................ 77 Overview of Testing and Deploying Applications ....................................................... 78 Application Testing and Deployment Process ..................................................... 78 Application Compatibility Testing Within the Project Life Cycle ......................... 80 Contents vii Application Compatibility Fundamentals ............................................................. 81 Common Compatibility Problems .................................................................. 81 Application Compatibility Solutions ............................................................... 83 Application Compatibility Tools ...................................................................... 85 Defining Application Deployment Project Scope and Objectives ............................. 87 Generating an Application Inventory ................................................................... 89 Using the Application Compatibility Analyzer to Generate an Application Inventory ................................................................................ 90 Organizing and Analyzing Inventory Data ............................................................ 92 Defining Project Constraints and Risks ............................................................... 95 Planning for Server Application Compatibility ........................................................... 96 Inventory Considerations for Server Applications ............................................... 98 Obtaining ISV Support for Server Applications .................................................... 98 Special Considerations for Server Applications .................................................. 99 Internet Explorer Enhanced Security Configuration .........................................102 Testing Applications for Compatibility with the Enhanced Security Configuration ................................................................103 Modifying Enhanced Security Configuration Settings ................................104 Creating an Application Compatibility Test Plan .....................................................107 Defining a Test Methodology .............................................................................109 Identifying the Applications to Test ...................................................................109 Preparing for Application Testing .............................................................................111 Setting Up a Test Lab .........................................................................................113 Determining a Lab Strategy .........................................................................113 Configuring the Lab ......................................................................................114 Installing Application Testing Tools ...................................................................115 Installing Debugging Tools .................................................................................116 Gathering Application Information .....................................................................118 Developing Test Cases .......................................................................................119 Using Windows Fundamentals Test Methodology ......................................120 Using the Windows Applications Exploratory Test Methodology ...............125 Testing for and Resolving Compatibility Problems ..................................................127 Testing Applications ...........................................................................................129 Testing with Windows Application Verifier .........................................................130 viii Contents Applying and Testing Solutions with Compatibility Administrator ....................133 Strategies for Using Compatibility Administrator ........................................134 Applying and Testing Application Compatibility Fixes ................................136 Applying and Testing Compatibility Modes .................................................138 Creating Custom Compatibility Modes ........................................................140 Creating Custom Application Help Messages .............................................141 Determining the Application Compatibility Fix to Apply ..............................142 Identifying Strategies for Resolving Special Problems .....................................158 Deploying and Distributing Applications and .Sdb Files .........................................161 Reviewing Application Deployment and Distribution Tools ..............................163 Deploying Applications and .Sdb Files ...............................................................168 Deploying Applications and .Sdb Files During Unattended Installations .............................................................................169 Deploying Applications and .Sdb Files During Image-based Installations ...........................................................................172 Deploying Applications and .Sdb Files During RIS Installations ................174 Distributing Applications and .Sdb Files ............................................................176 Distributing Applications and .Sdb Files Using Group Policy Installation .........................................................................................176 Distributing Applications and .Sdb Files Using Logon Scripts ...................177 Distributing Patches and .Sdb Files Using SUS ..........................................178 Distributing Applications and .Sdb Files Using SMS ..................................179 Additional Resources ................................................................................................179 CHAPTER 4 Designing a Pilot Project .......................................................................183 Overview of Designing a Pilot Project ......................................................................184 Process for Designing a Pilot Project .................................................................184 Pilot Planning and Deployment Within the Project Cycle .................................186 Creating a Pilot Plan .................................................................................................186 Defining the Pilot Scope and Objectives ...........................................................188 Defining Pilot Objectives ..............................................................................188 Defining Pilot Scope .....................................................................................189 Defining the Pilot Group .....................................................................................190 Creating Pilot Plan Documents ..........................................................................192 Creating a Pilot Training Plan ......................................................................192 Creating a Pilot Support Plan ......................................................................193 Creating a Communication Plan ..................................................................195 Creating an Evaluation Plan ........................................................................196 Contents ix Creating a Risk and Contingency Plan ........................................................196 Creating a Backup and Recovery Plan ........................................................196 Creating a Pilot Schedule .............................................................................198 Preparing for the Pilot ...............................................................................................199 Preparing Pilot Sites ...........................................................................................201 Preparing Pilot Participants ...............................................................................202 Testing the Rollout Process ...............................................................................203 Deploying and Testing the Pilot ................................................................................204 Evaluating the Pilot ...................................................................................................208 Obtaining Feedback ...........................................................................................209 Deciding the Next Step .......................................................................................210 Preparing for Production Deployment .....................................................................211 Additional Resources ................................................................................................212 GLOSSARY .......................................................................................................................213 INDEX ...............................................................................................................................225 Acknowledgments Microsoft would like to thank the following people for their contributions: Book Lead: William Gruber Writers: Jim Bevan, Sandra Faucett, Suzanne Girardot, William Gruber, David Maguire, Joyce Nessif, Ellen Zehr Book Editor: Ann Becherer Editors: Nona Allison, Ann Becherer, Bonnie Birger, Dale Callison, Tyler Parris, Dee Teodoro, Scott Turnbull, Jen Witsoe Documentation Manager: Pilar Ackerman Writing Lead: Cheryl Jenkins Editing Leads: Laura Graham, Kate O’Leary, Scott Somohano Lab Management: Robert Thingwold, David Meyer Project Managers: Clifton Hall, Paulette McKay, Neil Orint Online Components Writing Team: Peter Costantini, Eve Gordon, Amy Groncznack, Lola Gunter, Sean Loosier, Irfan Mirza, Gary Moore, Chris Revelle, Kim Simmons, Greg Stemp, Dean Tsaltas, Kelly Vomacka Online Components Editing Team: Anika Nelson, Kate Robinson, Dee Teodoro Windows Server Resource Kit Tools Program Managers: Majdi Badarin, Clark Gilder Resource Kit Tools Software Development and Test Team: Sameer Garde, Sunil Gummalla, Venu Somineni, Kendra Yourtee, Scott Smith, John Turner Publishing Team: Barbara Arend, Jon Billow, Chris Blanton, Eric Camplin, Yong Ok Chung, Andrea DeGrazia, Julie Geren, Jason Hershey, Michael Howe, Richard Min, Cornel Moiceanu, Rochelle Parry, David Pearlstein, Mark Pengra, Steve Pyron, Ben Rangel, Lee Ross, Tony Ross, Gino Sega, Amy Shear, Karla van der Hoeven, Gabriel Varela, Ken Western, Matt Winberry Key Technical Reviewers: Linda Apsley, Jim Thatcher Technical Reviewers: Sawson Alboti, Chuck Archer, Strohm Armstrong, Chris Aschauer, Shala Brandolini, Ross Carter, Eric Deily, Cindy Du, Kelly Gachet, Paul Haynes, Raluca Hera, Mark Hervol, Deborah R. Jay, Ryan Marshall, Shawn McFarland, David Meyer, Bryce Milton, Brunda Nagalingaiah, Sundaram Narayanan, Doug Neal, Paul Pagel, Todd Phillips, Chris Reinhold, Allison Robin, Michael Sciacqua, Bill Shihara, Sharon Slade, Doug Steen, Robert Thingwold, Shawn Webb, Roland Winkler, Jill Zoeller Special thanks to Martin DelRe for his support and sponsorship. Without his contribution, the publication of this kit would not have been possible.