Skip to content

Invoke-OSDCloud ignores Microsoft Update Catalog settings chosen in OSDCloudGUI and always downloads Update Catalog drivers #363

@nogaff

Description

@nogaff

Describe the bug
Disabling any of the Microsoft Update Catalog options in the GUI after a Start-OSDCloudGUI has no effect and clicking Start causes Invoke-OSDCloud to download all the Microsoft Update Catalog drivers/firmware regardless.

To Reproduce
Steps to reproduce the behavior:

  1. Build an ISO with Edit-OSDCloudWinPE -StartOSDCloudGUI (and whatever other parameters you like).
  2. Boot from it.
  3. Make sure a device-specific driver pack is selected in the GUI.
  4. Disable all the Microsoft Update Catalog options in the GUI, i.e. "update Disk Drivers, update System Firmware, updateNetworkDrivers, update SCSIAdapter Drivers".
  5. Click Start.

Expected behavior
Invoke-OSDCloud does not download any drivers/firmware from the Microsoft Update Catalog.

Actual behavior
Invoke-OSDCloud ignores your choices and downloads all the drivers/firmware from the Microsoft Update Catalog.

I believe this is occurring because Projects/OSDCloudGUI/MainWindow.ps1 sends the following settings keys to Invoke-OSDCloud:

updateDiskDrivers    = [System.Boolean]$formMainWindowControlupdateDiskDrivers.IsChecked
updateFirmware       = [System.Boolean]$formMainWindowControlupdateFirmware.IsChecked
updateNetworkDrivers = [System.Boolean]$formMainWindowControlupdateNetworkDrivers.IsChecked
updateSCSIDrivers    = [System.Boolean]$formMainWindowControlupdateSCSIDrivers.IsChecked

but in Public/OSDCloud.ps1 the following "Master Settings" keys are set and later evaluated:

MSCatalogFirmware    = $true
MSCatalogDiskDrivers = $true
MSCatalogNetDrivers  = $true
MSCatalogScsiDrivers = $true

So, because the key names coming from the GUI are different to the key names used in Invoke-OSDCloud, the Master Settings never get overwritten by the GUI choices, meaning the conditions that check whether to execute the Microsoft Update Catalog downloads always see the default $true values.

Looks like the key names in MainWindows.ps1 were changed 3 years ago (6f003fa) but were never updated to match in OSDCloud.ps1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions