Skip to content
foundry-osdPublic

About

Automated catalog repository for Foundry, providing up-to-date Windows, driver, WinPE, and external resource metadata from Microsoft, Dell, HP, Lenovo, and Surface.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

292 Commits

Folders and files

Repository files navigation

Catalog

Automation repository responsible for generating and maintaining dynamic download manifests and external resource metadata for Foundry.

Architecture

All catalog generators now produce XML-only outputs (no more JSON). Unified catalogs are generated by Build-UnifiedDriverPackCatalog.ps1 after update scripts complete.

Common Components

  • Helpers Module: Helpers/FoundryHelpers.psm1 - Common functions shared across all scripts
  • Unified Schema: Schemas/UnifiedDriverPackCatalog.xsd - XSD schema for the unified catalog

Unified Driver Pack Catalog

After update scripts (Dell, HP, Lenovo, Surface) complete successfully, run the unified script to generate both consolidated catalogs:

  • Script: Scripts/Build-UnifiedDriverPackCatalog.ps1
  • Outputs:
    • Cache/DriverPack/DriverPack_Unified.xml - Unified DriverPack catalog
    • Cache/WinPE/WinPE_Unified.xml - Unified WinPE catalog
  • Schema: Schemas/UnifiedDriverPackCatalog.xsd

These unified catalogs normalize all manufacturer-specific formats into consumable XML files for Foundry, separated by category (DriverPack vs WinPE).

Run manually:

pwsh -NoProfile -File ./Scripts/Build-UnifiedDriverPackCatalog.ps1

In GitHub Actions, run-scripts-daily.yml executes all Update-*.ps1 scripts first and runs Build-UnifiedDriverPackCatalog.ps1 only after those jobs succeed.

Operating System Catalog

This repository includes a PowerShell generator that retrieves Windows 11 products.cab metadata from official Microsoft-hosted sources, extracts products.xml, and writes deterministic ESD cache outputs.

  • Script: Scripts/Update-OSCatalog.ps1
  • Schema: Schemas/OperatingSystem.schema.json
  • Outputs:
    • Generated source metadata: Cache/OS/Microsoft/*.xml
    • Cache/OS/OperatingSystem.xml
    • Cache/OS/README.md

Run:

pwsh -NoProfile -File ./Scripts/Update-OSCatalog.ps1

The script targets Windows 11 24H2, 25H2, and 26H2, as defined in Config/Windows11Releases.psd1. It uses a Microsoft-hosted products.cab link for 24H2, retains the checked-in Microsoft source snapshots for 25H2 (ArchiveOnly), and resolves the current 26H2 metadata through Windows Update. The dynamic endpoint advances when Microsoft publishes a new release, so it must not remain assigned to an older release. Downloaded media must match the configured build before publication; a failed download does not silently fall back to archived metadata.

Source snapshots retain 12 calendar months of history, with at least the newest snapshot kept for each targeted release. Snapshots for releases removed from the configuration are deleted during a successful refresh. Catalog availability follows Foundry's supported release list.

Generated source files use the naming convention Win<major>_<releaseId>_<build>_<mediaDate>.xml, for example Win11_24H2_26100.4349_20250607.xml.

Dell Catalog

This repository also includes a PowerShell generator that pulls Dell Driver Pack Catalog metadata from a CAB, extracts DriverPackCatalog.xml, and writes split outputs for DriverPack and WinPE catalogs.

  • Script: Scripts/Update-DellCatalog.ps1
  • Schema: Schemas/DellCatalog.schema.json
  • Outputs:
    • Cache/DriverPack/Dell/DriverPack_Dell.xml
    • Cache/DriverPack/Dell/README.md
    • Cache/WinPE/Dell/WinPE_Dell.xml
    • Cache/WinPE/Dell/README.md
    • Cache/DriverPack/DriverPack_Unified.xml (generated by Build-UnifiedDriverPackCatalog.ps1)
    • Cache/WinPE/WinPE_Unified.xml (generated by Build-UnifiedDriverPackCatalog.ps1)

Run:

pwsh -NoProfile -File ./Scripts/Update-DellCatalog.ps1

HP Catalog

This repository includes a PowerShell generator that pulls HP DriverPack metadata from HPClientDriverPackCatalog.cab and WinPE pack metadata from HP's WinPE page.

  • Script: Scripts/Update-HPCatalog.ps1
  • Schema: Schemas/HPCatalog.schema.json
  • Outputs:
    • Cache/DriverPack/HP/DriverPack_HP.xml
    • Cache/DriverPack/HP/README.md
    • Cache/WinPE/HP/WinPE_HP.xml
    • Cache/WinPE/HP/README.md
    • Cache/DriverPack/DriverPack_Unified.xml (generated by Build-UnifiedDriverPackCatalog.ps1)
    • Cache/WinPE/WinPE_Unified.xml (generated by Build-UnifiedDriverPackCatalog.ps1)

Run:

pwsh -NoProfile -File ./Scripts/Update-HPCatalog.ps1

Surface Catalog

This repository includes a PowerShell generator that builds Surface DriverPack metadata from Microsoft's Surface support article.

  • Script: Scripts/Update-SurfaceCatalog.ps1
  • Schema: Schemas/SurfaceCatalog.schema.json
  • Outputs:
    • Cache/DriverPack/Surface/DriverPack_Surface.xml
    • Cache/DriverPack/Surface/README.md
    • Cache/DriverPack/DriverPack_Unified.xml (generated by Build-UnifiedDriverPackCatalog.ps1)

Run:

pwsh -NoProfile -File ./Scripts/Update-SurfaceCatalog.ps1

Lenovo Catalog

This repository includes a PowerShell generator that builds Lenovo DriverPack metadata from Lenovo's catalogv2.xml.

  • Script: Scripts/Update-LenovoCatalog.ps1
  • Schema: Schemas/LenovoCatalog.schema.json
  • Outputs:
    • Cache/DriverPack/Lenovo/DriverPack_Lenovo.xml
    • Cache/DriverPack/Lenovo/README.md
    • Cache/DriverPack/DriverPack_Unified.xml (generated by Build-UnifiedDriverPackCatalog.ps1)

Run:

pwsh -NoProfile -File ./Scripts/Update-LenovoCatalog.ps1

About

Automated catalog repository for Foundry, providing up-to-date Windows, driver, WinPE, and external resource metadata from Microsoft, Dell, HP, Lenovo, and Surface.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Used by

Contributors

Languages