Repository navigation
Inline ForceDownload support and remove patch-file workflow - #1
Merged
Merged
Conversation
Re-enables the /f switch (previously removed in 1.0.9) so the BIOS executable can be forced to run even when the version is already current. This is required on newer Dell Pro / Dell S / Precision models that store the BIOS recovery image on NVMe. After OSD reimaging the recovery image is wiped and must be recreated by re-running the flash (Dell KB 000467636). Also respects the TS variable SMSTSForceDellBIOSFlash=True. Default behaviour remains without /f for safety.
When -ForceDownload is set (or TS vars SMSTSForceDellBIOSFlash / SMSTSForceBIOSDownload are True), the matched BIOS package is downloaded even if the installed version is already current. This stages the content required by Invoke-DellBIOSUpdate.ps1 -Force so the NVMe BIOS recovery image can be recreated after OSD on newer Dell Pro/S/Precision models (Dell KB 000467636).
When -ForceDownload is set (or TS vars SMSTSForceDellBIOSFlash / SMSTSForceBIOSDownload are True), the matched BIOS package is downloaded even if the installed version is already current. This stages the content required by Invoke-DellBIOSUpdate.ps1 -Force so the NVMe BIOS recovery image can be recreated after OSD on newer Dell Pro/S/Precision models (Dell KB 000467636).
… with ForceDownload) Run: powershell -File ._Expand-DownloadScript.ps1 This writes the complete script (78KB) with -ForceDownload support.
…ckage.ps1 v3.0.5 Run JOIN_AND_EXPAND.ps1 once to write the full 78KB script with -ForceDownload.
…3.0.5 (-ForceDownload) Run: powershell -File ._Expand-DownloadScript.ps1 This produces the complete 78 KB script with -ForceDownload support and TS variable handling for SMSTSForceDellBIOSFlash / SMSTSForceBIOSDownload. After expansion, delete the helper. The resulting Invoke-CMDownloadBIOSPackage.ps1 is the deliverable for the PR.
…ckage.ps1 v3.0.5 1. Run: powershell -File JOIN_AND_EXPAND.ps1 2. This joins the parts into _Expand-DownloadScript.ps1 and expands the full 78KB script with -ForceDownload. 3. Delete the helper files afterwards. The resulting Invoke-CMDownloadBIOSPackage.ps1 is the PR deliverable (plus the already-updated Invoke-DellBIOSUpdate.ps1).
…nload.patch so it applies cleanly - Restored Invoke-CMDownloadBIOSPackage_Legacy.ps1 (unrelated deletion removed) - Regenerated ForceDownload.patch with correct paths; verified it applies cleanly to upstream main and produces the exact v3.0.5 script with -ForceDownload - Branch now contains only intentional feature changes + the reviewable patch
Co-authored-by: vartaxe <11176349+vartaxe@users.noreply.github.com>
Co-authored-by: vartaxe <11176349+vartaxe@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
vartaxe
August 15, 2026 01:43
View session
vartaxe
marked this pull request as ready for review
August 15, 2026 01:43
There was a problem hiding this comment.
Pull request overview
This pull request removes the external ForceDownload.patch workflow and makes Invoke-CMDownloadBIOSPackage.ps1 self-contained by adding native -ForceDownload handling (including task-sequence variable-based enablement) so BIOS package content can be staged even when the installed BIOS version is already current—supporting Dell recovery-image recreation scenarios after OSD.
Changes:
- Added a
-ForceDownloadswitch toInvoke-CMDownloadBIOSPackage.ps1and logic to force content staging when BIOS is already current. - Enabled
-ForceDownloadautomatically via TS variables (SMSTSForceDellBIOSFlash/SMSTSForceBIOSDownload) when the switch isn’t explicitly passed. - Removed
ForceDownload.patchand updatedREADME.mdto document the repository as ready-to-use without patching.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| README.md | Removes patch-application instructions and documents built-in -ForceDownload support. |
| Invoke-CMDownloadBIOSPackage.ps1 | Implements -ForceDownload, TS-variable enablement, and forced staging behavior; bumps script version to 3.0.5. |
| ForceDownload.patch | Deletes the now-unneeded patch file to make the repo self-contained. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change removes the external patch step for
Invoke-CMDownloadBIOSPackage.ps1and makes the repository self-contained. The Dell recovery-image flow now ships directly in the script instead of being carried separately inForceDownload.patch.What changed
-ForceDownloadsupport toInvoke-CMDownloadBIOSPackage.ps1SMSTSForceDellBIOSFlash/SMSTSForceBIOSDownloadtask-sequence variables inside the scriptRepository cleanup
ForceDownload.patchREADME.mdto describe the repo as ready-to-use rather than patch-basedBehavior
Invoke-DellBIOSUpdate.ps1 -Forceremains paired with BIOS package download staging