I’m working on a Windows XP to Windows 7 migration project (I think we’ll all be working on those for the next couple of years!) using a standalone MDT 2010 solution. Overall it’s been working great and the improvements in MDT over each version have resulted in a really impressive deployment platform.
I’ve got a Windows XP REFRESH scenario working and USMT is doing what it’s supposed to do even with hardlinking enabled and working automatically. But it’s not capturing the users’ mapped printers and network drives, or other user settings. My Documents, desktop items, IE favourites, those are all fine.
It took a fair bit of digging but I finally came across this in USMTcapture.log
?2009-09-23 15:16:05, Info [0x000000] Downlevel Manifests folder is not present. System component settings will not be gathered.
This Downlevel Manifests folder is pretty important. It’s used to gather all of those user settings from older operating systems like Windows XP.
I poked around and the DlManifests folder was being copied from the deployment share and it looked like the correct folder structure was in place:
Scanstate.exe just wasn’t finding the DlManifests folder. On a hunch, I ended up modifying the ZTIUserState.wsf script to specifically set the current working directory to “C:\MININT\USMT” and it fixed the problem!
Here’s what I added to ZTIUserState.wsf starting around line 620:
On Error Resume Next
‘*** BEGIN MODIFICATIONS ***
Dim objShell
Dim sCurDir
‘ Save current directory
sCurDir = oFSO.GetAbsolutePathName(“.”)
oLogging.CreateEntry “Saved current directory: ” _
& sCurDir, LogTypeInfo
‘ Set the current directory to sUSMTPath
Set objShell = CreateObject(“WScript.Shell”)
objShell.CurrentDirectory = sUSMTPath
oLogging.CreateEntry “Set current directory: ” _
& sUSMTPath, LogTypeInfo
‘*** END MODIFICATIONS ***
sCmd = “cmd /c “”"”" & sUSMTPath & “\scanstate.exe”" ” _
& sScanStateArgs & ” > nul 2>&1″”"
iRetVal = oUtility.RunWithHeartbeat(sCmd)
‘*** BEGIN MODIFICATIONS ***
‘ Reset current directory to original value
objShell.CurrentDirectory = sCurDir
oLogging.CreateEntry “Set current directory: ” _
& sCurDir, LogTypeInfo
‘*** END MODIFICATIONS ***
UPDATE: I’ve attached the working ZTIUserState.wsf script. Big note, this is a modified MDT 2010 RC script. I’m not sure if there are other changes between RC and RTM. I’ll take a look when I find a spare hour!
UPDATE2: Thanks Johan for confirming below that the fix applies to both MDT 2010 RC and RTM.
UPDATE3: This same fix works for MDT 2010 RC and RTM. The only difference (confirmed by Johan below) is the version number in the script comments. I’ve updated the attachment to include the RTM version of the script.













#1 by John on September 29th, 2009
Quote
Can you add your working ZTIUserState.wsf as an attachment here for download?
#2 by Michael on October 1st, 2009
Quote
Nice catch!
#3 by Chad Ingles on October 1st, 2009
Quote
Got word from Michael Niehaus (one of the Microsoft MDT guys) that they’re looking into the issue and may release an official fix for it.
#4 by Johan Arwidmark on November 13th, 2009
Quote
There are no changes in ZTIUserState.wsf between version 5.0.1631.0 and 5.0.1641.0. Thanks for sharing…
#5 by Carl on November 16th, 2009
Quote
Thanks for sharing the information…as an aside to this can anybody let me know how they got hardlinking to working in a XP –> Windows 7 refresh scenario please?
I thought I had everything set up correctly but all my tests seem to avoid using hardlink….
Thanks in advance
#6 by Jeremy Gillean on November 16th, 2009
Quote
Nice job. And, good timing. This will surely prevent a few headaches. Thanks.
Pingback: MDT 2010 – USMT Bug - Mike's Tech Head Blog
#7 by Chad Ingles on November 17th, 2009
Quote
Hi Carl,
We used hard-linking for a Windows XP to 7 migration project. It just worked by default out of the box. In this case we were initiating LTI by running LiteTouch.vbs using the full UNC path to the MDT server from within the existing XP operating system.
#8 by Carl on November 17th, 2009
Quote
Thanks Chad – I’m trying pretty much the same, of course I did configure my customsettings.ini to backup user data to a share for previous (MDT 2008) deployments…perhaps this is ‘forcing’ USMT 4 to default to a non-hardlink migration..?
In other words did you configure your CS.ini file for USMT/Refresh scenarios? Or just left it without any special config??
Thanks again
#9 by Chad Ingles on November 17th, 2009
Quote
You likely need to set UserDataLocation=AUTO in your customsettings.ini. From the MDT 2010 docs:
UserDataLocation=AUTO:
The deployment scripts store the user state migration data on a local hard disk if space is available. Otherwise, the user state migration data is saved to a network location, which is specified in the UDShare and UDDir properties.
Pingback: USMT Issues with MDT 2010 | System Center Ideas - Rod Trent at myITforum.com
#10 by Carl on November 18th, 2009
Quote
Thanks Chad,
Your response confirms I’m looking in the right place but just not having any luck!
I’ll keep working on this, I’m sure its probably a typo or perhaps lack of local disk space on my test machine (its on a 40GB drive with only my user state so this sounds enough however)….
Anyway thanks again
Carl
#11 by Carl on November 18th, 2009
Quote
Here are a few links I have stumbled upon which may help others…
http://www.petervanderwoude.nl/post/ConfigMgr-2007-USMT-40-and-using-Hard-Links.aspx
http://technet.microsoft.com/en-us/library/dd939980%28WS.10%29.aspx
http://technet.microsoft.com/en-us/library/dd560758%28WS.10%29.aspx
#12 by Carl on December 23rd, 2009
Quote
And another good link:
http://deployment.xtremeconsulting.com/2009/11/20/understanding-usmt-with-mdt-2010/
#13 by Chad Ingles on January 25th, 2010
Quote
Microsoft has released a KB article with their supported/sanctioned fix for this issue: http://support.microsoft.com/kb/977565
#14 by juan on June 8th, 2010
Quote
doesnt apply the configuration of Windows Mail that i migrate from Outlook express.
I used MDT 2010 and Windows AIK
#15 by Srini on July 16th, 2010
Quote
We are planning OS Refresh from XP to Windows 7 by using MDT 2010, all my XP machines has C (OS) Drive partition 8 GB, which is not enough to deploy win7 on those machine, Please can advsie if there is any work around thorough MDT to set the C drive partition size 40 GB and refresh the OS to Windows 7