29

radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Embed Size (px)

Citation preview

Page 1: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation
Page 2: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Delivering Great Device Installation Experiences

Cameron BrodeurProgram ManagerMicrosoft Corporation

888

Adam LenartSoftware Design EngineerMicrosoft Corporation

Page 3: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Agenda

• What makes a device installation great?• Device Installation & Device Configuration• How to take advantage of Device Configuration• Installing apps with a device• Demo: Diagnosing device installation problems• Q&A

You’ll leave with examples of how to• Improve the performance of device installation • Diagnose common installation problems

Page 4: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Related sessions

• Designing great devices and drivers (HW-322T)• Building metro style apps that connect to

specialized devices (HW-747T)• Best practices for packaging and distributing device

drivers (HW-903T)• Simplifying wireless and network device discovery

and pairing (HW-286T)

Page 5: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

What Makes a Device Installation Great?

• Great device experiences are designed

• Device setup is fast

• Device apps are Metro style apps

Page 6: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Relative Device Installation Performance

Windows 95

Windows XP

Windows Vista

Windows 7

Windows 8

Configu-ration

Inst

all

tim

e(l

ow

er

is b

ett

er)

radicalperformanceimprovement

Page 7: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Driver Store

Driver Store

Factory Unattended Setup

Windows Update

Software Installers SetupCopyOEMInf

Offline Image Creation

OS Setup & Upgrade

Windows “Inbox”

Page 8: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Device Installation

1

32

Driver Store

Class/Co-installers

Page 9: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Device Configuration

Driver Store

1

32

Page 10: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Device Configuration

Input

Boot Devices

Storage

Other select devices

Page 11: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

• Windows Certification tests

• Passing the recommended certification tests ensures configurability

• Windows 8 Certification Requirements - Preview

Making your device configurable

Page 12: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Things to watch out for

• Using a Co-Installer or custom Class Installer

• Referencing INF directives not related to installation

• Deleting or modifying registry entries, files or services

• Only specify HKR when using AddReg directive• Only copy files to

• %WINDIR%\System32• %WINDIR%\System32\Drivers

• Specify PnpLockdown=1 in the [Version] section

Page 13: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

…and a couple more

• Only install driver services• Target OS version decoration in an INF file cannot

contain a ProductType flag or SuiteMask flag

Page 14: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Configurable Driver Package INF[Version]...DriverVer = 09/16/2011,1.0.0.3 ; Update date/version with every changeCatalogFile = driver.cat ; Always sign driver package INF and filesPnpLockdown = 1 ; Protect driver files from tampering

[Manufacturer]%Mfg.Desc% = Drivers,NTx86 ; Explicitly target platform/architecture

[Drivers.NTx86]%Device.Desc% = Device_Install,USB\VID_ABCD&PID_1234

[Device_Install.NT]...

[Device_Install.NT.Services]...

Page 15: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Configurable Driver Package INF - Files[Device_Install.NT]CopyFiles = Driver_CopyFiles...

[Driver_CopyFiles]driver.sys ; Keep it simple, no special copying rules

[SourceDisksNames]1 = %Disk.Desc%

[SourceDisksFiles]driver.sys = 1

[DestinationDirs]DefaultDestDir = 12 ; %WINDIR%\System32\Drivers

Page 16: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Configurable Driver Package INF - Settings[Device_Install.NT]...AddReg = Driver_AddReg

[Driver_AddReg]HKR,,Setting,%REG_SZ%,"Value" ; Only specify HKR-based driver software values ...

[Device_Install.NT.Hw]AddReg = Device_AddReg...

[Device_AddReg]HKR,,Bells,%REG_DWORD%,1 ; Only specify HKR-based device hardware valuesHKR,,Whistles,%REG_DWORD%,256...

Page 17: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Configurable Driver Package INF - Services[Device_Install.NT.Services]AddService = driver,%SPSVCINST_ASSOCSERVICE%,Service_Install ; Always associate one service

[Service_Install]ServiceType = %SERVICE_KERNEL_DRIVER% ; Only add kernel driver servicesStartType = %SERVICE_SYSTEM_START%ErrorControl = %SERVICE_ERROR_NORMAL%ServiceBinary = %12%\driver.sysDisplayName = %Driver.Desc%AddReg = Service_AddReg

[Service_AddReg]HKR,,Mode,%REG_DWORD%,2 ; Only specify HKR-based service values ...

Page 18: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Configurable Driver Package INF - WDF[Device_Install.NT.Wdf]KmdfService = driver,KmdfService_Install ; KMDF-based driverUmdfService = UmdfDriver,UmdfService_Install ; UMDF-based driverUmdfServiceOrder = UmdfDriver

[KmdfService_Install]KmdfLibraryVersion = 1.0

[UmdfService_Install]UmdfLibraryVersion = 1.9.0DriverCLSID = {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}ServiceBinary = %12%\UMDF\UmdfDriver.dll

[Device_Install.NT.Services]AddService = WUDFRd,0x000001fa,WUDFRD_Install ; WUDFRd service for UMDF driver...

Page 19: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Delivering the App Experience

• The best device experiences use a Metro style app• Automatic download and setup• Built-in app experiences for common device classes• Printers, webcam, mobile broadband SIM

• Support for custom apps• WPD, Storage, Networking• Custom drivers with custom interfaces

Page 20: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Metro style appfor Devices

Delivering the App Experience

Driver

Driver Package

Automatic download and setup of Metro

style apps for devices

Faster download of simpler driver package

Page 21: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Installing Desktop Software With a Device• Recommend use of RequestAdditionalSoftware INF

directive

• Allows a device to indicate that software may be available

• Driver package download is fast

• Provides you with flexibility

• Software can be updated at anytime without the need to update the driver package

• Decouples the driver from the software

• User decides if they need a Desktop app experience

Page 22: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Request Additional Software

Simple INF directive: RequestAdditionalSoftware

[ControlFlags]RequestAdditionalSoftware=*

applies to all devices installed by the driver package, or …

[ControlFlags]RequestAdditionalSoftware=device-identification-string[,device-identification-string] ...

only to specific devices.

Available on Windows 7 and later.

Page 23: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Diagnosing device problems

demo

Page 24: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Q&A

Page 26: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Further reading and documentation

Device Configuration and Windows Certification• Windows 8 Certification Requirements – Preview• Device and Driver Installation (MSDN)

Apps for hardware• Metro style Device App for Specialized Devices - Design Guide• The Device Software Lifecycle – Deployment, Acquisition, Uninstall and Update P

rocess• Metro style Device App for Specialized Devices Custom Driver Access Design Gu

ide• Metro style Device App for Specialized Devices Custom Driver Access Developm

ent Guide

• RequestAdditionalSoftware INF [ControlFlags] directive

Page 27: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 28: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

Backup Slides

Page 29: radical performance improvement Driver Store Factory Unattended Setup Windows Update Software Installers SetupCopyOEMInf Offline Image Creation

www.buildwindows.com

Driver Ranking

00 FF 0002

Device

0000-0FFF:1000-1FFF:2000-2FFF:3000-3FFF:

Hardware HardwareHardware CompatibleCompatible HardwareCompatible Compatible

Driver

Signer Score

Feature Score