1 / 27

Windows Vista

Windows Vista. Platform for the next generation of software . What is Windows Vista? Next Generation of Windows OS. Confident Your PC just works: safe, reliable, and low-cost to manage. Clear Organize information effectively, and focus on business.

audra
Download Presentation

Windows Vista

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows Vista Platform for the next generation of software

  2. What is Windows Vista?Next Generation of Windows OS Confident Your PC just works: safe, reliable, and low-cost to manage ClearOrganize information effectively, and focus on business Connected Connect with people, information and devices: anytime, anywhere

  3. Windows VistaIs there anything left really? WS-Management Aero User Account Control Restart Manager Sync Center Windows SideBar Network Access Protection Windows Feedback Services Monad Ink Analysis Windows Presentation Foundation Ad-hoc Meeting Networks Secure Startup Reading Pane Windows Imaging Format Protected Mode IE Presentation Settings Parental controls Windows Communication Foundation High Resolution/High DPI Cancelable I/O Registry/File System Virtualization Network Location Awareness Stacks MMC 3.0 People Near Me Quick Search Single binary Shell Property System Power Management Windows Service Hardening Live Icons Crypto Next Generation SuperFetch Glass Peer Name Resolution Protocol User Experience IPv6 Preview Pane Windows Vista Display Driver Model Transactional Registry Winlogon Rearchitecture Windows Resource Protection Search Folders Taskbar Thumbnails Desktop Window Manager Split Tokens User Mode Driver Framework Memory Diagnostics Windows Workflow Foundation Function Discovery API XAML Startup Repair Toolkit Windows Filtering Platform Flip3D Windows Installer 4.0 Credential Providers Open Package Specification Windows Defender New Open/Save Dialogs InfoCard RSS Platform Segoe UI Font Transactional File System Mandatory Integrity Control New Explorers Resource Exhaustion Diagnostics Eventing and Instrumentation Windows Sideshow Wizard Framework XML Paper Specification Confident | Clear| Connected UI Privilege Isolation Windows Disk Diagnostics

  4. VHS VCR PVR (Windows MCE) MSN Mail Outlook Web Access (OWA) Office: Outlook What is (UX)?

  5. Delivering on Fundamentals Protected Modein IE7 User Account Protection Full Volume Encryption Apps and Files load faster Fast Startup Sleep state Component Based Setup and Deployment Windows Imaging Format (WIM) Customer Feedback Hardware Monitoring Goal is 50% fewer Reboots Service Restarts

  6. AERO is the User Interface for Windows Vista applications Authentic Energetic Reflective Open & Approachable

  7. The Windows Vista User Interface

  8. The Windows Vista User InterfaceDeveloper Opportunities • Windows Vista User Interface Guidelines • High-resolution icons • Common controls (comctl32.dll v6) • CommandLinks • Button-styled control for “important tasks” • TaskDialog • Error messages and prompts • New Wizard Framework • Use Vista themes in Wizards and dialogs

  9. New controls and design

  10. Visualize, Organize & SearchDeveloper Opportunities • Enable a simpler data management experience in your application • OLE DB Provider for Windows Search • Read & write properties (Property Provider API) • New Common File Dialogs for opening/saving files • Make your custom file formats part of the experience • Metadata support (read/write & indexing): Property Handlers • Full-text indexing : IFilter • Live Icons: Thumbnail Providers: • Rich preview in Reading Pane: Preview Handlers

  11. Resources • Windows Vista User Interface Guidelines: msdn.microsoft.com/windowsvista/experience • MSDN dev center: msdn.microsoft.com/ui/ • Windows Vista Development Forums: forums.microsoft.com/msdn/

  12. User Account Control • By default, all interactive processes run as standard user • User consent is required to run a process with elevated privileges • Security shield identifies operations that require privilege elevation

  13. How will this affect my apps? • Registry and File System Virtualization redirects some write operations to per-user virtual stores • %userprofile%\AppData\Local\VirtualStore • HKEY_CURRENT_USER\Software\Classes\VirtualStore • Virtualization is a Windows Vista compatibly feature for existing applications. • New and updated applications should not rely on Virtualization. • Windows Vista applications should provide a manifest and specify the appropriate requestedExecutionLevel element. (Note: this is a logo requirement)

  14. Why not just turn off the UAC? • Why not just run Windows 98? • Educate yourself and your company! • We will continue to make this ”sexier” • Protect your users and customers!

  15. User Account Control and virtualization

  16. Steps for Ensuring UAC Compatibility • Determine if your app runs as a standard user • Identify operations that require privilege elevation • Address identified operations, where possible • Mark your application as UAC-aware • Address necessary operations that require privilege elevation

  17. Identifying Privileged Operations • Use the Standard User Analyzer tool • Identifies operations that will require privilege elevation • Can be run on Windows XP • Will soon be released to the Microsoft.com download center • Configure machine-wide settings during installation, rather than on first-run • Change machine-wide setting to per-user, where appropriate

  18. Using the Standard User Analyzer Tool

  19. Marking Your App as UAC-Aware • Provide a manifest (XML file) • A manifest is an XML file, named <exeName>.exe.manifest • Set the requestedExecutionLevel element (typically set to “asInvoker”) • This turns off Virtualization for your app • Manifests can be external or embedded • External manifests are located in the same folder as the executable • Embedded manifests are included as a native Win32 resource

  20. Creating a Manifest • Add an XML file item to the project • Rename it <appName>.exe.manifest <?xmlversion="1.0" encoding="utf-8" ?> <assemblyxmlns="urn:schemas-microsoft-com:asmv.v1”manifestVersion="1.0"> <assemblyIdentityversion="1.0.0.0" processorArchitecture="X86" name="AppName" type="win32" /> <description>App Description</description> <trustInfoxmlns="urn:schemas-microsoft.com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevellevel="asInvoker" /> </requestedPrivileges> </security> </trustInfo> </assembly>

  21. Embedding a Manifest in an Assembly Add a resource file to the project (Text File item) and rename it <appName>.rc Add pre-build event to compile resource “<path to SDK>\rc.exe” $(ProjectDir)$(ProjectName).rc Add Win32 resources to assembly • #define RT_MANIFEST 24 • #define APP_MANIFEST 1 • APP_MANIFEST RT_MANIFEST <appName>.exe.manifest • <PropertyGroup> • <Win32Resource>appName.res</Win32Resource> • </PropertyGroup>

  22. Addressing Privileged Operations • Consider other requestedExecutionLevel values • requireAdministrator or highestAvailable • Some applications may require elevated privileges for only a subset of their features • Privilege elevation cannot occur in-process, you must launch a separate process • Requires re-factoring into separate partitions • UI elements that invoke privileged operations should be decorated with the security shield icon (logo requirement) • Privileged partitions must be launched with either ShellExecute or the COM elevation moniker

  23. Launching with ShellExecute • Example • Note that the CreateProcess API does not elevate Process proc = newProcess(); proc.StartInfo = newProcessStartInfo(); proc.StartInfo.CreateNoWindow = true; proc.StartInfo.UseShellExecute = true; proc.StartInfo.FileName = "PrivilegedExe.exe"; proc.EnableRaisingEvents = true; proc.Exited += new EventHandler(OnExeExited); proc.Start();

  24. Making an App UAC-Aware

  25. Down-level Considerations • User Account Control is not supported on previous version of Windows • What happens if you run a UAC-Compatible app on Windows XP? • requestedExecutionLevel element is ignored on previous versions of Windows • All processes run with the user’s highest privileges • For standard users, calls to privileged operations will fail • Strategies for ensuring partitioned applications continue to work correctly on XP • For apps that require elevation, test for required privileges during process start-up (e.g. IsUserAdmin) and exit gracefully if not found

  26. Resources • Best Practices and Guidelines for Applications in a Least Privileged Environment http://msdn.microsoft.com/library/en-us/dnlong/html/AccProtVista.asp?frame=true • Standard User Analyzer Toolhttp://download.microsoft.com • COM Elevation Moniker Documentation http://msdn.microsoft.com/library/en-us/com/html/1595ebb8-65af-4609-b3e7-a21209e64391.asp • UAC Team Bloghttp://blogs.msdn.com/uac

  27. Johan.Lindfors@microsoft.comhttp://blogs.msdn.com/johanl

More Related