Compare commits

...

9 Commits

Author SHA1 Message Date
rbalsleyMSFT 0153176278 Update winget installation command for PowerShell
Clarify installer type for PowerShell installation using winget.
2026-05-04 15:24:48 -07:00
rbalsleyMSFT 8774fb4ef0 Updates quickstart video to 2604.1 release
Replaces the previous preview video link with the newly updated tutorial for the 2604.1 release. Relocates the older video into the archived section.
2026-04-24 11:29:07 -07:00
rbalsleyMSFT 10a8887281 Merge pull request #473 from rbalsleyMSFT/UI
Removes previous release notes from documentation
2026-04-17 12:06:00 -07:00
rbalsleyMSFT f29319efc4 Removes previous release notes from documentation
Cleans up the introductory section by removing specific patch notes and release announcements. This streamlines the content to maintain focus on general usage and instructions rather than transient update news.
2026-04-17 12:04:41 -07:00
rbalsleyMSFT 37a9572c97 Merge pull request #472 from rbalsleyMSFT/UI
2604.1
2026-04-16 17:04:19 -07:00
rbalsleyMSFT b21d20d414 Updates changelog for version 2604.1 release
Documents the new features, improvements, and fixes included in the 2604.1 release. Highlights include the transition to Fluent UI styling alongside PowerShell 7.6, direct VHDX capturing for improved build times, and new UI controls for device naming and unattend file paths. Also notes critical fixes for Surface and Lenovo driver downloads, as well as image servicing reliability following recent Windows updates.
2026-04-16 16:55:04 -07:00
rbalsleyMSFT fedb45a419 Merge pull request #470 from rbalsleyMSFT/Fluent
Fluent
2026-04-16 16:37:08 -07:00
rbalsleyMSFT a3a2bce652 Reverts to using hardcoded Lenovo PSREF token
Switches back to utilizing the static cookie for Lenovo PSREF requests, as the token has remained unchanged for months. The dynamic retrieval function call is bypassed to streamline the process but remains in the codebase as a fallback in case the token expires or changes in the future.
2026-03-25 10:43:55 -07:00
rbalsleyMSFT cfdf0af878 Updates Microsoft Surface driver model discovery
Transitions the Microsoft Surface driver model list retrieval to use a centralized Learn-based index. This change unifies the scraping logic between the CLI and UI components, ensuring consistency and simplified maintenance. Cached model lists now serve both interfaces efficiently, reducing unnecessary network requests while retaining fallback mechanisms.
2026-03-23 14:47:39 -07:00
4 changed files with 70 additions and 10 deletions
+58
View File
@@ -1,5 +1,63 @@
# Change Log # Change Log
# 2604.1
## What's Changed
### Fluent style
With the release of PowerShell 7.6 finally going to GA, I was able to release the Fluent UI styling refresh. This will bring significant improvement to the look and feel of FFU Builder. Note that you will want to make sure you're running **PowerShell 7.6**, otherwise the listviews for Drivers and Applications will be missing the column headers.
### Build tab reorganization
The build tab sections now have expanders for the settings within. This should help with organization of each setting.
### Home page build and release status
The Home page of FFU Builder will now tell you what build you're on and if there's a new build along with the release notes for the new build. You can also see disk space and hyper-v status, as well as the latest Github repo discussions and a list of resources.
### Fixed an issue with Surface and Lenovo driver downloads
Microsoft changed the Surface driver download support page. FFU Builder now uses the [Microsoft Learn page for Surface driver downloads ](https://learn.microsoft.com/en-us/surface/manage-surface-driver-and-firmware-updates) that's designed for IT Admins. It's an easier table to parse rather than trying to parse the updated support page that FFU Builder used to use.
Fixed an issue where retrieving Lenovo models was failing.
### Removed Capture ISO
FFU Builder no longer relies on booting to WinPE to capture builds done via the VM. Instead, FFU Builder will now just capture the VHDX directly. This improves FFU build times tremendously and reduces the need for the VM Switch. The switch is still necessary for those that want to add internet connectivity during the FFU build process.
### Refresh Windows SKU after fallback SKU selection
Fixed an issue grabbing the correct Windows SKU when the user incorrectly chose a SKU that wasn't in the media and had to later be prompted for an available SKU. In this situation the SKU that was provided earlier was chosen, which caused a variety of issues.
### Removed registry-based FFU file naming
Removed registry-based FFU file naming and now rely on parameters provided at build time and the custom FFU naming template. This will remove the hard coded wait times that had to do with loading/unloading of the registry.
### Added a checkbox to enable network connectivity during VM build
Add a checkbox to enable network connectivity during the VM build. I'm fairly confident that the build process should be able to withstand any sysprep-related issues being connected to the internet. The checkbox is flagged as experimental. Give it a try and let me know if you notice any issues.
### Added UI controls for Device Naming
Device naming now has an expander in the Build tab that will expose a number of new options available. Rather than writing up a whole thing here in the release notes, the UI should be intuitive enough to explain how it works. The docs have also been updated. I spent a lot of time testing the changes with both legacy naming scenarios and if you make changes in the UI. If you see something that doesn't work, open a discussion or issue.
### Fixed Office installation issues on ARM64 VMs
I actually didn't fix anything, but rather removed a restriction that was put in place due to Office requiring internet access to install on ARM64. It seems the PG has fixed the issue requiring internet access and office will now install. However there's a caveat that it will prompt with a compatibility assistant popup. I think we can disable the compatibility assistant service to prevent the pop up from happening in the orchestrator. Will look into this in a future release.
### Auto-generate ComputerName in Unattend.xml
Now you can provide your own Unattend.xml without a ComputerName element and FFU Builder will add it if you've chosen to include a computer name. If there's a ComputerName element already in the file, ApplyFFU.ps1 will find it and modify it as per your naming choices.
### Add custom unattend.xml paths
There's a new expander for Unattend.xml options in the Build tab which includes paths for the x64 and arm64 unattend.xml files. This means that you can have your unattend files in any location instead of in the FFUDevelopment\unattend folder. This should make upgrades easier for those that have custom unattend.xml files and copying new releases would overwrite your customized unattend files.
### Fixed an issue where CUs wouldn't service after the March 31, 2026 OOB update (KB5086672) was installed on your host machine
The KB5086672 CU which is rolled into the April 14, 2026 update (KB5083769) caused an issue with Add-WindowsPackage. Add-WindowsPackage uses the DISM API to service a Windows image. The native dism.exe doesn't have this issue. To keep things consistent, FFU Builder will now use the dism.exe from the installed Windows ADK. While this version of dism might be older than what's on your machine, it should be consistent and not be impacted by future CUs.
# 2603.2 # 2603.2
## What's Changed ## What's Changed
+3 -7
View File
@@ -1,9 +1,3 @@
# Updates
## 2026-03-16 - [2603.2 Released](https://github.com/rbalsleyMSFT/FFU/releases)
Fixes an issue with devices not booting after applying an FFU. Highly recommended you update today.
# Using Full Flash Update (FFU) files to speed up Windows deployment # Using Full Flash Update (FFU) files to speed up Windows deployment
What if you could have a Windows image (Windows 10/11/Server/LTSC) that has: What if you could have a Windows image (Windows 10/11/Server/LTSC) that has:
@@ -28,10 +22,12 @@ The Full-Flash update (FFU) process can automatically download the latest releas
If you're new to FFU Builder or new to the FFU Builder UI version, check out the [Quick Start Guide](https://rbalsleymsft.github.io/FFU/quickstart.html). If you're new to FFU Builder or new to the FFU Builder UI version, check out the [Quick Start Guide](https://rbalsleymsft.github.io/FFU/quickstart.html).
This will be the fastest way to create your first FFU. There's a new [FFU Builder Quickstart Youtube video](https://youtu.be/kOIK5OmDugc) based on the 2602.1 UI Preview release. This will be the fastest way to create your first FFU. There's a new [FFU Builder Quickstart Youtube video](https://youtu.be/38sUc3M5Yls) based on the 2604.1 release.
## Older Youtube Videos ## Older Youtube Videos
[2602.1 UI Preview Quickstart Video](https://www.youtube.com/watch?v=kOIK5OmDugc) - Original quickstart video without the Fluent UI.
[2507.1 UI Preview Video](https://www.youtube.com/watch?v=oozG1aVcg9M) - First UI Preview release video. This goes deeper than the quick start video, but is missing some features that have been added since 2507.1 was released. [2507.1 UI Preview Video](https://www.youtube.com/watch?v=oozG1aVcg9M) - First UI Preview release video. This goes deeper than the quick start video, but is missing some features that have been added since 2507.1 was released.
[2407.2 Video](https://www.youtube.com/watch?v=rqXRbgeeKSQ) - This was the main deep-dive video on FFU Builder (before it had that name). This is a good deep dive into how the BuildFFUVM.ps1 script works, but a lot has changed since that build. [2407.2 Video](https://www.youtube.com/watch?v=rqXRbgeeKSQ) - This was the main deep-dive video on FFU Builder (before it had that name). This is a good deep dive into how the BuildFFUVM.ps1 script works, but a lot has changed since that build.
+7 -1
View File
@@ -33,7 +33,13 @@ PowerShell 7.6+ is required as of releases 2507+ onward.
Recommended to use winget to install Recommended to use winget to install
`winget install --id Microsoft.PowerShell --source winget` `winget install --id Microsoft.PowerShell --source winget --installer-type wix`
{: .note-title}
> Note
>
> As of PowerShell 7.6, the default winget installer uses the MSIX version, which is the store version of PowerShell 7.6. Adding `--installer-type wix` will install the MSI version.
If you can't use winget, [download the MSI](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows#installing-the-msi-package) If you can't use winget, [download the MSI](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows#installing-the-msi-package)
+1 -1
View File
@@ -35,7 +35,7 @@ After following this guide, you will have a USB drive with an FFU that contains
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"> <div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
<iframe <iframe
src="https://www.youtube-nocookie.com/embed/kOIK5OmDugc" src="https://www.youtube-nocookie.com/embed/38sUc3M5Yls"
title="YouTube video player" title="YouTube video player"
style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"