OSD icon indicating copy to clipboard operation
OSD copied to clipboard

Invoke-OSDCloudDriverPackCM Failing to Extract Driver

Open Herc08 opened this issue 2 months ago • 7 comments

Describe the bug When trying to extract the driver using Invoke-OSDCloudDriverPackCM, if a filename has a dot in it, it will not get extracted due to the code splitting it off the dot. Using Split-Path would resolve this.

To Reproduce Steps to reproduce the behavior: When downloading a driver for the Dell Pro Max T2 Tower, we get the following from the logs

-Name Dell FCT2250 Win11 A01
-BaseName FCT2250-15WH7_Win11_1
-Product 0CE1 0CE2
-FileName FCT2250-15WH7_Win11_1.0_A01.exe
-Url http://downloads.dell.com/FOLDER13500586M/1/FCT2250-15WH7_Win11_1.0_A01.exe

As you can see, the basename and filename are different.

This leads to the error: Did not find EXE file to attempt to extract.

Expected behavior The basename should be the same as the filename.

Desktop (please complete the following information):

  • OS: Windows PE
  • Hardware: Dell Pro Max Tower T2

Additional context If you go change line 126 to something like $GetMyDriverPackBaseName = (Split-Path $GetMyDriverPack.FileName -Leaf) then you would get the proper file name.

Herc08 avatar Oct 22 '25 13:10 Herc08

It seems I was incorrect. You want to use [System.IO.Path]::GetFileNameWithoutExtension() to get the BaseName similar to (Get-Item C:\path\to\file.exe).BaseName

Herc08 avatar Oct 23 '25 13:10 Herc08

I think this just bit me too. I have a handful of Dell FCS1250 that I'm re-imaging and ran multiple installs on 11/24 without issue with driver pack A02. Tried to update some more yesterday and saw that it updated to A03 and the extraction seems to be failing. On reboot I get a failure INACCESSIBLE_BOOT_DEVICE likely because it's missing the drivers.

I do see the driver pack file name has a . in the name, but I can't confirm whether or not A02 did either.

https://downloads.dell.com/FOLDER13656461M/1/FCS1250-TW19T_Win11_1.0_A03.exe

[11/26/2025 6:43:45 AM]
OSDCloud DriverPack
DriverPack has been matched to Dell FCS1250 Win11 A03
Matching DriverPack identified
-Name Dell FCS1250 Win11 A03
-BaseName FCS1250-TW19T_Win11_1
-Product 0CFD 0CFE
-FileName FCS1250-TW19T_Win11_1.0_A03.exe
-Url http://downloads.dell.com/FOLDER13656461M/1/FCS1250-TW19T_Win11_1.0_A03.exe
Testing Paths:
  D:\OSDCloud\DriverPacks\DISM\Dell\0CFD
  D:\OSDCloud\DriverPacks\DISM\Dell\Dell Pro Max Slim FCS1250
  D:\OSDCloud\DriverPacks\DISM\Dell\TW19T
Found expanded Driver Pack files on OSDCloudUSB, will DISM them into the Offline OS directly
Checking locations for Drivers
Found Drivers: D:\OSDCloud\DriverPacks\DISM\Dell\Dell Pro Max Slim FCS1250
Starting DISM of drivers while Offline
Finished Process with Exit Code: 2

I tried to copy and rename the file in D:\OSDCloud\DriverPacks\DISM\Dell\Dell Pro Max Slim FCS1250 but it also seems to be failing to extract. Kind of stuck here as I'm a novice in this tooling.

chriscarpenter12 avatar Nov 26 '25 19:11 chriscarpenter12

I determined the issue wasn't the dot, but trying to apply drivers AFTER the first reboot. If a device's SATA mode is is RAID, this would most likely fail. Since Dell's driver pack is just an archive, I unzip it, load it into DISM, and then reboot. This has worked 100$ of the time.

Herc08 avatar Nov 26 '25 20:11 Herc08

I’ll have to dig more then. I built a few over the last few days from the same usb then it broke yesterday. All previous systems did have RAID set by default. Not sure how it worked on the first few systems. Did you call dism while booted in WinPE or extract it in the usb Drivers/DISM folder?

chriscarpenter12 avatar Nov 26 '25 22:11 chriscarpenter12

So I am using MECM for this, so all of this occurs during WinPE. I modified the Invoke-OSDCloudDriverPackCM script to download the pack, extract it, and inject using DISM while all in WinPE.

Here is my slight modification. I tried to make a PR, but I am very new to Git, so I don't really understand it.

elseif ((Get-Item $OSDiskDriversFile).VersionInfo.CompanyName -match 'Dell') {
              #Will be used to detect Dell driver packs
              Write-Host "Found EXE File: $($ReadyDriverPack.FullName)"
              Show-TSActionProgress -Message "Attempting to Extract Dell Driver Pack: $($ReadyDriverPack.FullName)" -Step 3 -MaxStep 5 -ErrorAction SilentlyContinue
              Write-Output "Detected Dell model, and will extract in [$OSDiskDrivers\$GetMyDriverPackBaseName]"
              try {
              Start-Process -FilePath $ReadyDriverPack.FullName -ArgumentList "/s /e=`"$OSDiskDrivers\$GetMyDriverPackBaseName`"" -Wait
              }
              catch {
                  Write-Output "Failed to Extract Dell Drivers"
              }
              if (Test-Path "$OSDiskDrivers\$GetMyDriverPackBaseName") {
                  Show-TSActionProgress -Message "Applying Dell Driver Pack: $($OSDiskDrivers)\$($GetMyDriverPackBaseName)" -Step 4 -MaxStep 5 -ErrorAction SilentlyContinue
                  Write-Output "Starting DISM /image:$OSDISK\ /Add-Driver /driver:$($OSDiskDrivers)\$($GetMyDriverPackBaseName) /recurse"
                  $ArgumentList = "/image:$OSDISK\ /Add-Driver /driver:`"$OSDiskDrivers\$GetMyDriverPackBaseName`" /recurse"
                  $null = Start-Process -FilePath 'dism.exe' -ArgumentList $ArgumentList -Wait -NoNewWindow
                  $PPKGMethod = $false
              }
              else {
                  Write-Output "Unable to Extract and Apply Dell Driverpack in WinPE, continue to PPKG method"
              }
          }
          else {
              Write-Output "Did not find EXE file to attempt to extract"
          }

Herc08 avatar Nov 26 '25 22:11 Herc08

Shoot, ok. I’ll have to dig more. I couldn’t figure out why it randomly started failing

chriscarpenter12 avatar Nov 26 '25 22:11 chriscarpenter12

Turns out the issue wasn't OSD at all, but the driver pack itself from Dell released on 11/25 wasn't digitally signed and failed to extract. Tried two different downloads

PS C:\> signtool.exe verify C:\Users\x\Desktop\FCS1250-TW19T_Win11_1.0_A03.exe
File: C:\Users\x\Desktop\FCS1250-TW19T_Win11_1.0_A03.exe
Index  Algorithm  Timestamp
========================================
SignTool Error: No signature found.
Number of errors: 1

I extracted the previous A02 version from one of the other setup computers and extracted it to the usb DISM directory and the new install worked without issue. I selected None as the driver pack during install.

chriscarpenter12 avatar Nov 27 '25 23:11 chriscarpenter12