Beschreibung:
Deployment has been a thorn in most developers' sides for a long time. ClickOnce eases deployment of Smart Client applications, and thus has been one of the most eagerly awaited new features of Windows Forms 2.0. While an experienced .NET developer can learn the basics of ClickOnce in about fifteen minutes, problems arise when you start trying to apply ClickOnce in real-world applications, which invariably are more complicated than the classroom. This is the first complete guide to real-world use of ClickOnce, and gives a perfect balance of theory and practice - explaining how and why ClickOnce works the way it does, so that readers can then know how to apply and use ClickOnce in their own particular applications. Brian Noyes has become one of the most widely recognized experts on ClickOnce over the last year through his widespread writing and speaking on the topic.
Figures xv Foreword xxi Preface xxiii Acknowledgments xxxi About the Author xxxiii Chapter 1: Introduction to ClickOnce 1 What Is a Smart Client Application? 2 Why Choose Smart Clients? 6 Smart Client Deployment Challenges 7 Design Goals of ClickOnce 8 ClickOnce Features 9 Terminology 10 ClickOnce Deployment Modes 12 ClickOnce Deployment Architecture 14 ClickOnce Deployment Process Overview 16 First ClickOnce Deployment: ClickOnce Hello World 17 Software Requirements for ClickOnce 26 What to Deploy (and What Not to Deploy) with ClickOnce 28 ClickOnce Versus Other Deployment Technologies 30 Smart Client Architecture Overview 32 Where Are We? 34 Chapter 2: Initial Deployment with ClickOnce 37 Publishing an Application with Visual Studio 2005 38 ClickOnce Publishing Options 38 Visual Studio Publishing Step by Step 50 ClickOnce Application Initial Deployment Step by Step 64 Moving an Application to Production 76 Moving an Application into Production with Mage 77 Where Are We? 80 Chapter 3: Automatic Application Updates 83 Automatic Update Walkthrough 84 ClickOnce Update Options 91 Behind the Scenes on the Deployment Server 99 Behind the Scenes of an Update on the Client Machine 100 Removing or Restoring Applications on the Client 104 Restoring an Application Version from the Deployment Server 105 Republishing a Previous Version 105 Where Are We? 106 Chapter 4: On-Demand Updates 107 When Do On-Demand Updates Make Sense? 108 Introducing the ClickOnce API 109 Adding Synchronous On-Demand Updates 110 Performing Updates Asynchronously 114 Update Progress Notifications 122 Combining On-Demand Updates with Automatic Updates 123 Checking Detailed Update Information 125 Gathering Information about the Current Deployment 126 Where Are We? 128 Chapter 5: Application and Data File Management 131 Application Executable Deployment 132 Adding Application Files in Visual Studio 134 Configuring ClickOnce Application Files 135 Embedding Files in the Assembly 138 Localizing Your ClickOnce Deployment 141 Programmatic Download of Application Files 147 Deploying Extensible Plug-In Applications with ClickOnce 151 Managing Application Files with Mage 157 Managing Data Files Through Visual Studio 160 Dealing with Data Files on the Client 161 Data File Update Process 164 Deploying a Client Database with Your Application 167 Migrating SQL Compact Edition Database Files 168 Where Are We? 174 Chapter 6: ClickOnce Security 177 ClickOnce Security Overview 177 Internet Explorer Security Settings Affecting ClickOnce 188 Configuring ClickOnce Security Permissions 189 Understanding and Managing Publisher Certificates 197 Signing Application Updates 208 User Prompting 210 Trusted Applications' User Security Policies 215 Trusted Publishers' Permission Elevation 216 Adding Restricted Code Sections 219 Securing the Application Based on User Roles 221 Securing Access to ClickOnce Application Files on the Server 222 Where Are We? 223 Chapter 7: Prerequisite Deployment with the Bootstrapper 225 Bootstrapper Features 226 Bootstrapper and ClickOnce Sample Deployment 229 Adding Items to the Bootstrapper 234 Generating Bootstrapper Manifests 245 Where Are We? 248 Chapter 8: Advanced ClickOnce Topics 249 Using URL Query String Parameters 249 Executing Custom Install/Initialization Code 255 Debugging ClickOnce Applications 256 Deploying Unmanaged Applications with ClickOnce 261 Reg-Free COM 264 Deploying ClickOnce Applications with Firefox 266 Launching a ClickOnce Application Programmatically 267 Pushing ClickOnce Installations to the Client Machine 268 Web Server ClickOnce Configuration 272 MSBuild ClickOnce Publishing 273 Where Are We? 274 Appendix A: ClickOnce Deployment of WPF Applications 277 WPF Anatomy 101 278 ClickOnce Deployment of WPF Applications 280 Sample Web Browser Application Walkthrough 281 Where Are We? 284 Index 287