where developers matter vista enable your applications fredrik haglund, regional developer...

Post on 26-Mar-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Where Developers Matter

Vista Enable Your Applications

Fredrik Haglund, Regional Developer Evangelistfhaglund@codegear.com

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

Vista Enable Your Applications

What is User Account Control in Vista?

Why?

How?

UAC – Elevation Demo

Over the Shoulder elevation prompt:

Elevation prompt:

UAC – Architecture

Access Token Split at Login

Elevation Prompt

Secure Desktop

Installer Detection

User Interface Privilege Isolation

Virtualization/Redirection

UAC – Virtualization (Redirection)

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)

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)

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

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

Enable runtime theme

Manifest - requierdExecutionLevel

asInvoker – (Default in D2007)

highestAvailable

requireAdministrator

Manifest content

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 }

SHGetFolderPath

RunAsAdmin

Launch application running as administrator

Use Application.Handle to delay elevation if app is minimized.

No handle always gives direct foreground elevation.

RunAsAdmin

Using COM class for Admin tasksCOM 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

Elevated COM calls

Use Moniker to create elevated CoClass from User Process

The Shield - SetElevationRequiredState

Call function with Button as parameter to add Shield symbol

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

Case Exampel: BDE Application

Location of Database Files

Virtualization

Risk of Database Corruption

Alias and BdeAdmin – Config Files

TDatabase andTSession

Vista Enable Your Applications Demonstrations

Summary

Summary

What is User Account Control in Vista?

Other Compatibility Issues on Vista

Running as Standard User

User Interface Changes in Vista

Migration

Thank you

top related