mirror of
https://github.com/rbalsleyMSFT/FFU.git
synced 2026-06-14 02:09:35 -06:00
feat: Clean up driver source and obsolete config
Automatically deletes the source driver folder after successful compression into a WIM file to conserve disk space. A failure to delete will only log a warning and not interrupt the process. Removes unused 'Make' and 'Model' properties from the UI configuration.
This commit is contained in:
@@ -61,6 +61,18 @@ function Compress-DriverFolderToWim {
|
||||
Invoke-Process -FilePath "dism.exe" -ArgumentList $dismArgs -Wait $true
|
||||
|
||||
WriteLog "Successfully compressed '$SourceFolderPath' to '$DestinationWimPath' using dism.exe."
|
||||
|
||||
# Remove the source folder after successful compression
|
||||
WriteLog "Removing source driver folder: $SourceFolderPath"
|
||||
try {
|
||||
Remove-Item -Path $SourceFolderPath -Recurse -Force -ErrorAction Stop
|
||||
WriteLog "Successfully removed source folder '$SourceFolderPath'."
|
||||
}
|
||||
catch {
|
||||
WriteLog "Warning: Failed to remove source folder '$SourceFolderPath'. Error: $($_.Exception.Message)"
|
||||
# Do not fail the whole operation, just log a warning.
|
||||
}
|
||||
|
||||
return $true # Indicate success
|
||||
}
|
||||
catch {
|
||||
|
||||
@@ -49,21 +49,21 @@ function Get-UIConfig {
|
||||
InstallWingetApps = $State.Controls.chkInstallWingetApps.IsChecked
|
||||
ISOPath = $State.Controls.txtISOPath.Text
|
||||
LogicalSectorSizeBytes = [int]$State.Controls.cmbLogicalSectorSize.SelectedItem.Content
|
||||
Make = $State.Controls.cmbMake.SelectedItem
|
||||
# Make = $null
|
||||
MediaType = $State.Controls.cmbMediaType.SelectedItem
|
||||
Memory = [int64]$State.Controls.txtMemory.Text * 1GB
|
||||
Model = if ($State.Controls.chkDownloadDrivers.IsChecked) {
|
||||
$selectedModels = $State.Controls.lstDriverModels.Items | Where-Object { $_.IsSelected }
|
||||
if ($selectedModels.Count -ge 1) {
|
||||
$selectedModels[0].Model
|
||||
}
|
||||
else {
|
||||
$null
|
||||
}
|
||||
}
|
||||
else {
|
||||
$null
|
||||
}
|
||||
# Model = if ($State.Controls.chkDownloadDrivers.IsChecked) {
|
||||
# $selectedModels = $State.Controls.lstDriverModels.Items | Where-Object { $_.IsSelected }
|
||||
# if ($selectedModels.Count -ge 1) {
|
||||
# $selectedModels[0].Model
|
||||
# }
|
||||
# else {
|
||||
# $null
|
||||
# }
|
||||
# }
|
||||
# else {
|
||||
# $null
|
||||
# }
|
||||
OfficeConfigXMLFile = $State.Controls.txtOfficeConfigXMLFilePath.Text
|
||||
OfficePath = $State.Controls.txtOfficePath.Text
|
||||
Optimize = $State.Controls.chkOptimize.IsChecked
|
||||
|
||||
Reference in New Issue
Block a user