The content in this post is obsolete. Please see my new August 3rd post for a complete update. I will leave this post up for a while for people who are still using the old scripts. However, I will be deleting the post content at some point.
For just about as long as there has been Windows XP Tablet PC Edition, there has been a guide on the Microsoft web site for the process of taking a image of Windows XP Professional and "transforming" it at deploy time into Tablet PC Edition. This guide can currently be found here. A few years ago, I scripted this process for one customer's home-grown deployment framework. Last summer I ported this process over to BDD 2007 Lite Touch. Finally, about a month ago, I moved this process over to MDT 2008 for both Lite Touch and Zero Touch (SCCM) deployment. In this post, I will review what needs to be done to prepare your Windows XP SP2 or SP3 image to use this process and how to use the scripts (included in the Attachments link below) to implement this process with MDT LTI or MDT ZTI with SCCM. (Note: This will likely work with BDD 2007 and/or SMS 2003 OSD, but I haven't tested this. Let me know what happens if you try it by adding a comment to this post.)
To create an image with MDT that will support this process, you need to include the CMPNENTS folder (of the same Service Pack version) from CD 2 of the Tablet PC Edition 2005 media in your Windows XP SP2/SP3 installation media. I will describe here how to do this with MDT Lite Touch. After adding the Window XP SP2 or SP3 installation media as an Operating System in the Deployment Workbench, use Windows Explorer to open the Distribution folder. Copy the CMPNENTS folder from CD 2 of the Tablet PC Edition 2005 media (must be from the matching Service Pack version) into the Windows XP installation media folder at the same level as the i386 folder as shown in the figure below.
Then use MDT Lite Touch to build and capture your image. If you want to use an MDT Task Sequence in SCCM to build and capture your reference image, add the matching CMPNENTS folder to the Window XP SP2 or SP3 installation media before importing it into SCCM as an Operating System Install Package. This will ensure that the MDT scripts will place the CMPNENTS folder in the \Windows\Source folder in the image. This is where the scripts expect to find it at deploy time. (I don't usually recommend doing the following since it can lead to bad image version management habits but if you have an existing Windows XP Professional SP2/SP3 WIM image, you can use ImageX to mount the WIM, copy the matching CMPNENTS folder into the \Windows\Source folder, and commit the changes. This WIM will then be useable with this process. Since this is really a new "version" of your image, update any image version tattoo (Registry, file, etc.) in the image as well. However, if you have already automated the image build with MDT, I recommend that you just rerun the image build and capture instead.)
After your image has been updated in this manner, you must then update MDT. There are two parts to this process. The first part is determining whether the target computer is a Tablet PC and the second is executing the scripted changes to convert the OS to Tablet PC Edition if the target computer is a Tablet PC. There are a numbers of ways to determine whether the target computer is a Tablet PC. You could add a custom property to Make/Model detection called IsTablet (must have a value of True or False). If you are using CustomSettings.ini to store your Make/Model information, you would put a direct entry in the CustomSettings.ini Make/Models sections. If you are using the MDT database, you could add an IsTablet field to the Settings table, populate the IsTalbet field of the Make/Model rows with True or False, and add a database query to CustomSettings.ini to retrieve the IsTalbet field.
However, I took another approach that I find simpler to maintain. It involves detecting whether the target computer has Tablet digitizer hardware. I add a custom property to CustomSettings.ini called TabletPnpIds. In this property I place a comma separated list of the Plug & Play Device ID's of the digitizer devices on all supported Tablet PC model. Then a user exit script uses this list to determine if the target computer is a Tablet PC and set the IsTablet property accordingly.
To update MDT to use my entire process, use the following steps (respecting any change management process or change windows you have, of course). If you want to use your own method of setting IsTablet, then you can skip the Edit CustomSettings.ini for detecting Tablet PC hardware steps and implement you own method.
[IsTabletCheck] TabletPnpIds=ACPI\WACF004\,ACPI\WACF008\,ACPI\MAI3310\,ACPI\FUJ02E5\ UserExit=ZTI-DectectTabletExit.vbs IsTablet=#DetectTabletPC#
[Settings] Priority=IsTabletCheck, ByTabletType, Default Properties=MyCustomProperty, TabletPnpIds, IsTablet, XPTabletProductKey
[ByTabletType] Subsection=Tablet-%IsTablet%
[Tablet-True] XPTabletProductKey=AAAAA-BBBBB-CCCCC-DDDDD-EEEEE
That completes the setup. When you deploy this XP Task Sequence to a Tablet PC, your Windows XP Professional Image should magically transform into Windows XP Tablet PC Edition 2005. If you want to test this process and don't have any Tablet PC's handy or you want to test using Virtual Machines (Virtual PC, Virtual Server, Hyper-V, VMWare, etc.) then use the following trick. Pick a device on your target computer (it's not really important which one it is) and place it's Device ID in the TabletPnpIds list. This will cause the IsTablet property to evaluate to True for this machine and it will result in Tablet PC Edition being installed on this non-Tablet computer.
12 June 2008 - Important Update
In this post, I described using this process with MDT 2008. Since that time, another Microsoft Consultant (Barry Hartmann of MCS Federal, thanks Barry!) encountered an issue with this process if you have the .NET Framework installed in your Windows XP Professional image. The XP Pro to Tablet PC Edition conversion uses a rather unintelligent, brute force installation process to install .NET Framework 1.0 (which is required by some Tablet PC Edition components). If a newer version of the .NET Framework is installed in your image, this process will downgrade shared files and registry values. This essentially breaks the newer version of the .NET Framework.
Barry encountered this problem when he tried to install Project 2003 on a machine deployed with the "single image" process that had the .NET Framework 3.5 installed in the original XP Pro image. The Project installation fails with the .NET Framework in this state.
The one obvious solution (the one my customer has chosen) is to not include the .NET Framework in the XP Pro image. My customer will be installing .NET Framework 3.5 as an operating system specific post deployment item in the SCCM Task Sequence. The other thing that seems to correct this if the .NET Framework is in the image, according to Barry's testing, is to initiate a repair on the highest version of the core Framework installed (1.1 or 2.0) after the deployment/conversion process.
These blog posts referenced below contain the command lines you should be able to use to repair the .NET Framework 2.0 RTM and 2.0 SP1:
Finally, a few fixes were made to one of the scripts. Barry discovered incorrect paths were written to files in certain SCCM deployment scenarios. The attachment has been updated with the newer version.
Please post comments with any feedback, suggestions, or issues.
Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the Terms of Use.
This post was contributed by Michael Murgolo, a Senior Consultant with Microsoft Services - U.S. East Region.
Hi Michael,
Excellent write up! After reviewing this, I only have one question regarding setup for MDT 2008 LTI.
I currently only use out of box drivers for Network and Mass Storage Device drivers. Is there a way to install the Digitizer drivers dynamically using DriversPaths in the CS.ini?
Thanks,
Rich
Hi Rich,
It will depend on the hardware manufacturer, but as long as the digitizer drivers are "NICE" drivers (see Ben's post - http://blogs.technet.com/deploymentguys/archive/2008/04/17/driver-management-part-2-mdt-2008.aspx) then you should be able to user DriverPaths as well.
Mike
Hi Mike,
Is this the process for extracting the appropriate drivers that we need to import into the Deployment Workbench?
To add the drivers for the Human Interface Device (HID) Digitizer Display to the \Digitizer directory, you must first extract the files from the i386 directory on CD1 of the Windows XP Tablet PC Edition 2005 media set. To extract the files, type the following commands at a command prompt:
expand d:\i386\hiddigi.in_ c:\sysprep\i386\digitizer\hiddigi.inf
expand d:\i386\mutohpen.sy_ c:\sysprep\i386\digitizer\mutohpen.sys
expand d:\i386\serial.sy_ c:\sysprep\i386\digitizer\serial.sys
expand d:\i386\wacompen.sy_ c:\sysprep\i386\digitizer\wacompen.sys
I forgot to ask this. What is the process for extracting the digitizer drivers for the hardware manufacturer?
Rich,
This will be no different that any other driver type and will vary by manufacturer. Some post them as Zip files. Others have self extracting EXE's. Some have installers that have an "extract" command line switch. Others include them are part of a sofware installation. It's all over the map.
As far as the drivers that can be expanded from CD1 of the Tablet media, those are fairly old. You will likely be able to get newer, better matched drivers from the manufacturer.
Michael Murgolo
TABLET Edition .net framework issues
Have you run into any of the known issues with the tablet/media center edition .net frameworks causing issues post install?
I've laid this framework out numerous times and the components actually install as necessary on only the tablet pc's, all works as normal. But the .net framework causes some major problems - the GAC is corrupted from the tablet OCM install of .net and i am unable to install any application that makes use of certain .net framework assemblies (MS office, visual studio, etc, even the .net framework service packs won't reinstall).
Looking for a hopeful solution to this.
Thanks!
Dustin,
Yes, we have see this issue with the .NET Framework. I actually have a draft of post on this topic. I'll try to finish it today.
I have set this up on an XP build without installing the .Net Framework. My tablets use the in-the-box digitizer, and I have extracted it and added it to my driver files for the tablet. But when it installs the image XP gets a Yellow bang on the driver (it installs but does not work properly). I am using Fujitsu tablets. Has anyone seen this behavior?
The driver bang you are seeing is most likely coming from one of the Fujitsu system devices. The "driver" software is embedded within the Fujitsu Button Software or the Fujitsu System Extension software. You have to extract the driver after installing on a reference machine. What is the PnP ID of the device showing the problem?
I have discovered the source of my problem. My image does not have hidclass.sys installed. Any thoughts on how to get this driver to install?
Please post the PnP IDs of problem devices. How did you determine that your problem was with the hidclass.sys.
Also, what model of Fujitsu Tablet are we talking about?
Actually, the problem was not with the Fujitsu's but with the machine I was building my image. I was using VMWare ESX to build my image, and since it did not have any USB devices the drivers did not get installed into the image. That said Windows should install them - one would think. I did find a solution - http://support.microsoft.com/kb/315973/en-us (see the section about Reinstall any missing files). Basically, I scripted this process in my build task sequence, and I have resolved the issue.
I determine the problem by using Dependancy Walker from the Support Tools on wacompen.sys on one of the tablets. It showed that hidclass.sys was missing. The three drivers referenced in http://support.microsoft.com/kb/315973/en-us were all missing
Mark,
Thanks for posting the questions and the solution. This appears to be solving the problem we've been seeing with the Lenovo tablets at my customer. I built the image in Hyper-V and those files were missing.
I’m so glad that we started this blog and that I’d blogged this topic. It would have taken a lot longer to figure this out. :-)