TL;DR; Don’t import the Dell ControlVault driver into MDT Litetouch 8443 or older. It will crash the driver import.
Case of the mysterious…
David Landry posted a good question on the MDTOSD forum on http://myITForum.com”
Just curious what everyone / anyone has done with the Dell driver problem they have with the new Latitude XX80 series laptops. I imported their CAB files into MDT and got error.
It took me a while to narrow down the problem, but I was able to get a stack trace of the error:
System.Management.Automation.CmdletInvocationException: Length cannot be less than zero. Parameter name: length ---> System.ArgumentOutOfRangeException: Length cannot be less than zero. Parameter name: length at System.String.Substring(Int32 startIndex, Int32 length) at Microsoft.BDD.PSSnapIn.InfInfo.CheckDriverFile(String filePath) at Microsoft.BDD.PSSnapIn.InfInfo..ctor(String infPath) ...
Looks like CheckDriverFile() function was trying to get a Substring() but the 2nd argument for Length was zero. Not much of a substring…
I opened my trusty Ilspy.exe and revealed:
Some further analysis reveals that the Dell ControlVault driver was the culprit, and I was able to dig down and find the file “Current_Version”. Current_Version has no File Extension, so it would cause the CheckDriverFIle() function to fail.
[cv_fw_copy] bcmLynx_1.otp ;CV Firmware binaries bcmLynx_7.otp clearscd.bin current_version sbiLynxA0_1.otp [...]
There is nothing technically wrong with the Dell Driver here, this is valid file. Additionally, this is the first time I have come across this bug in MDT, in the past 4 or so years this code has been active. It’s just an interoperability bug.
I have sent e-mail to both Microsoft and Dell. I’m hoping to qualify for the new Microsoft Bug Bounty program, but I’m not holding my breath. ;^)