Commit Graph

6 Commits

Author SHA1 Message Date
rbalsleyMSFT ed499a96b9 Remove FFU orchestration bootstrap before Sysprep
Delete the staged build-only script before final Sysprep. Warn and continue if removal fails.
2026-08-18 16:24:52 -07:00
rbalsleyMSFT 6809bb2edf Handle pending reboots before FFU sysprep
Detect pending reboot markers before invoking Sysprep and log the exact
reason, including CBS, Windows Update, WinSxS pending.xml, and every
PendingFileRenameOperations entry.

When a reboot is required, register a one-time Audit mode RunOnce retry
that reloads the Apps media, waits for Explorer, closes Audit-mode
Sysprep UI races, and relaunches Run-Sysprep.ps1.
2026-06-26 23:34:59 -07:00
rbalsleyMSFT a025812404 Add optional data partitions and Apps ISO discovery
Support configurable data partitions after Recovery, including UI/config persistence, VHDX cache layout signatures, fixed-size-before-fill-remaining creation, and safer Windows/Recovery partition detection during capture and apply.

Replace hard-coded D:\ Apps ISO assumptions with FFUAppsRoot discovery, token expansion, legacy D:\ BYO app path remapping, and a logged audit-mode orchestration bootstrap.

Update BYO apps, Hyper-V settings, and parameter documentation.
2026-06-22 18:44:20 -07:00
rbalsleyMSFT a501b32a03 feat: Implement per-user Appx package detection and removal for Sysprep automation
- Added logic to check for per-user Appx packages that are not provisioned for all users, which could block the Sysprep process.
- Introduced a hash set to store provisioned package families and collect current user Appx packages while excluding frameworks and non-removable packages.
- Implemented removal of non-provisioned Appx packages with error handling and re-checking to ensure all blockers are resolved before proceeding with Sysprep.
2025-08-18 15:54:11 -07:00
rbalsleyMSFT 8ab6603999 feat: Add new checkbox to Inject Unattend.xml to VM.
- Creates a new parameter [bool]InjectUnattend

- This will take the FFUDevelopment\Unattend\unattend_[arch].xml file and copy it to the FFUDevelopment\Apps\Unattend and rename the file to unattend.xml.

- This is useful for situations where you don't use the USB drive for deploying the FFU but still have Unattend-related customizations that you want to apply.
2025-08-14 16:20:55 -07:00
rbalsleyMSFT f162de89be - Added Apps\Orchestration folder with new orchestration workflow to replace InstallAppsAndSysprep.cmd file.
- Updated BuildFFUUnattend files to point to the new Orchestrator.ps1 file.
- Added new common and FFUUI.Core directories that house common/shared files between the UI and PS1 script. This breaks up each of the PS1 scripts to keep things smaller and more organized. Still a lot of work to do here to pull some stuff out of the PS1 scripts.
- Modified the CaptureFFU.ps1 file to include more info during the capture process to help with troubleshooting
- Too many functional changes to list here.
2025-05-26 11:54:14 -07:00