12 Clinic Introduction About This Clinic This section provides you with a brief description of the clinic, objectives, and target audience. Description This clinic and Hands On Lab introduces Windows developers to information on the Microsoft Windows Vista™ platform, thereby maintaining and enhancing their productivity and driving them to further study and adoption of Windows Vista as their preferred application development platform. Objectives After completing this clinic, you will be able to: • Describe the Windows Vista user interface and how the new user interface will affect developers. • Describe the characteristics of Windows Vista applications. • Describe how to test application compatibility and migrate applications to Windows Vista. • Describe what User Account Control is and how to develop applications that are User Account Control compatible. • Describe the Microsoft .NET Framework 3.0 features. • Describe how to manage digital identities with CardSpace. Clinic Introduction 13 • Create simple applications that use Windows Communication Foundation. • Create simple applications that use Windows Workflow Foundation. • Describe the Windows Presentation Foundation features. • Create applications that use Windows Sidebar and Gadgets. • Describe the new Windows Vista APIs. • Create a RSS reader application. • Create a Windows Search application. Audience The target audience for this clinic includes the following: • Developers with some experience writing applications for the Windows platform. • Developers who are familiar with .NET development (recommended but not required). 14 Clinic Introduction Prerequisites This clinic requires you to meet the following prerequisites: • Some experience writing applications for the Windows platform. • Familiarity with .NET development is beneficial. Clinic Introduction 15 Clinic Outline Session 1, “Introduction to Windows Vista Application Development,” provides an overview of the major goals and benefits related to developing applications for Windows Vista. The session focuses on the new features available in Windows Vista and an overview of the application compatibility issues for deploying existing applications that might not be Windows Vista compatible in a corporate environment. Session 2, “Introduction to Microsoft .NET Framework 3.0 Technologies,” describes the Microsoft .NET Framework 3.0 programming model. The Microsoft® .NET Framework 3.0 is the new managed code programming model for the Microsoft Windows® operating system. .NET Framework 3.0 builds on the foundation of .NET Framework 2.0 and adds new technologies such as Windows Communication Foundation, Windows Workflow Foundation, and CardSpace. Session 3, “Introducing Windows Presentation Foundation,” describes how Windows Presentation Foundation provides the foundation for building applications and high- fidelity experiences in Windows Vista, blending together application user interface, documents, and media content. 16 Clinic Introduction Session 4, “Introducing the Windows Vista APIs,” provides an overview of the enhanced and new application programming interfaces (APIs) that developers can use when creating applications for Windows Vista. This session provides more detailed information about how to use two of the APIs to develop a Really Simple Syndication (RSS) reader and to query Microsoft Windows Search. Hands-On Lab, “Microsoft Windows Vista for Developers,” gives you an opportunity to work with the new programming features in Windows Vista. In this hands-on lab, you will explore many of the Windows Vista features for developers that are discussed in the previous four sessions. Session 1: Introduction to Windows Vista Application Development Table of Contents Session Overview 1 Introduction to Windows Vista 2 Developing a Windows Vista Application 9 Developing Gadgets for the Windows Sidebar 15 Application Interoperability and Migration 29 Improving Security with User Account Control 39 Session Summary 48 Questions and Answers 49 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. The names of manufacturers, products, or URLs are provided for informational purposes only and Microsoft makes no representations and warranties, either expressed, implied, or statutory, regarding these manufacturers or the use of the products with any Microsoft technologies. The inclusion of a manufacturer or product does not imply endorsement of Microsoft of the manufacturer or product. Links are provided to third party sites. Such sites are not under the control of Microsoft and Microsoft is not responsible for the contents of any linked site or any link contained in a linked site, or any changes or updates to such sites. Microsoft is not responsible for webcasting or any other form of transmission received from any linked site. Microsoft is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement of Microsoft of the site or the products contained therein. 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. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Microsoft Press, Aero, BizTalk, ClearType, Expression, IntelliSense, Internet Explorer, MSDN, MSN, Segoe, Tahoma, Visual Basic, Visual C#, Visual Studio, Visual Web Developer, Windows, Windows Media, Windows Server, Windows Vista, and WinFX 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. Session 1: Introduction to Windows Vista Application Development 1 Session Overview Introduction The session provides an overview of the major goals and benefits related to developing applications for Microsoft® Windows Vista™ and of the application compatibility issues for deploying existing applications that may not be Windows Vista–compatible in a corporate environment. It also focuses on the new features available in Windows Vista. Objectives After completing this session, you will be able to: • Describe the Windows Vista user interface and explain how the new user interface will affect developers. • Describe the characteristics of Windows Vista applications. • Describe how to develop gadgets for the Windows Vista Sidebar. • Describe how to test application compatibility and migrate applications to Windows Vista. • Describe what User Account Control is and how to develop applications that are User Account Control–compatible. 2 Session 1: Introduction to Windows Vista Application Development Introduction to Windows Vista . Introduction Windows Vista includes several new user interface elements and features that improve the user experience. These new features provide new opportunities for developers when creating applications for Windows Vista. This section introduces some of these new features. Objectives After completing this section, you will be able to: • Describe what is new for developers in Windows Vista. • Describe the user experience for Windows Vista. Session 1: Introduction to Windows Vista Application Development 3 What Is New in Windows Vista for Developers? Fundamentals Windows Vista includes improvements to the fundamentals that form the basis for application development. New features enable developers to: • Build secure applications. Windows Vista provides: • User Account Protection, which enables users to change common settings without requiring administrative privileges. Standard users are prevented from making potentially dangerous changes to their computers; they can run most applications. • Code Access Security (CAS), which minimizes the attack surface of an application by enabling only the minimum privileges needed for applications to function correctly. • Windows Service Hardening, which restricts critical Windows services from making unauthorized changes in the file system, registry, network, or other resources. • Microsoft Internet Explorer® 7, which includes a protected mode that helps protect user data and configuration settings. [...]... Windows Vista Application Development Demonstration 1: A Guided Tour of Windows Vista In this demonstration, you will see some of the new user interface features in Windows Vista Key Points The key points of this demonstration are that: • Windows Vista provides new ways to search for and organize files • Windows Vista includes User Account Control to manage user access to restricted tasks • Windows Vista. .. uniquely Windows Vista application Objectives After completing this section, you will be able to: • Describe the characteristics of Windows Vista applications • Describe how to create a Windows Vista application 9 10 Session 1: Introduction to Windows Vista Application Development Characteristics of Windows Vista Applications So that the user enjoys maximum benefit from the Windows Vista experience, developers. .. Development Demonstration 2: Comparing Windows Vista and Windows XP Applications In this demonstration, you will show how to modify a Windows XP application to follow the Windows Vista user interface guidelines Key Points The key point of this demonstration is that: • You can change a Windows XP application into an application that follows the Windows Vista guidelines by applying the Window Vista developer rules... lists, and attachments for users Productivity and tools Microsoft has shipped a set of its industry-leading tools to enable developers to easily utilize these new features of the operating system 6 Session 1: Introduction to Windows Vista Application Development The Windows Vista User Experience What is the Windows Vista User Experience? The Windows Vista User Experience specifies guidelines that govern... flexibility for application differentiation Session 1: Introduction to Windows Vista Application Development 7 For most applications, application developers need to do just a few things to create the Windows Vista User Experience: • Do not hard code any colors All colors should be based on system or theme metrics and use comctl 32. dll v6 This will give developers the latest look and feel for their buttons,... which calls for the use of attributes and capabilities that have been identified as features that developers should add to applications • Follow the Windows Vista User Experience Guidelines By following the Windows Vista User Experience Guidelines, developers can use features such as Rich Preview Handlers to provide their users with a consistent and predictable user experience • Use the Windows Presentation... experience 12 Session 1: Introduction to Windows Vista Application Development Making Your Application a Windows Vista Application This list summarizes the top rules that the Windows Vista Design team suggests you follow to create high-quality, consistent Windows Vista UIs • Use the Aero Theme and System Font (Segoe UI) • • • The Aero theme (visual style) includes translucent window frames, new icons for window... includes Internet Explorer 7, which provides new features • Windows Vista includes the Windows Sidebar and gadgets Session 1: Introduction to Windows Vista Application Development Developing a Windows Vista Application Introduction Because of the new features, developing Windows Vista applications is different than developing applications for previous operating systems This section introduces some... a Windows Forms-based application as easy as deploying a Web application Presentation One of the new features in Windows Vista applications is the appearance of an application The new Windows Presentation Foundation (formerly code-named Avalon) and the new Aero shell offer opportunities for developers and designers to collaborate on innovative new application experiences The new features include Windows. .. In Windows Vista, task dialog boxes will replace the message box or most other instances of a single-step prompt or error message Task dialog boxes add such features as the main instruction and supporting text and links to error messages For more information on the Windows Vista User Experience, see the Windows Vista Experience Web site on the Microsoft MSDN® Web site 8 Session 1: Introduction to Windows . new for developers in Windows Vista. • Describe the user experience for Windows Vista. Session 1: Introduction to Windows Vista Application Development 3 What Is New in Windows Vista for. Introduction to Windows Vista Application Development The Windows Vista User Experience What is the Windows Vista User Experience? The Windows Vista User Experience specifies guidelines that. introduces Windows developers to information on the Microsoft Windows Vista platform, thereby maintaining and enhancing their productivity and driving them to further study and adoption of Windows Vista