MDT 2013–Windows 8.1 fails to install .NET Framework 3.5 with Error 0x800f081f

Had an issue where MDT was refusing to apply the .NET Framework 3.5. Looking at the DISM UI logs showed this error:

Error: 0x800f081f The source files could not be found. Use the "Source" option to specify the location of the files that are required to restore the feature. For more information on specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077.

And some extracts from the DISM log:

2015-04-21 09:37:24, Info                  DISM   DISM.EXE: Executing command line: C:windowssystem32DISM.exe  /Online /Enable-Feature /FeatureName:"NetFx3" /Source:"C:MININTsourcesX64" /LimitAccess /All /NoRestart /logpath:C:MININTSMSOSDOSDLOGSZTIOSRole_Dism.log 
2015-04-21 09:37:48, Error                 DISM   DISM Package Manager: PID=3708 TID=3756 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg

MDT has been capable of installing Roles and Features in 8.x since MDT 2012 Update 1, and my setup had previously worked.

image

After much searching around, it turns out there’s an issue if some security updates have been installed before the .NET Framework 3.5 is installed. Microsoft have released this update to resolve the issue. It simply uninstalls the security updates, thereby allowing the .NET Framework to install successfully.

I added the hotfix into MDT as an application, and inserted it into the task sequence just prior to the Install Roles and Features step. Problem solved.

image

Native resolution not set after deploying via MDT 2010

If your machines aren’t automatically having their display resolution set to their monitor’s native resolution after deployment via MDT, this may be the cause of the problem.

Although I’d previously deployed Vista and Windows 7 using MDT 2010, I’d never seen this problem. The issue occurred with a captured HP ProBook x86 Windows 7 Professional build.

I had to edit the unattend.xml for the task sequence in question, and delete the Display section from oobeSystem –> x86_Microsoft-Windows-Shell-Setup_neutral. Once this was done, the strange default of 1024 x 768 (where did that come from?) was no longer applied, and Windows Setup detected and set the maximum resolution.

WSIM-res_issue

MDT/WSIM fails to catalog a captured Windows 7 image

Had an issue today where I was trying to catalog a captured Windows 7 WIM image, both through MDT 2010 and through WSIM directly.

Doing so comes up with an error:

Performing operation "generate" on Target "Catalog".
The operation failed to complete.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentNullException: String reference not set to an instance of a String.
Parameter name: source
   at System.Globalization.CompareInfo.IsPrefix(String source, String prefix, CompareOptions options)
   at ?A0xfe36268f.ConvertToNtPath(String path)
   at Microsoft.ComponentStudio.ComponentPlatformInterface.CbsSessionAdaptor..ctor(String bootDrive, String imageWinDir, String servicingPath)
   at Microsoft.ComponentStudio.ComponentPlatformInterface.OfflineImageImpl.InitializePackages()
   at Microsoft.ComponentStudio.ComponentPlatformInterface.OfflineImageImpl..ctor(OfflineImageInfo imageInfo)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at Microsoft.ComponentStudio.ComponentPlatformInterface.Cpi.PlatformImplementation.CreateOfflineImageInstance(OfflineImageInfo imageInfo)

2012-01-06 11-55-50_DeploymentWorkbench - [Deployment Workbench_Deployment Shares_Sydney MDT Deploym

The captured image I was trying to work with was of a 32-bit machine, and the WAIK tools I have installed on my desktop are the 64-bit ones.

The solution, as I learned here after a bit of searching, is to re-run the catalog operation on an x86 machine.

As you can’t install the 32-bit tools on a 64-bit machine, I installed the 32-bit tools on my laptop, fired up WSIM, opened the WIM image, re-ran the catalog operation, and it succeeded without errors.

You’d think that they could catch the exception and give you a useful message about running the catalog again on a compatible machine, but no…