mirror of
https://github.com/rbalsleyMSFT/FFU.git
synced 2026-06-14 02:09:35 -06:00
Adds a "Verbose" checkbox to the UI, allowing users to enable write-verbose output from the underlying build script.
This helps in troubleshooting the FFU build process by providing more detailed output to the console. The verbose setting is saved to and loaded from the configuration file.
This commit is contained in:
@@ -121,7 +121,17 @@ $btnRun.Add_Click({
|
|||||||
$txtStatus.Text = "Office Configuration XML file copied successfully."
|
$txtStatus.Text = "Office Configuration XML file copied successfully."
|
||||||
}
|
}
|
||||||
$txtStatus.Text = "Executing BuildFFUVM script with config file..."
|
$txtStatus.Text = "Executing BuildFFUVM script with config file..."
|
||||||
& "$PSScriptRoot\BuildFFUVM.ps1" -ConfigFile $configFilePath
|
|
||||||
|
# Prepare parameters for splatting
|
||||||
|
$buildParams = @{
|
||||||
|
ConfigFile = $configFilePath
|
||||||
|
}
|
||||||
|
if ($config.Verbose) {
|
||||||
|
$buildParams['Verbose'] = $true
|
||||||
|
}
|
||||||
|
|
||||||
|
& "$PSScriptRoot\BuildFFUVM.ps1" @buildParams
|
||||||
|
|
||||||
$txtStatus.Text = "FFU build completed successfully."
|
$txtStatus.Text = "FFU build completed successfully."
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
|
|||||||
@@ -175,6 +175,7 @@
|
|||||||
<CheckBox x:Name="chkAllowVHDXCaching" Content="Allow VHDX Caching" Margin="5" VerticalAlignment="Center" Tag="When set to $true, will cache the VHDX file to cache folder and create a config json file to track Windows build information."/>
|
<CheckBox x:Name="chkAllowVHDXCaching" Content="Allow VHDX Caching" Margin="5" VerticalAlignment="Center" Tag="When set to $true, will cache the VHDX file to cache folder and create a config json file to track Windows build information."/>
|
||||||
<CheckBox x:Name="chkCreateCaptureMedia" Content="Create Capture Media" Margin="5" VerticalAlignment="Center" Tag="When set to $true, this will create WinPE capture media for use when InstallApps is set to $true."/>
|
<CheckBox x:Name="chkCreateCaptureMedia" Content="Create Capture Media" Margin="5" VerticalAlignment="Center" Tag="When set to $true, this will create WinPE capture media for use when InstallApps is set to $true."/>
|
||||||
<CheckBox x:Name="chkCreateDeploymentMedia" Content="Create Deployment Media" Margin="5" VerticalAlignment="Center" Tag="When set to $true, this will create WinPE deployment media for use when deploying to a physical device."/>
|
<CheckBox x:Name="chkCreateDeploymentMedia" Content="Create Deployment Media" Margin="5" VerticalAlignment="Center" Tag="When set to $true, this will create WinPE deployment media for use when deploying to a physical device."/>
|
||||||
|
<CheckBox x:Name="chkVerbose" Content="Verbose" Margin="5" VerticalAlignment="Center" Tag="When set to $true, will enable write-verbose output to the console for the build script."/>
|
||||||
</WrapPanel>
|
</WrapPanel>
|
||||||
|
|
||||||
<!-- Row 8: Build USB Drive Section -->
|
<!-- Row 8: Build USB Drive Section -->
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ function Get-UIConfig {
|
|||||||
UserAppListPath = "$($State.Controls.txtApplicationPath.Text)\UserAppList.json"
|
UserAppListPath = "$($State.Controls.txtApplicationPath.Text)\UserAppList.json"
|
||||||
USBDriveList = @{}
|
USBDriveList = @{}
|
||||||
Username = $State.Controls.txtUsername.Text
|
Username = $State.Controls.txtUsername.Text
|
||||||
|
Verbose = $State.Controls.chkVerbose.IsChecked
|
||||||
VMHostIPAddress = $State.Controls.txtVMHostIPAddress.Text
|
VMHostIPAddress = $State.Controls.txtVMHostIPAddress.Text
|
||||||
VMLocation = $State.Controls.txtVMLocation.Text
|
VMLocation = $State.Controls.txtVMLocation.Text
|
||||||
VMSwitchName = if ($State.Controls.cmbVMSwitchName.SelectedItem -eq 'Other') {
|
VMSwitchName = if ($State.Controls.cmbVMSwitchName.SelectedItem -eq 'Other') {
|
||||||
@@ -280,6 +281,7 @@ function Update-UIFromConfig {
|
|||||||
Set-UIValue -ControlName 'chkPromptExternalHardDiskMedia' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'PromptExternalHardDiskMedia' -State $State
|
Set-UIValue -ControlName 'chkPromptExternalHardDiskMedia' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'PromptExternalHardDiskMedia' -State $State
|
||||||
Set-UIValue -ControlName 'chkCreateCaptureMedia' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'CreateCaptureMedia' -State $State
|
Set-UIValue -ControlName 'chkCreateCaptureMedia' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'CreateCaptureMedia' -State $State
|
||||||
Set-UIValue -ControlName 'chkCreateDeploymentMedia' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'CreateDeploymentMedia' -State $State
|
Set-UIValue -ControlName 'chkCreateDeploymentMedia' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'CreateDeploymentMedia' -State $State
|
||||||
|
Set-UIValue -ControlName 'chkVerbose' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'Verbose' -State $State
|
||||||
|
|
||||||
# USB Drive Modification group (Build Tab)
|
# USB Drive Modification group (Build Tab)
|
||||||
Set-UIValue -ControlName 'chkCopyAutopilot' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'CopyAutopilot' -State $State
|
Set-UIValue -ControlName 'chkCopyAutopilot' -PropertyName 'IsChecked' -ConfigObject $ConfigContent -ConfigKey 'CopyAutopilot' -State $State
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ function Initialize-UIControls {
|
|||||||
$State.Controls.chkAllowVHDXCaching = $window.FindName('chkAllowVHDXCaching')
|
$State.Controls.chkAllowVHDXCaching = $window.FindName('chkAllowVHDXCaching')
|
||||||
$State.Controls.chkCreateCaptureMedia = $window.FindName('chkCreateCaptureMedia')
|
$State.Controls.chkCreateCaptureMedia = $window.FindName('chkCreateCaptureMedia')
|
||||||
$State.Controls.chkCreateDeploymentMedia = $window.FindName('chkCreateDeploymentMedia')
|
$State.Controls.chkCreateDeploymentMedia = $window.FindName('chkCreateDeploymentMedia')
|
||||||
|
$State.Controls.chkVerbose = $window.FindName('chkVerbose')
|
||||||
$State.Controls.chkCopyAutopilot = $window.FindName('chkCopyAutopilot')
|
$State.Controls.chkCopyAutopilot = $window.FindName('chkCopyAutopilot')
|
||||||
$State.Controls.chkCopyUnattend = $window.FindName('chkCopyUnattend')
|
$State.Controls.chkCopyUnattend = $window.FindName('chkCopyUnattend')
|
||||||
$State.Controls.chkCopyPPKG = $window.FindName('chkCopyPPKG')
|
$State.Controls.chkCopyPPKG = $window.FindName('chkCopyPPKG')
|
||||||
@@ -146,6 +147,7 @@ function Initialize-UIControls {
|
|||||||
$State.Controls.chkUpdateADK = $window.FindName('chkUpdateADK')
|
$State.Controls.chkUpdateADK = $window.FindName('chkUpdateADK')
|
||||||
$State.Controls.btnLoadConfig = $window.FindName('btnLoadConfig')
|
$State.Controls.btnLoadConfig = $window.FindName('btnLoadConfig')
|
||||||
$State.Controls.btnBuildConfig = $window.FindName('btnBuildConfig')
|
$State.Controls.btnBuildConfig = $window.FindName('btnBuildConfig')
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function Initialize-VMSwitchData {
|
function Initialize-VMSwitchData {
|
||||||
@@ -213,6 +215,7 @@ function Initialize-UIDefaults {
|
|||||||
$State.Controls.chkRemoveFFU.IsChecked = $State.Defaults.generalDefaults.RemoveFFU
|
$State.Controls.chkRemoveFFU.IsChecked = $State.Defaults.generalDefaults.RemoveFFU
|
||||||
$State.Controls.chkRemoveApps.IsChecked = $State.Defaults.generalDefaults.RemoveApps
|
$State.Controls.chkRemoveApps.IsChecked = $State.Defaults.generalDefaults.RemoveApps
|
||||||
$State.Controls.chkRemoveUpdates.IsChecked = $State.Defaults.generalDefaults.RemoveUpdates
|
$State.Controls.chkRemoveUpdates.IsChecked = $State.Defaults.generalDefaults.RemoveUpdates
|
||||||
|
$State.Controls.chkVerbose.IsChecked = $State.Defaults.generalDefaults.Verbose
|
||||||
$State.Controls.usbSection.Visibility = if ($State.Controls.chkBuildUSBDriveEnable.IsChecked) { 'Visible' } else { 'Collapsed' }
|
$State.Controls.usbSection.Visibility = if ($State.Controls.chkBuildUSBDriveEnable.IsChecked) { 'Visible' } else { 'Collapsed' }
|
||||||
$State.Controls.usbSelectionPanel.Visibility = if ($State.Controls.chkSelectSpecificUSBDrives.IsChecked) { 'Visible' } else { 'Collapsed' }
|
$State.Controls.usbSelectionPanel.Visibility = if ($State.Controls.chkSelectSpecificUSBDrives.IsChecked) { 'Visible' } else { 'Collapsed' }
|
||||||
$State.Controls.chkSelectSpecificUSBDrives.IsEnabled = $State.Controls.chkBuildUSBDriveEnable.IsChecked
|
$State.Controls.chkSelectSpecificUSBDrives.IsEnabled = $State.Controls.chkBuildUSBDriveEnable.IsChecked
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ function Get-GeneralDefaults {
|
|||||||
AllowVHDXCaching = $false
|
AllowVHDXCaching = $false
|
||||||
CreateCaptureMedia = $true
|
CreateCaptureMedia = $true
|
||||||
CreateDeploymentMedia = $true
|
CreateDeploymentMedia = $true
|
||||||
|
Verbose = $false
|
||||||
AllowExternalHardDiskMedia = $false
|
AllowExternalHardDiskMedia = $false
|
||||||
PromptExternalHardDiskMedia = $true
|
PromptExternalHardDiskMedia = $true
|
||||||
SelectSpecificUSBDrives = $false
|
SelectSpecificUSBDrives = $false
|
||||||
|
|||||||
Reference in New Issue
Block a user