From 49acd71ff9b1663d8a48c14d076799ab794c48fa Mon Sep 17 00:00:00 2001 From: rbalsleyMSFT <53497092+rbalsleyMSFT@users.noreply.github.com> Date: Mon, 16 Jun 2025 17:00:26 -0700 Subject: [PATCH] Moves UI initialization logic to a new module Extracts the UI control initialization functionality from the main core script into a dedicated module. This improves code organization and modularity. The module manifest is updated to include this new initialization module. --- .../FFUUI.Core/FFUUI.Core.Initialize.psm1 | 150 +++++++++++++++++ FFUDevelopment/FFUUI.Core/FFUUI.Core.psd1 | 1 + FFUDevelopment/FFUUI.Core/FFUUI.Core.psm1 | 155 ------------------ 3 files changed, 151 insertions(+), 155 deletions(-) create mode 100644 FFUDevelopment/FFUUI.Core/FFUUI.Core.Initialize.psm1 diff --git a/FFUDevelopment/FFUUI.Core/FFUUI.Core.Initialize.psm1 b/FFUDevelopment/FFUUI.Core/FFUUI.Core.Initialize.psm1 new file mode 100644 index 0000000..3b096fa --- /dev/null +++ b/FFUDevelopment/FFUUI.Core/FFUUI.Core.Initialize.psm1 @@ -0,0 +1,150 @@ +function Initialize-UIControls { + param([PSCustomObject]$State) + WriteLog "Initializing UI control references..." + $window = $State.Window + # Find all controls ONCE and store them in the state object + $State.Controls.cmbWindowsRelease = $window.FindName('cmbWindowsRelease') + $State.Controls.cmbWindowsVersion = $window.FindName('cmbWindowsVersion') + $State.Controls.txtISOPath = $window.FindName('txtISOPath') + $State.Controls.btnBrowseISO = $window.FindName('btnBrowseISO') + $State.Controls.cmbWindowsArch = $window.FindName('cmbWindowsArch') + $State.Controls.cmbWindowsLang = $window.FindName('cmbWindowsLang') + $State.Controls.cmbWindowsSKU = $window.FindName('cmbWindowsSKU') + $State.Controls.cmbMediaType = $window.FindName('cmbMediaType') + $State.Controls.txtOptionalFeatures = $window.FindName('txtOptionalFeatures') + $State.Controls.featuresPanel = $window.FindName('stackFeaturesContainer') + $State.Controls.chkDownloadDrivers = $window.FindName('chkDownloadDrivers') + $State.Controls.cmbMake = $window.FindName('cmbMake') + $State.Controls.spMakeSection = $window.FindName('spMakeSection') + $State.Controls.btnGetModels = $window.FindName('btnGetModels') + $State.Controls.spModelFilterSection = $window.FindName('spModelFilterSection') + $State.Controls.txtModelFilter = $window.FindName('txtModelFilter') + $State.Controls.lstDriverModels = $window.FindName('lstDriverModels') + $State.Controls.spDriverActionButtons = $window.FindName('spDriverActionButtons') + $State.Controls.btnSaveDriversJson = $window.FindName('btnSaveDriversJson') + $State.Controls.btnImportDriversJson = $window.FindName('btnImportDriversJson') + $State.Controls.btnDownloadSelectedDrivers = $window.FindName('btnDownloadSelectedDrivers') + $State.Controls.btnClearDriverList = $window.FindName('btnClearDriverList') + $State.Controls.chkInstallOffice = $window.FindName('chkInstallOffice') + $State.Controls.chkInstallApps = $window.FindName('chkInstallApps') + $State.Controls.OfficePathStackPanel = $window.FindName('OfficePathStackPanel') + $State.Controls.OfficePathGrid = $window.FindName('OfficePathGrid') + $State.Controls.CopyOfficeConfigXMLStackPanel = $window.FindName('CopyOfficeConfigXMLStackPanel') + $State.Controls.OfficeConfigurationXMLFileStackPanel = $window.FindName('OfficeConfigurationXMLFileStackPanel') + $State.Controls.OfficeConfigurationXMLFileGrid = $window.FindName('OfficeConfigurationXMLFileGrid') + $State.Controls.chkCopyOfficeConfigXML = $window.FindName('chkCopyOfficeConfigXML') + $State.Controls.chkLatestCU = $window.FindName('chkUpdateLatestCU') + $State.Controls.chkPreviewCU = $window.FindName('chkUpdatePreviewCU') + $State.Controls.btnCheckUSBDrives = $window.FindName('btnCheckUSBDrives') + $State.Controls.lstUSBDrives = $window.FindName('lstUSBDrives') + $State.Controls.chkSelectAllUSBDrives = $window.FindName('chkSelectAllUSBDrives') + $State.Controls.chkBuildUSBDriveEnable = $window.FindName('chkBuildUSBDriveEnable') + $State.Controls.usbSection = $window.FindName('usbDriveSection') + $State.Controls.chkSelectSpecificUSBDrives = $window.FindName('chkSelectSpecificUSBDrives') + $State.Controls.usbSelectionPanel = $window.FindName('usbDriveSelectionPanel') + $State.Controls.chkAllowExternalHardDiskMedia = $window.FindName('chkAllowExternalHardDiskMedia') + $State.Controls.chkPromptExternalHardDiskMedia = $window.FindName('chkPromptExternalHardDiskMedia') + $State.Controls.chkInstallWingetApps = $window.FindName('chkInstallWingetApps') + $State.Controls.wingetPanel = $window.FindName('wingetPanel') + $State.Controls.btnCheckWingetModule = $window.FindName('btnCheckWingetModule') + $State.Controls.txtWingetVersion = $window.FindName('txtWingetVersion') + $State.Controls.txtWingetModuleVersion = $window.FindName('txtWingetModuleVersion') + $State.Controls.applicationPathPanel = $window.FindName('applicationPathPanel') + $State.Controls.appListJsonPathPanel = $window.FindName('appListJsonPathPanel') + $State.Controls.btnBrowseApplicationPath = $window.FindName('btnBrowseApplicationPath') + $State.Controls.btnBrowseAppListJsonPath = $window.FindName('btnBrowseAppListJsonPath') + $State.Controls.chkBringYourOwnApps = $window.FindName('chkBringYourOwnApps') + $State.Controls.byoApplicationPanel = $window.FindName('byoApplicationPanel') + $State.Controls.wingetSearchPanel = $window.FindName('wingetSearchPanel') + $State.Controls.txtWingetSearch = $window.FindName('txtWingetSearch') + $State.Controls.btnWingetSearch = $window.FindName('btnWingetSearch') + $State.Controls.lstWingetResults = $window.FindName('lstWingetResults') + $State.Controls.btnSaveWingetList = $window.FindName('btnSaveWingetList') + $State.Controls.btnImportWingetList = $window.FindName('btnImportWingetList') + $State.Controls.btnClearWingetList = $window.FindName('btnClearWingetList') + $State.Controls.btnDownloadSelected = $window.FindName('btnDownloadSelected') + $State.Controls.btnBrowseAppSource = $window.FindName('btnBrowseAppSource') + $State.Controls.btnBrowseFFUDevPath = $window.FindName('btnBrowseFFUDevPath') + $State.Controls.btnBrowseFFUCaptureLocation = $window.FindName('btnBrowseFFUCaptureLocation') + $State.Controls.btnBrowseOfficePath = $window.FindName('btnBrowseOfficePath') + $State.Controls.btnBrowseDriversFolder = $window.FindName('btnBrowseDriversFolder') + $State.Controls.btnBrowsePEDriversFolder = $window.FindName('btnBrowsePEDriversFolder') + $State.Controls.txtAppName = $window.FindName('txtAppName') + $State.Controls.txtAppCommandLine = $window.FindName('txtAppCommandLine') + $State.Controls.txtAppArguments = $window.FindName('txtAppArguments') + $State.Controls.txtAppSource = $window.FindName('txtAppSource') + $State.Controls.btnAddApplication = $window.FindName('btnAddApplication') + $State.Controls.btnSaveBYOApplications = $window.FindName('btnSaveBYOApplications') + $State.Controls.btnLoadBYOApplications = $window.FindName('btnLoadBYOApplications') + $State.Controls.btnClearBYOApplications = $window.FindName('btnClearBYOApplications') + $State.Controls.btnCopyBYOApps = $window.FindName('btnCopyBYOApps') + $State.Controls.lstApplications = $window.FindName('lstApplications') + $State.Controls.btnMoveTop = $window.FindName('btnMoveTop') + $State.Controls.btnMoveUp = $window.FindName('btnMoveUp') + $State.Controls.btnMoveDown = $window.FindName('btnMoveDown') + $State.Controls.btnMoveBottom = $window.FindName('btnMoveBottom') + $State.Controls.txtStatus = $window.FindName('txtStatus') + $State.Controls.pbOverallProgress = $window.FindName('progressBar') + $State.Controls.txtOverallStatus = $window.FindName('txtStatus') + $State.Controls.cmbVMSwitchName = $window.FindName('cmbVMSwitchName') + $State.Controls.txtVMHostIPAddress = $window.FindName('txtVMHostIPAddress') + $State.Controls.txtCustomVMSwitchName = $window.FindName('txtCustomVMSwitchName') + $State.Controls.txtFFUDevPath = $window.FindName('txtFFUDevPath') + $State.Controls.txtCustomFFUNameTemplate = $window.FindName('txtCustomFFUNameTemplate') + $State.Controls.txtFFUCaptureLocation = $window.FindName('txtFFUCaptureLocation') + $State.Controls.txtShareName = $window.FindName('txtShareName') + $State.Controls.txtUsername = $window.FindName('txtUsername') + $State.Controls.chkCompactOS = $window.FindName('chkCompactOS') + $State.Controls.chkOptimize = $window.FindName('chkOptimize') + $State.Controls.chkAllowVHDXCaching = $window.FindName('chkAllowVHDXCaching') + $State.Controls.chkCreateCaptureMedia = $window.FindName('chkCreateCaptureMedia') + $State.Controls.chkCreateDeploymentMedia = $window.FindName('chkCreateDeploymentMedia') + $State.Controls.chkCopyAutopilot = $window.FindName('chkCopyAutopilot') + $State.Controls.chkCopyUnattend = $window.FindName('chkCopyUnattend') + $State.Controls.chkCopyPPKG = $window.FindName('chkCopyPPKG') + $State.Controls.chkCleanupAppsISO = $window.FindName('chkCleanupAppsISO') + $State.Controls.chkCleanupCaptureISO = $window.FindName('chkCleanupCaptureISO') + $State.Controls.chkCleanupDeployISO = $window.FindName('chkCleanupDeployISO') + $State.Controls.chkCleanupDrivers = $window.FindName('chkCleanupDrivers') + $State.Controls.chkRemoveFFU = $window.FindName('chkRemoveFFU') + $State.Controls.txtDiskSize = $window.FindName('txtDiskSize') + $State.Controls.txtMemory = $window.FindName('txtMemory') + $State.Controls.txtProcessors = $window.FindName('txtProcessors') + $State.Controls.txtVMLocation = $window.FindName('txtVMLocation') + $State.Controls.txtVMNamePrefix = $window.FindName('txtVMNamePrefix') + $State.Controls.cmbLogicalSectorSize = $window.FindName('cmbLogicalSectorSize') + $State.Controls.txtProductKey = $window.FindName('txtProductKey') + $State.Controls.txtOfficePath = $window.FindName('txtOfficePath') + $State.Controls.txtOfficeConfigXMLFilePath = $window.FindName('txtOfficeConfigXMLFilePath') + $State.Controls.txtDriversFolder = $window.FindName('txtDriversFolder') + $State.Controls.txtPEDriversFolder = $window.FindName('txtPEDriversFolder') + $State.Controls.chkCopyPEDrivers = $window.FindName('chkCopyPEDrivers') + $State.Controls.chkUpdateLatestCU = $window.FindName('chkUpdateLatestCU') + $State.Controls.chkUpdateLatestNet = $window.FindName('chkUpdateLatestNet') + $State.Controls.chkUpdateLatestDefender = $window.FindName('chkUpdateLatestDefender') + $State.Controls.chkUpdateEdge = $window.FindName('chkUpdateEdge') + $State.Controls.chkUpdateOneDrive = $window.FindName('chkUpdateOneDrive') + $State.Controls.chkUpdateLatestMSRT = $window.FindName('chkUpdateLatestMSRT') + $State.Controls.chkUpdatePreviewCU = $window.FindName('chkUpdatePreviewCU') + $State.Controls.txtApplicationPath = $window.FindName('txtApplicationPath') + $State.Controls.txtAppListJsonPath = $window.FindName('txtAppListJsonPath') + $State.Controls.chkInstallDrivers = $window.FindName('chkInstallDrivers') + $State.Controls.chkCopyDrivers = $window.FindName('chkCopyDrivers') + $State.Controls.chkCompressDriversToWIM = $window.FindName('chkCompressDriversToWIM') + $State.Controls.chkRemoveApps = $window.FindName('chkRemoveApps') + $State.Controls.chkRemoveUpdates = $window.FindName('chkRemoveUpdates') + $State.Controls.chkUpdateLatestMicrocode = $window.FindName('chkUpdateLatestMicrocode') + $State.Controls.chkDefineAppsScriptVariables = $window.FindName('chkDefineAppsScriptVariables') + $State.Controls.appsScriptVariablesPanel = $window.FindName('appsScriptVariablesPanel') + $State.Controls.txtAppsScriptKey = $window.FindName('txtAppsScriptKey') + $State.Controls.txtAppsScriptValue = $window.FindName('txtAppsScriptValue') + $State.Controls.btnAddAppsScriptVariable = $window.FindName('btnAddAppsScriptVariable') + $State.Controls.lstAppsScriptVariables = $window.FindName('lstAppsScriptVariables') + $State.Controls.btnRemoveSelectedAppsScriptVariables = $window.FindName('btnRemoveSelectedAppsScriptVariables') + $State.Controls.btnClearAppsScriptVariables = $window.FindName('btnClearAppsScriptVariables') + $State.Controls.txtDriversJsonPath = $window.FindName('txtDriversJsonPath') + $State.Controls.btnBrowseDriversJsonPath = $window.FindName('btnBrowseDriversJsonPath') + $State.Controls.chkUpdateADK = $window.FindName('chkUpdateADK') +} + +Export-ModuleMember -Function * diff --git a/FFUDevelopment/FFUUI.Core/FFUUI.Core.psd1 b/FFUDevelopment/FFUUI.Core/FFUUI.Core.psd1 index 5f286f4..615bea8 100644 --- a/FFUDevelopment/FFUUI.Core/FFUUI.Core.psd1 +++ b/FFUDevelopment/FFUUI.Core/FFUUI.Core.psd1 @@ -73,6 +73,7 @@ NestedModules = @('FFUUI.Core.Applications.psm1', 'FFUUI.Core.Drivers.HP.psm1', 'FFUUI.Core.Drivers.Lenovo.psm1', 'FFUUI.Core.Drivers.Microsoft.psm1', + 'FFUUI.Core.Initialize.psm1', 'FFUUI.Core.Shared.psm1', 'FFUUI.Core.WindowsSettings.psm1', 'FFUUI.Core.Winget.psm1') diff --git a/FFUDevelopment/FFUUI.Core/FFUUI.Core.psm1 b/FFUDevelopment/FFUUI.Core/FFUUI.Core.psm1 index e20f760..195f5c5 100644 --- a/FFUDevelopment/FFUUI.Core/FFUUI.Core.psm1 +++ b/FFUDevelopment/FFUUI.Core/FFUUI.Core.psm1 @@ -188,161 +188,6 @@ function Get-USBDrives { } } - - -# -------------------------------------------------------------------------- -# SECTION: UI Initialization Functions -# -------------------------------------------------------------------------- - -function Initialize-UIControls { - param([PSCustomObject]$State) - WriteLog "Initializing UI control references..." - $window = $State.Window - # Find all controls ONCE and store them in the state object - $State.Controls.cmbWindowsRelease = $window.FindName('cmbWindowsRelease') - $State.Controls.cmbWindowsVersion = $window.FindName('cmbWindowsVersion') - $State.Controls.txtISOPath = $window.FindName('txtISOPath') - $State.Controls.btnBrowseISO = $window.FindName('btnBrowseISO') - $State.Controls.cmbWindowsArch = $window.FindName('cmbWindowsArch') - $State.Controls.cmbWindowsLang = $window.FindName('cmbWindowsLang') - $State.Controls.cmbWindowsSKU = $window.FindName('cmbWindowsSKU') - $State.Controls.cmbMediaType = $window.FindName('cmbMediaType') - $State.Controls.txtOptionalFeatures = $window.FindName('txtOptionalFeatures') - $State.Controls.featuresPanel = $window.FindName('stackFeaturesContainer') - $State.Controls.chkDownloadDrivers = $window.FindName('chkDownloadDrivers') - $State.Controls.cmbMake = $window.FindName('cmbMake') - $State.Controls.spMakeSection = $window.FindName('spMakeSection') - $State.Controls.btnGetModels = $window.FindName('btnGetModels') - $State.Controls.spModelFilterSection = $window.FindName('spModelFilterSection') - $State.Controls.txtModelFilter = $window.FindName('txtModelFilter') - $State.Controls.lstDriverModels = $window.FindName('lstDriverModels') - $State.Controls.spDriverActionButtons = $window.FindName('spDriverActionButtons') - $State.Controls.btnSaveDriversJson = $window.FindName('btnSaveDriversJson') - $State.Controls.btnImportDriversJson = $window.FindName('btnImportDriversJson') - $State.Controls.btnDownloadSelectedDrivers = $window.FindName('btnDownloadSelectedDrivers') - $State.Controls.btnClearDriverList = $window.FindName('btnClearDriverList') - $State.Controls.chkInstallOffice = $window.FindName('chkInstallOffice') - $State.Controls.chkInstallApps = $window.FindName('chkInstallApps') - $State.Controls.OfficePathStackPanel = $window.FindName('OfficePathStackPanel') - $State.Controls.OfficePathGrid = $window.FindName('OfficePathGrid') - $State.Controls.CopyOfficeConfigXMLStackPanel = $window.FindName('CopyOfficeConfigXMLStackPanel') - $State.Controls.OfficeConfigurationXMLFileStackPanel = $window.FindName('OfficeConfigurationXMLFileStackPanel') - $State.Controls.OfficeConfigurationXMLFileGrid = $window.FindName('OfficeConfigurationXMLFileGrid') - $State.Controls.chkCopyOfficeConfigXML = $window.FindName('chkCopyOfficeConfigXML') - $State.Controls.chkLatestCU = $window.FindName('chkUpdateLatestCU') - $State.Controls.chkPreviewCU = $window.FindName('chkUpdatePreviewCU') - $State.Controls.btnCheckUSBDrives = $window.FindName('btnCheckUSBDrives') - $State.Controls.lstUSBDrives = $window.FindName('lstUSBDrives') - $State.Controls.chkSelectAllUSBDrives = $window.FindName('chkSelectAllUSBDrives') - $State.Controls.chkBuildUSBDriveEnable = $window.FindName('chkBuildUSBDriveEnable') - $State.Controls.usbSection = $window.FindName('usbDriveSection') - $State.Controls.chkSelectSpecificUSBDrives = $window.FindName('chkSelectSpecificUSBDrives') - $State.Controls.usbSelectionPanel = $window.FindName('usbDriveSelectionPanel') - $State.Controls.chkAllowExternalHardDiskMedia = $window.FindName('chkAllowExternalHardDiskMedia') - $State.Controls.chkPromptExternalHardDiskMedia = $window.FindName('chkPromptExternalHardDiskMedia') - $State.Controls.chkInstallWingetApps = $window.FindName('chkInstallWingetApps') - $State.Controls.wingetPanel = $window.FindName('wingetPanel') - $State.Controls.btnCheckWingetModule = $window.FindName('btnCheckWingetModule') - $State.Controls.txtWingetVersion = $window.FindName('txtWingetVersion') - $State.Controls.txtWingetModuleVersion = $window.FindName('txtWingetModuleVersion') - $State.Controls.applicationPathPanel = $window.FindName('applicationPathPanel') - $State.Controls.appListJsonPathPanel = $window.FindName('appListJsonPathPanel') - $State.Controls.btnBrowseApplicationPath = $window.FindName('btnBrowseApplicationPath') - $State.Controls.btnBrowseAppListJsonPath = $window.FindName('btnBrowseAppListJsonPath') - $State.Controls.chkBringYourOwnApps = $window.FindName('chkBringYourOwnApps') - $State.Controls.byoApplicationPanel = $window.FindName('byoApplicationPanel') - $State.Controls.wingetSearchPanel = $window.FindName('wingetSearchPanel') - $State.Controls.txtWingetSearch = $window.FindName('txtWingetSearch') - $State.Controls.btnWingetSearch = $window.FindName('btnWingetSearch') - $State.Controls.lstWingetResults = $window.FindName('lstWingetResults') - $State.Controls.btnSaveWingetList = $window.FindName('btnSaveWingetList') - $State.Controls.btnImportWingetList = $window.FindName('btnImportWingetList') - $State.Controls.btnClearWingetList = $window.FindName('btnClearWingetList') - $State.Controls.btnDownloadSelected = $window.FindName('btnDownloadSelected') - $State.Controls.btnBrowseAppSource = $window.FindName('btnBrowseAppSource') - $State.Controls.btnBrowseFFUDevPath = $window.FindName('btnBrowseFFUDevPath') - $State.Controls.btnBrowseFFUCaptureLocation = $window.FindName('btnBrowseFFUCaptureLocation') - $State.Controls.btnBrowseOfficePath = $window.FindName('btnBrowseOfficePath') - $State.Controls.btnBrowseDriversFolder = $window.FindName('btnBrowseDriversFolder') - $State.Controls.btnBrowsePEDriversFolder = $window.FindName('btnBrowsePEDriversFolder') - $State.Controls.txtAppName = $window.FindName('txtAppName') - $State.Controls.txtAppCommandLine = $window.FindName('txtAppCommandLine') - $State.Controls.txtAppArguments = $window.FindName('txtAppArguments') - $State.Controls.txtAppSource = $window.FindName('txtAppSource') - $State.Controls.btnAddApplication = $window.FindName('btnAddApplication') - $State.Controls.btnSaveBYOApplications = $window.FindName('btnSaveBYOApplications') - $State.Controls.btnLoadBYOApplications = $window.FindName('btnLoadBYOApplications') - $State.Controls.btnClearBYOApplications = $window.FindName('btnClearBYOApplications') - $State.Controls.btnCopyBYOApps = $window.FindName('btnCopyBYOApps') - $State.Controls.lstApplications = $window.FindName('lstApplications') - $State.Controls.btnMoveTop = $window.FindName('btnMoveTop') - $State.Controls.btnMoveUp = $window.FindName('btnMoveUp') - $State.Controls.btnMoveDown = $window.FindName('btnMoveDown') - $State.Controls.btnMoveBottom = $window.FindName('btnMoveBottom') - $State.Controls.txtStatus = $window.FindName('txtStatus') - $State.Controls.pbOverallProgress = $window.FindName('progressBar') - $State.Controls.txtOverallStatus = $window.FindName('txtStatus') - $State.Controls.cmbVMSwitchName = $window.FindName('cmbVMSwitchName') - $State.Controls.txtVMHostIPAddress = $window.FindName('txtVMHostIPAddress') - $State.Controls.txtCustomVMSwitchName = $window.FindName('txtCustomVMSwitchName') - $State.Controls.txtFFUDevPath = $window.FindName('txtFFUDevPath') - $State.Controls.txtCustomFFUNameTemplate = $window.FindName('txtCustomFFUNameTemplate') - $State.Controls.txtFFUCaptureLocation = $window.FindName('txtFFUCaptureLocation') - $State.Controls.txtShareName = $window.FindName('txtShareName') - $State.Controls.txtUsername = $window.FindName('txtUsername') - $State.Controls.chkCompactOS = $window.FindName('chkCompactOS') - $State.Controls.chkOptimize = $window.FindName('chkOptimize') - $State.Controls.chkAllowVHDXCaching = $window.FindName('chkAllowVHDXCaching') - $State.Controls.chkCreateCaptureMedia = $window.FindName('chkCreateCaptureMedia') - $State.Controls.chkCreateDeploymentMedia = $window.FindName('chkCreateDeploymentMedia') - $State.Controls.chkCopyAutopilot = $window.FindName('chkCopyAutopilot') - $State.Controls.chkCopyUnattend = $window.FindName('chkCopyUnattend') - $State.Controls.chkCopyPPKG = $window.FindName('chkCopyPPKG') - $State.Controls.chkCleanupAppsISO = $window.FindName('chkCleanupAppsISO') - $State.Controls.chkCleanupCaptureISO = $window.FindName('chkCleanupCaptureISO') - $State.Controls.chkCleanupDeployISO = $window.FindName('chkCleanupDeployISO') - $State.Controls.chkCleanupDrivers = $window.FindName('chkCleanupDrivers') - $State.Controls.chkRemoveFFU = $window.FindName('chkRemoveFFU') - $State.Controls.txtDiskSize = $window.FindName('txtDiskSize') - $State.Controls.txtMemory = $window.FindName('txtMemory') - $State.Controls.txtProcessors = $window.FindName('txtProcessors') - $State.Controls.txtVMLocation = $window.FindName('txtVMLocation') - $State.Controls.txtVMNamePrefix = $window.FindName('txtVMNamePrefix') - $State.Controls.cmbLogicalSectorSize = $window.FindName('cmbLogicalSectorSize') - $State.Controls.txtProductKey = $window.FindName('txtProductKey') - $State.Controls.txtOfficePath = $window.FindName('txtOfficePath') - $State.Controls.txtOfficeConfigXMLFilePath = $window.FindName('txtOfficeConfigXMLFilePath') - $State.Controls.txtDriversFolder = $window.FindName('txtDriversFolder') - $State.Controls.txtPEDriversFolder = $window.FindName('txtPEDriversFolder') - $State.Controls.chkCopyPEDrivers = $window.FindName('chkCopyPEDrivers') - $State.Controls.chkUpdateLatestCU = $window.FindName('chkUpdateLatestCU') - $State.Controls.chkUpdateLatestNet = $window.FindName('chkUpdateLatestNet') - $State.Controls.chkUpdateLatestDefender = $window.FindName('chkUpdateLatestDefender') - $State.Controls.chkUpdateEdge = $window.FindName('chkUpdateEdge') - $State.Controls.chkUpdateOneDrive = $window.FindName('chkUpdateOneDrive') - $State.Controls.chkUpdateLatestMSRT = $window.FindName('chkUpdateLatestMSRT') - $State.Controls.chkUpdatePreviewCU = $window.FindName('chkUpdatePreviewCU') - $State.Controls.txtApplicationPath = $window.FindName('txtApplicationPath') - $State.Controls.txtAppListJsonPath = $window.FindName('txtAppListJsonPath') - $State.Controls.chkInstallDrivers = $window.FindName('chkInstallDrivers') - $State.Controls.chkCopyDrivers = $window.FindName('chkCopyDrivers') - $State.Controls.chkCompressDriversToWIM = $window.FindName('chkCompressDriversToWIM') - $State.Controls.chkRemoveApps = $window.FindName('chkRemoveApps') - $State.Controls.chkRemoveUpdates = $window.FindName('chkRemoveUpdates') - $State.Controls.chkUpdateLatestMicrocode = $window.FindName('chkUpdateLatestMicrocode') - $State.Controls.chkDefineAppsScriptVariables = $window.FindName('chkDefineAppsScriptVariables') - $State.Controls.appsScriptVariablesPanel = $window.FindName('appsScriptVariablesPanel') - $State.Controls.txtAppsScriptKey = $window.FindName('txtAppsScriptKey') - $State.Controls.txtAppsScriptValue = $window.FindName('txtAppsScriptValue') - $State.Controls.btnAddAppsScriptVariable = $window.FindName('btnAddAppsScriptVariable') - $State.Controls.lstAppsScriptVariables = $window.FindName('lstAppsScriptVariables') - $State.Controls.btnRemoveSelectedAppsScriptVariables = $window.FindName('btnRemoveSelectedAppsScriptVariables') - $State.Controls.btnClearAppsScriptVariables = $window.FindName('btnClearAppsScriptVariables') - $State.Controls.txtDriversJsonPath = $window.FindName('txtDriversJsonPath') - $State.Controls.btnBrowseDriversJsonPath = $window.FindName('btnBrowseDriversJsonPath') - $State.Controls.chkUpdateADK = $window.FindName('chkUpdateADK') -} - # -------------------------------------------------------------------------- # SECTION: Module Export # --------------------------------------------------------------------------