When running a SCCM 2007 SP2 Task Sequence with a "Capture User State" task that utilizes USMT 4, files are properly captured and restored but settings may not be. The SMSTS.log will not show any errors, however the scanstate.log will show the following error:
<Date> <Time>, Info [0x000000] Downlevel Manifests folder is not present. System component settings will not be gathered.
Settings that may not be captured include printers, mapped network drives, and wallpaper.
In order for USMT 4 to capture settings correctly via scanstate.exe, it needs access to the DlManifests folder that is part of the USMT 4 binaries. Scanstate.exe looks for the DlManifests folder in the current working directory instead of the directory where scanstate.exe was run from. If the location where scanstate.exe runs from is not the same as the working directory and/or if the working directory does not contain the DlManifests folder, then scanstate.exe will not have the ability to capture settings.
When scanstate.exe is run manually outside of an SCCM 2007 Task Sequence, the working directory usually matches the directory where scanstate.exe runs from. However, when scanstate.exe is launched using an outside process, such as an SCCM 2007 Task Sequence via the "Capture User State" task, the working directory may not match the directory where scanstate.exe is run from.
In the case of Configuration Manager 2007, the working directory for both 32bit and 64bit Windows OSs is:
Since this is not the location that scanstate.exe was launched from and/or that the DlManifests folder is located, scanstate.exe does not find the folder and it fails to capture settings.
To work around the issue, add a task in the Task Sequence that copies the DlManifests folder from the USMT 4 package to the default working directory used by SCCM 2007 OSD Task Sequences:
1) In the SCCM 2007 Admin Console, under the "Computer Management" -->"Software Distribution" --> "Packages" node, right click on the USMT 4 packages and choose "Properties".
2) Click on the "Data Source" tab and ensure that the "Source directory" field is pointing to the root level of the USMT folder. It should not be pointing to either the x86 or amd64 folders. Only one package should be necessary for both x86 or x64 deployments. If the "Source directory" field is pointing directly to either the x86 or amd64 folders, correct this by pointing the source directory one level up to the root of the USMT folder. If corrections are necessary, after making the correction, make sure to update (not refresh) the Distribution Points that the USMT 4 package is on.
3) In the SCCM 2007 Admin Console, under the "Computer Management" -->"Operating System Deployment" --> "Task Sequences" node, right click on the affected Task Sequence and choose "Edit".
4) Immediately before the "Capture User State" task, add a "Run Command Line" task.
5) In the newly created Run Command Line task:
a) Click on the "Package" checkbox, then click on the "Browse" button of the "Package" option and select the USMT 4 package.
b) Check the option "Disable 64-bit file system redirection".
c) In the "Name:" field, type in:
Copy DlManifests folder to working directory
d) In the "Command Line:" field, type in:
xcopy /e .\%PROCESSOR_ARCHITECTURE%\DlManifests\*.* %windir%\system32\DlManifests\*.* /Y
6) Click on the "Apply" button to save the Task Sequence.
To resolve the issue when using an MDT 2010 standalone Task Sequences, please see KB977565:
Network drives and network printers are not migrated when you use Microsoft Deployment Toolkit 2010 with the User State Migration Tool (USMT) 4.0 - http://support.microsoft.com/kb/977565
Note: Special thanks to Alexey Semibratov for identifying the root cause of this issue.
Frank Rojas | System Center Support Escalation Engineer