Presentation is loading. Please wait.

Presentation is loading. Please wait.

Where Developers Matter Vista Enable Your Applications Fredrik Haglund, Regional Developer Evangelist

Similar presentations


Presentation on theme: "Where Developers Matter Vista Enable Your Applications Fredrik Haglund, Regional Developer Evangelist"— Presentation transcript:

1 Where Developers Matter Vista Enable Your Applications Fredrik Haglund, Regional Developer Evangelist

2 Agenda What is User Account Control in Vista? Other Compatibility Issues on Vista Running as Standard User User Interface Changes in Vista Demo – Migration BDE COM and COM with Elevation Signing

3 Vista Enable Your Applications

4 What is User Account Control in Vista? Why? How?

5 UAC – Elevation Demo Over the Shoulder elevation prompt: Elevation prompt:

6 UAC – Architecture Access Token Split at Login Elevation Prompt Secure Desktop Installer Detection User Interface Privilege Isolation Virtualization/Redirection

7 UAC – Virtualization (Redirection)

8 Other Compatibility Issues on Vista Services Isolation IE – Protected Mode Windows Resource Protection 64-bit Windows Vista Networking Version Checking Shell changes Removed components – (WinHelp)

9 Running as Standard User Do not assume user is an Admin! Follow Guidelines A Standard User can not: Change files in Program Files folders Change files in Windows or System32 folders Change registry under HKLM\Software Change the local machines date and time Install or uninstall Services Register COM Server (globally)

10 User Interface Changes in Vista DWM – Desktop Window Manager Glass, Thumbnail and Flip 3D Rendering - Black borders, High Dpi, UI themes New UI elements: Shield, FileDialogs, TaskDialog, etc

11 New in C++/Delphi 2007 for Vista Enable Runtime Theme option Component: TTaskDialog, TFileOpenDialog, TFileSaveDialog Property TCustomForm.GlassFrame Property Application.MainFormOnTaskBar Function TaskMessageDlg Global var UseLatestCommonDialogs

12 Enable runtime theme

13 Manifest - requierdExecutionLevel asInvoker – (Default in D2007) highestAvailable requireAdministrator

14 Manifest content

15 Redesign Do not open files or registry keys with Write flag Save data, log files, etc. in the right location using SHGetFolderPath CSIDL_PERSONAL { My Documents } CSIDL_APPDATA { Application Data, new for NT4 } CSIDL_LOCAL_APPDATA { non roaming, user\Local Settings\Application Data } CSIDL_COMMON_APPDATA { All Users\Application Data } CSIDL_MYPICTURES { My Pictures, new for Win2K } CSIDL_COMMON_DOCUMENTS { All Users\Documents }

16 SHGetFolderPath

17 RunAsAdmin Launch application running as administrator Use Application.Handle to delay elevation if app is minimized. No handle always gives direct foreground elevation.

18 RunAsAdmin

19 Using COM class for Admin tasks COM Server must be an EXE EXE must have requireAdministrator to install COM objects correctly Registration of COM Class must add value LocalizedString (and resource string in executable) add key Elevation and value Enabled = 1

20 Elevated COM calls Use Moniker to create elevated CoClass from User Process

21 The Shield - SetElevationRequiredState Call function with Button as parameter to add Shield symbol

22 Test your application – identify problems Classify your application as Standard User, Admin or Mixed. Add application Manifest Redesign functionality User apps should write data to correct locations Split out admin stuff into a separate executable Redesign user interface Add shield to buttons Redesign installer Test again Optionally sign application (Authenticode) Determine whether to pursue the Windows Vista Logo program

23 Case Exampel: BDE Application Location of Database Files Virtualization Risk of Database Corruption Alias and BdeAdmin – Config Files TDatabase andTSession

24 Vista Enable Your Applications Demonstrations

25 Summary

26 What is User Account Control in Vista? Other Compatibility Issues on Vista Running as Standard User User Interface Changes in Vista Migration

27 Thank you


Download ppt "Where Developers Matter Vista Enable Your Applications Fredrik Haglund, Regional Developer Evangelist"

Similar presentations


Ads by Google