February Windows Vista Developer


Presentation Description

No description available.


Presentation Transcript

Windows Vista for Developers: 

Windows Vista for Developers


Agenda Vista Developer Overview User Access Control (UAC) Integrating Search into Your Applications

Windows VistaThe biggest release of Windows ever!: 

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


Goal: Modern UI and UX UX that look like 2007, not 1996 Applications that are a joy to use Platform Component: Windows Presentation Foundation (WPF) Integrated support for UI, media, documents 2-D, 3-D, media, animation, text, data-binding, acceleration


XAML UI definition language Developer Value: Simplicity and flexibility Styling Hardware Unified framework with incremental learning curve Tool-able persistence format Flexible deployment model


Goal: Seamless Connectivity Interact with data and services, local or global Improve process efficiency Platform Components WCF: secure, reliable, transacted, interoperable messaging as a basis for SOA PeerNet: P2P discovery and communication mesh WF: Extensible, model-based workflow engine


Developer Value Unified communication stack spanning transports, security systems, messaging patterns, encodings, network topologies, and hosting models Drive complex data and UI interactions through simple workflow models


Goals: Find and Act on Documents Search, stack, filter, preview, and act quickly Platform Components Desktop search: Full-text and metadata index Search-aware common controls Rich document previews and icons Developer Value Robust query engine 'for free' Richer visuals for custom file types


Goal: Naturally Mobile Applications Feel like a natural fit on laptops and tablets Deliver consistent cross-device experiences Platform Components Power awareness, management, and scalability Network location awareness and dynamic reconfiguration Pen (feedback, panning, flicks) Handwriting, input, and touch Synch center Developer Value Support to optimize performance for mobile PCs


Goals: Simple and Secure Access Secure solution for identity, authorization, and control Lower risk of security issues Platform Components CardSpace: User controlled identity metasystem provider; IE, WCF integration UAC: Limit exposure of admin accounts Tools: /GS, SAL, CAS, and more Developer Value Common identity infrastructure that users trust Reduced attack surface and risky bugs

Most Secure Windows Ever: 

Most Secure Windows Ever User Access Control (UAC) Users run with least privilege Network Access Protection (NAP) Helps preserve security of enterprise networks


Agenda Vista Developer Overview User Access Control (UAC) Integrating Search into Your Applications

User Account Control (UAC): 

User Account Control (UAC) The vast majority of users run as admin Users that run as admin are more vulnerable to damages inflicted by malicious code Windows Vista promotes the use of limited user accounts Reduces the number of common tasks in Windows that require administrative privileges Applications run as Standard User by default – even if the user has administrative privileges! Applications explicitly marked, can run with elevated privileges – after prompting the user for their consent

UAC Architecture: 

UAC Architecture Standard User Rights Administrative Rights Admin logon 'Standard User' Token Admin Token Standard User Mode Split Token Admin Privileges


In Windows Vista, many basic tasks are now accessible by limited user accounts


Some operations may still require elevated privileges...


Privilege elevation requires user consent


Restricted operation is now available, after privilege elevation

Shield UI Examples: 

Shield UI Examples

Consent UI: 

Consent UI OS Application Unsigned Application Signed Application

How do I ensure that my application will work under User Account Control?: 

How do I ensure that my application will work under User Account Control? If your app runs correctly as a Standard User: If your app targets administrators If your app doesn’t run as a Standard User: If only certain operations require elevated privileges: No action needed  Remove any operations that require elevated privileges Set machine-wide settings during installation Include a manifest and specify requestedExecutionLevel Factor into separate processes Identify administrative operations with a 'shield' icon Developer Best Practices and Guidelines for Applications in a Least Privileged Environment http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/AccProtVista.asp?frame=true

How to Elevate: 

How to Elevate Mark application as requiring administrator privileges by using manifest Installer detection Application compatibility shims Right-click Run Elevated…

Least-Privileged Applications: 

Least-Privileged Applications Some applications must be run with additional privileges Administration tools However, most code in most applications does not need extended privileges Can inform Windows Vista if your application must run as an administrator

Application Manifest: 

Application Manifest Can embed a manifest Specifies level of execution andlt;?xml version='1.0' encoding='UTF-8' standalone='yes'?andgt; andlt;assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'andgt; andlt;trustInfo xmlns='urn:schemas-microsoft-com:asm.v3'andgt; andlt;securityandgt; andlt;requestedPrivilegesandgt; andlt;requestedExecutionLevel level='asInvoker' uiAccess='false'/andgt; andlt;/requestedPrivilegesandgt; andlt;/securityandgt; andlt;/trustInfoandgt; andlt;/assemblyandgt;

Level Indicators: 

Level Indicators 'asInvoker' No access to 'Program Files' No access to C:\Windows or sub directories No access to HKLM 'highestAvailable' 'requireAdminstrator' Requires application is launched with the full token of an administrator

Data Redirection for Legacy Applications: 

Data Redirection for Legacy Applications Legacy apps write to admin locations HLKM\Software; %SystemDrive%\Program Files … Redirection removes need for elevation Writes to HKLM go to HKCU redirected store Writes to system directories redirected to per-user store Copy-on-write


Embedding Manifests and Data Redirection


Agenda Vista Developer Overview User Access Control (UAC) Integrating Search into Your Applications

One Search Technology: 

One Search Technology Client and server products built on shared indexing engine Embedded in Windows SharePoint® Services, SQL ServerTM, Exchange Server, and Office server products Windows platform component in Windows XP® and Windows Vista® Common extensibility across products Underpins MSN ® search toolbar Client Server

Search in Your Application: 

Search in Your Application Simple and advanced syntax available Easy to use Avoids parsing and construction of SQL Required and excluded term support Filter by any string or integer property Consistent property:value syntax across Windows, Office applications, and your applications Holiday plans from:Jessica

SQL Syntax: 

SQL Syntax Consistent SQL across enterprise and desktop Targets advanced solutions and complex queries Syntax consistent with Windows desktop search SELECT System.DisplayFolder, System.Title FROM SystemIndex..SCOPE() WHERE CONTAINS('HOLIDAY') AND System.Message.FromName = 'Jessica' GROUP BY System.Kind


Search Query features OLE DB provider with SQL full text dialect String, numeric, and date comparisons Simple or relevance matching Prefix ('begins with') matching Boolean combinations Hit counts and paging Locale-aware sorting (ORDER BY) Multi-level grouping (GROUP BY)


Using Search


Resources Windows Vista Developer Center http://msdn.microsoft.com/windowsvista Application Compatibility Articles / Intro Videos http://msdn2.microsoft.com/en-us/windowsvista/aa904987.aspx Application Compatibility Virtual Lab http://msdn.microsoft.com/virtuallabs/vista/default.aspx Windows Vista Webcasts http://msdn2.microsoft.com/en-us/windowsvista/bb267244.aspx LonghornBlogs.com Catherine Heller, 'A La Vista' - Search http://blogs.msdn.com/cheller/


authorStream Live Help