Michael Niehaus Senior Software Development Engineer Microsoft Corporation Session Code: MGT321 Agenda General driver babble Why is this so hard? Product-specific ways to help Windows Update, Windows.
Download ReportTranscript Michael Niehaus Senior Software Development Engineer Microsoft Corporation Session Code: MGT321 Agenda General driver babble Why is this so hard? Product-specific ways to help Windows Update, Windows.
Michael Niehaus Senior Software Development Engineer Microsoft Corporation Session Code: MGT321 Agenda General driver babble Why is this so hard? Product-specific ways to help Windows Update, Windows Server Update Services, Windows Update Catalog Windows Deployment Services in Windows Server 2008 R2 MDT 2008/2010 (Lite Touch) ConfigMgr 2007 (Zero Touch) Q&A General Driver Challenges In an ideal world, OEMs would make this easier. Challenges: Multiple packaging methods No simple extraction methods Applications that may or may not be needed for full functionality Applications that also (re)install drivers New versions that drop support for old devices Badly-formed drivers (INFs) Two-phase drivers (bus drivers) Unsigned versus signed drivers But there is hope All it takes is one vendor to show the way… More Than Hypothetical You launch the application, drill in and select what you want … for example, Vista x64, then select the models you want, select a name an location for the drivers to be downloaded to, and then hit the ‘make package’ magic button that will go to the Internet and pull down the RAW drivers for everything you selected. The drivers will probably come down in one cab file (a custom cab file for the stuff you selected), … move that cab file to wherever you want, and extract it … and then you’ll see obvious subfolders (Audio, Network, Video, etc) if you care to look inside. You should be able to take that extracted cab and use it with ConfigMgr or MDT… General Driver Challenges In an ideal world, there would be less drivers to worry about. Challenges: A constantly changing list of “supported” hardware Weak or no controls over hardware procurement Peripherals and portable devices, both at work and at home Rapidly-changing PC hardware “Configuration of the day” vendors Chipsets Intel vs. AMD Preach the virtues of Infrastructure Optimization, standardization Maybe even less frequent purchases – not keeping machines longer, but buying less frequently and in larger batches What’s the real cost of a new PC? Consider cascading. General Driver Challenges Warning: Windows 7 may complicate matters somewhat More “picky” about drivers being injected offline Those with INFs that reference files that aren’t present in the driver folder will fail to inject Injection failures will cause SETUP failures: DISM Driver Manager: PID=1804 Failed to stage driver package '\Drivers\HIDClass\SYNHI_7.5.17.20\SYNTP.INF' (HRESULT = 0x80070002). The same driver will install file online Tools may be required to help sort “good from bad” Prune now! Unattend.xml answer files must always specify valid driver paths (Windows Vista didn’t care) MDT 2008 specified paths that weren’t valid (e.g. X:\Drivers and C:\Drivers) SETUP will fail on invalid DriverPaths General Driver Solutions Windows Vista and above! No more worrying about [SysprepMassStorage] and all other mass storage driver challenges Remember when the length of OEMPnpDriversPath was an issue? Thin images! Including hundreds of MB of drivers in the image is now a thing of the past Maybe still best to include all mass storage drivers in a Windows XP image (even though ConfigMgr can inject them offline) General Driver Solutions What approach to take “Chaos” “Control freak” Throw them all in, let the system and/or Windows figure it out Simplifies administration, repository management Find a happy medium Explicitly configure what drivers should be used for each machine Addresses supportability concerns, compatibility issues Windows Deployment Services Driver management features in Server 2008 R2 New “Drivers” node Import drivers one at a time or recursively Assign drivers to one or more groups Groups are configured to either install all drivers or those just matching on PnP IDs Groups can also specify filter criteria – if the criteria isn’t met, nothing in the group will be used Drivers can be added to boot images WDSUTIL can also be used for importing and assigning to groups When deploying an OS image from WDS, drivers will automatically be processed Makes for an “easy” deployment scenario, especially when combined with USMT 4 It may be possible to use outside of WDS too (TBD, depending on API documentation) Windows Deployment Services in Windows Server 2008 R2 Michael Niehaus Senior Software Development Engineer Microsoft Corporation Windows Update, WSUS, etc. How can they help? Primarily designed for “online” driver installation Not too useful for mass storage and network drivers Windows Update Agent client downloads and installs new drivers as needed, from either WU or WSUS Windows Update Agent is scriptable, to automate the process WSUS provides ways to access its content via admin tools or APIs Windows Update Catalog useful for downloading content from the WU backend http://catalog.update.microsoft.com WSUS and WU Catalog Michael Niehaus Senior Software Development Engineer Microsoft Corporation Microsoft Deployment Toolkit 2010 Driver management features Deployment point holds driver repository Import all needed drivers Arrange drivers into groups “Auto apply” using folders to filter “Always apply” using folders to filter Drag-and-drop coming soon Offline injection “just in time” Windows XP/2003 (except mass storage) and above Automates boot image maintenance Designed to be dynamic Rules-based process to help filter Microsoft Deployment Toolkit 2010 Driver management features Integration with Windows Update or WSUS Install driver updates once in the new OS Potentially used with inventory tools to help with assessment Microsoft Assessment and Planning (MAP) Application Compatibility Toolkit (ACT) MDT 2010 Driver Management Michael Niehaus Senior Software Development Engineer Microsoft Corporation ConfigMgr 2007 Driver management features Driver catalog All available drivers, populated by the IT pro Driver packages Used for two purposes: Driver distribution (replication) “Forced” driver installation Driver categories Used as a filter when automatically detecting needed drivers Offline injection “just in time” Boot image management ConfigMgr 2007 Driver management features Auto apply drivers All available packages are considered Drivers are matched by PnP ID Drivers can be filtered by user-defined categories Not supported with standalone media Apply driver package Only the specified package is used All drivers are injected Categories aren’t used Only choice for XP/2003 mass storage drivers Can be used with task sequence conditions Limited scalability ConfigMgr 2007 Driver management features Inventory and reports Can help with the assessment phase Collect information on installed drivers, PnP information Integrates with online App Compat driver database to determine compatibility, availability ConfigMgr 2007 Advanced scenarios Auto apply drivers Dynamically override categories, identified by GUID Moderately difficult http://blogs.technet.com/deploymentguys/archive /2008/04/18/configuration-manager-dynamicdriver-categories.aspx Apply driver package Dynamically override mass storage driver Very difficult ConfigMgr 2007 Other complications ConfigMgr will not import duplicates Modify the folder contents each time you want to import (hack) Create a customized import process using the SDK Chipset drivers require extra handling INFs “include” in-box INFs, making injection more challenging Include in image or add “include” files ConfigMgr 2007 Driver Management Michael Niehaus Senior Software Development Engineer Microsoft Corporation Moving Forward Potential areas for investment Several driver repositories? Need to integrate, synchronize, or merge Assistance with managing large scale repositories? Locating duplicates, old versions, bad drivers Reporting, searching Readiness? Are all the drivers needed for the machine, either in the image (in-box or otherwise) or in the driver repository? Any other ideas? Resources www.microsoft.com/teched www.microsoft.com/learning Sessions On-Demand & Community Microsoft Certification & Training Resources http://microsoft.com/technet http://microsoft.com/msdn Resources for IT Professionals Resources for Developers www.microsoft.com/learning Microsoft Certification and Training Resources Related Content Breakout Sessions WCL309: Microsoft Deployment Toolkit 2010: the Next Generation Hands-on Labs WCL02-HOL: Getting Started with Microsoft Deployment Toolkit 2010 WCL04-HOL: Lite Touch Installation Using Microsoft Deployment Toolkit 2010 WCL09-HOL: Zero Touch Installation Using Microsoft Deployment Toolkit 2010 and System Center Configuration Manager WCL10-HOL: Windows 7: Using Microsoft Deployment Toolkit 2010 Beta to Create Standard Images to Handoff to OEMs Track Resources Key Microsoft Sites System Center on Microsoft.com: http://www.microsoft.com/systemcenter System Center on TechNet: http://technet.microsoft.com/systemcenter/ Virtualization on Microsoft.com: http://www.microsoft.com/virtualization Community Resources System Center Team Blog: http://blogs.technet.com/systemcenter System Center Central: http://www.systemcentercentral.com System Center Community: http://www.myITforum.com System Center on TechNet Edge: http://edge.technet.com/systemcenter System Center on Twitter: http://twitter.com/system_center Virtualization Feed: http://www.virtualizationfeed.com System Center Influencers Program: Content, connections, and resources for influencers in the System Center Community. For information, contact [email protected] Complete an evaluation on CommNet and enter to win! © 2009 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.