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
|
Invoke-Process -FilePath "dism.exe" -ArgumentList $dismArgs -Wait $true
|
||||||
|
|
||||||
WriteLog "Successfully compressed '$SourceFolderPath' to '$DestinationWimPath' using dism.exe."
|
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
|
return $true # Indicate success
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
|
|||||||
@@ -49,21 +49,21 @@ function Get-UIConfig {
|
|||||||
InstallWingetApps = $State.Controls.chkInstallWingetApps.IsChecked
|
InstallWingetApps = $State.Controls.chkInstallWingetApps.IsChecked
|
||||||
ISOPath = $State.Controls.txtISOPath.Text
|
ISOPath = $State.Controls.txtISOPath.Text
|
||||||
LogicalSectorSizeBytes = [int]$State.Controls.cmbLogicalSectorSize.SelectedItem.Content
|
LogicalSectorSizeBytes = [int]$State.Controls.cmbLogicalSectorSize.SelectedItem.Content
|
||||||
Make = $State.Controls.cmbMake.SelectedItem
|
# Make = $null
|
||||||
MediaType = $State.Controls.cmbMediaType.SelectedItem
|
MediaType = $State.Controls.cmbMediaType.SelectedItem
|
||||||
Memory = [int64]$State.Controls.txtMemory.Text * 1GB
|
Memory = [int64]$State.Controls.txtMemory.Text * 1GB
|
||||||
Model = if ($State.Controls.chkDownloadDrivers.IsChecked) {
|
# Model = if ($State.Controls.chkDownloadDrivers.IsChecked) {
|
||||||
$selectedModels = $State.Controls.lstDriverModels.Items | Where-Object { $_.IsSelected }
|
# $selectedModels = $State.Controls.lstDriverModels.Items | Where-Object { $_.IsSelected }
|
||||||
if ($selectedModels.Count -ge 1) {
|
# if ($selectedModels.Count -ge 1) {
|
||||||
$selectedModels[0].Model
|
# $selectedModels[0].Model
|
||||||
}
|
# }
|
||||||
else {
|
# else {
|
||||||
$null
|
# $null
|
||||||
}
|
# }
|
||||||
}
|
# }
|
||||||
else {
|
# else {
|
||||||
$null
|
# $null
|
||||||
}
|
# }
|
||||||
OfficeConfigXMLFile = $State.Controls.txtOfficeConfigXMLFilePath.Text
|
OfficeConfigXMLFile = $State.Controls.txtOfficeConfigXMLFilePath.Text
|
||||||
OfficePath = $State.Controls.txtOfficePath.Text
|
OfficePath = $State.Controls.txtOfficePath.Text
|
||||||
Optimize = $State.Controls.chkOptimize.IsChecked
|
Optimize = $State.Controls.chkOptimize.IsChecked
|
||||||
|
|||||||
Reference in New Issue
Block a user