Windows Vista for Developers : Windows Vista for Developers
Agenda : 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
Slide4 : 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
Slide5 : XAML UI definition language
Developer Value: Simplicity and flexibility
Styling
Hardware Unified framework with incremental learning curve
Tool-able persistence format
Flexible deployment model
Slide6 : 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
Slide7 : 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
Slide8 : 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
Slide9 : 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
Slide10 : 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 : 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
Slide15 : In Windows Vista, many basic tasks are now accessible by limited user accounts
Slide16 : Some operations may still require elevated privileges...
Slide17 : Privilege elevation requires user consent
Slide18 : 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
Slide27 : Embedding Manifests and
Data Redirection
Agenda : 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 : 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)
Slide33 : Using Search
Resources : 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/
Slide35 :