mirror of
https://github.com/rbalsleyMSFT/FFU.git
synced 2026-06-14 02:09:35 -06:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 56f3e9d856 | |||
| ae59183a19 | |||
| bfa1ea7d9f | |||
| 5564473c3b | |||
| 393de977f2 | |||
| c051963ed5 |
@@ -283,7 +283,7 @@ param(
|
|||||||
[bool]$CleanupDeployISO = $true,
|
[bool]$CleanupDeployISO = $true,
|
||||||
[bool]$CleanupAppsISO = $true
|
[bool]$CleanupAppsISO = $true
|
||||||
)
|
)
|
||||||
$version = '2404.1'
|
$version = '2404.2'
|
||||||
|
|
||||||
#Check if Hyper-V feature is installed (requires only checks the module)
|
#Check if Hyper-V feature is installed (requires only checks the module)
|
||||||
$osInfo = Get-WmiObject -Class Win32_OperatingSystem
|
$osInfo = Get-WmiObject -Class Win32_OperatingSystem
|
||||||
@@ -1977,8 +1977,9 @@ if (-not ($ISOPath) -and ($OptionalFeatures -like '*netfx3*')) {
|
|||||||
}
|
}
|
||||||
if (($LogicalSectorSizeBytes -eq 4096) -and ($installdrivers -eq $true)) {
|
if (($LogicalSectorSizeBytes -eq 4096) -and ($installdrivers -eq $true)) {
|
||||||
$installdrivers = $false
|
$installdrivers = $false
|
||||||
|
$CopyDrivers = $true
|
||||||
WriteLog 'LogicalSectorSizeBytes is set to 4096, which is not supported for driver injection. Setting $installdrivers to $false'
|
WriteLog 'LogicalSectorSizeBytes is set to 4096, which is not supported for driver injection. Setting $installdrivers to $false'
|
||||||
WriteLog 'As a workaround, set -copydrivers $true to copy drivers to the deploy partition drivers folder'
|
WriteLog 'As a workaround, setting -copydrivers $true to copy drivers to the deploy partition drivers folder'
|
||||||
WriteLog 'We are investigating this issue and will update the script if/when we have a fix'
|
WriteLog 'We are investigating this issue and will update the script if/when we have a fix'
|
||||||
}
|
}
|
||||||
if ($BuildUSBDrive -eq $true) {
|
if ($BuildUSBDrive -eq $true) {
|
||||||
@@ -2038,7 +2039,7 @@ if ($InstallApps) {
|
|||||||
#Update Latest Defender Platform and Definitions - these can't be serviced into the VHDX, will be saved to AppsPath
|
#Update Latest Defender Platform and Definitions - these can't be serviced into the VHDX, will be saved to AppsPath
|
||||||
if ($UpdateLatestDefender) {
|
if ($UpdateLatestDefender) {
|
||||||
WriteLog "`$UpdateLatestDefender is set to true, checking for latest Defender Platform and Definitions"
|
WriteLog "`$UpdateLatestDefender is set to true, checking for latest Defender Platform and Definitions"
|
||||||
$Name = 'Update for Microsoft Defender Antivirus antimalware platform'
|
$Name = "Update for Microsoft Defender Antivirus antimalware platform"
|
||||||
#Check if $DefenderPath exists, if not, create it
|
#Check if $DefenderPath exists, if not, create it
|
||||||
If (-not (Test-Path -Path $DefenderPath)) {
|
If (-not (Test-Path -Path $DefenderPath)) {
|
||||||
WriteLog "Creating $DefenderPath"
|
WriteLog "Creating $DefenderPath"
|
||||||
@@ -2103,7 +2104,7 @@ if ($InstallApps) {
|
|||||||
$OneDriveURL = 'https://go.microsoft.com/fwlink/?linkid=844652'
|
$OneDriveURL = 'https://go.microsoft.com/fwlink/?linkid=844652'
|
||||||
try {
|
try {
|
||||||
Start-BitsTransfer -Source $OneDriveURL -Destination "$OneDrivePath\OneDriveSetup.exe"
|
Start-BitsTransfer -Source $OneDriveURL -Destination "$OneDrivePath\OneDriveSetup.exe"
|
||||||
WriteLog "Defender Definitions downloaded to $OneDrivePath\OneDriveSetup.exe"
|
WriteLog "OneDrive client downloaded to $OneDrivePath\OneDriveSetup.exe"
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
Write-Host "Downloading OneDrive client Failed"
|
Write-Host "Downloading OneDrive client Failed"
|
||||||
@@ -2195,7 +2196,7 @@ try {
|
|||||||
#The Windows release info page is updated later than the MU Catalog
|
#The Windows release info page is updated later than the MU Catalog
|
||||||
if ($UpdateLatestCU) {
|
if ($UpdateLatestCU) {
|
||||||
Writelog "`$UpdateLatestCU is set to true, checking for latest CU"
|
Writelog "`$UpdateLatestCU is set to true, checking for latest CU"
|
||||||
$Name = "Cumulative update for Windows $WindowsRelease Version $WindowsVersion for $WindowsArch"
|
$Name = """Cumulative update for Windows $WindowsRelease Version $WindowsVersion for $WindowsArch"""
|
||||||
#Check if $KBPath exists, if not, create it
|
#Check if $KBPath exists, if not, create it
|
||||||
If (-not (Test-Path -Path $KBPath)) {
|
If (-not (Test-Path -Path $KBPath)) {
|
||||||
WriteLog "Creating $KBPath"
|
WriteLog "Creating $KBPath"
|
||||||
@@ -2210,7 +2211,7 @@ try {
|
|||||||
#Update Latest .NET Framework
|
#Update Latest .NET Framework
|
||||||
if ($UpdateLatestNet) {
|
if ($UpdateLatestNet) {
|
||||||
Writelog "`$UpdateLatestNet is set to true, checking for latest .NET Framework"
|
Writelog "`$UpdateLatestNet is set to true, checking for latest .NET Framework"
|
||||||
$Name = "Cumulative update for .net framework windows $WindowsRelease $WindowsVersion $WindowsArch"
|
$Name = "Cumulative update for .net framework windows $WindowsRelease $WindowsVersion $WindowsArch -preview"
|
||||||
#Check if $KBPath exists, if not, create it
|
#Check if $KBPath exists, if not, create it
|
||||||
If (-not (Test-Path -Path $KBPath)) {
|
If (-not (Test-Path -Path $KBPath)) {
|
||||||
WriteLog "Creating $KBPath"
|
WriteLog "Creating $KBPath"
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ $LogFileName = 'ScriptLog.txt'
|
|||||||
$USBDrive = Get-USBDrive
|
$USBDrive = Get-USBDrive
|
||||||
New-item -Path $USBDrive -Name $LogFileName -ItemType "file" -Force | Out-Null
|
New-item -Path $USBDrive -Name $LogFileName -ItemType "file" -Force | Out-Null
|
||||||
$LogFile = $USBDrive + $LogFilename
|
$LogFile = $USBDrive + $LogFilename
|
||||||
$version = '2404.1'
|
$version = '2404.3'
|
||||||
WriteLog 'Begin Logging'
|
WriteLog 'Begin Logging'
|
||||||
WriteLog "Script version: $version"
|
WriteLog "Script version: $version"
|
||||||
|
|
||||||
|
|||||||
@@ -8,9 +8,16 @@ While we use this in Education at Microsoft, other industries can use it as well
|
|||||||
|
|
||||||
# Updates
|
# Updates
|
||||||
|
|
||||||
|
**2404.3**
|
||||||
|
- Fixed an issue where the latest Windows CU wasn't downloading properly [Commit](https://github.com/rbalsleyMSFT/FFU/commit/ae59183a199f39b310c79b31c9b4980fafdeb79b)
|
||||||
|
|
||||||
|
**2404.2**
|
||||||
|
|
||||||
|
- If setting -installdrivers to $true and -logicalsectorsizebytes to 4096, the script will now set $copyDrivers to $true. This will create a drivers folder on the deploy partition of the USB drive with the drivers that were supposed to be added to the FFU. There's currently a bug with servicing FFUs with 4096 logical sector byte sizes. Prior to this fix, the script would tell the user to manually set -copydrivers to $true as workaround. This fix just does the workaround automatically.
|
||||||
|
|
||||||
**2404.1**
|
**2404.1**
|
||||||
|
|
||||||
There's a big change with this release related to the ADK. The ADK will now be automatically updated to the latest ADK release. This is required in order to fix an issue with optimized FFUs not applying due to an issue with DISM/FFUProvider.dll. The FFUProvider.dll fix was added to the Sept 2023 ADK. Since we now have the ability to auto upgrade the ADK, I'm more confident in having the BuildFFUVM script creating a complete FFU now (prior it was only creating 3 partitions instead of 4 with the recovery partition - at deployment time, the ApplyFFU.ps1 script would create an empty recovery parition). Please open an issue if this creates a problem for you. I do realize that any new ADK release can have it's own challenges and issues and I do suspect we'll see a new ADK released later this year.
|
There's a big change with this release related to the ADK. The ADK will now be automatically updated to the latest ADK release. This is required in order to fix an issue with optimized FFUs not applying due to an issue with DISM/FFUProvider.dll. The FFUProvider.dll fix was added to the Sept 2023 ADK. Since we now have the ability to auto upgrade the ADK, I'm more confident in having the BuildFFUVM script creating a complete FFU now (prior it was only creating 3 partitions instead of 4 with the recovery partition - at deployment time, the ApplyFFU.ps1 script would create an empty recovery partition and Windows would populate it on first boot). Please open an issue if this creates a problem for you. I do realize that any new ADK release can have it's own challenges and issues and I do suspect we'll see a new ADK released later this year.
|
||||||
|
|
||||||
- Allow for ISOs with single index WIMs to work [Issue 10](https://github.com/rbalsleyMSFT/FFU/issues/10) - [Commit](https://github.com/rbalsleyMSFT/FFU/commit/9e2da741d53652e6e600ca19cfd38f507bd01fde)
|
- Allow for ISOs with single index WIMs to work [Issue 10](https://github.com/rbalsleyMSFT/FFU/issues/10) - [Commit](https://github.com/rbalsleyMSFT/FFU/commit/9e2da741d53652e6e600ca19cfd38f507bd01fde)
|
||||||
- Added more robust ADK handling. Will now check for the latest ADK and download it if not installed. Thanks to [Zehadi Alam](https://github.com/zehadialam) [PR 18](https://github.com/rbalsleyMSFT/FFU/pull/18)
|
- Added more robust ADK handling. Will now check for the latest ADK and download it if not installed. Thanks to [Zehadi Alam](https://github.com/zehadialam) [PR 18](https://github.com/rbalsleyMSFT/FFU/pull/18)
|
||||||
|
|||||||
Reference in New Issue
Block a user