From 7bfcd7cb25e4ad285932ea20c6c25aa98a59a57b Mon Sep 17 00:00:00 2001 From: Chris Titus Date: Thu, 21 Mar 2024 16:58:40 -0700 Subject: [PATCH 01/17] compile refactor --- Compile.ps1 | 22 +- scripts/main.ps1 | 16 - winutil.ps1 | 2946 +++++++++++++++++++++++++++++++--------------- 3 files changed, 1999 insertions(+), 985 deletions(-) diff --git a/Compile.ps1 b/Compile.ps1 index 4e5cc278..68031a44 100644 --- a/Compile.ps1 +++ b/Compile.ps1 @@ -24,15 +24,14 @@ Get-ChildItem .\functions -Recurse -File | ForEach-Object { Get-Content $psitem.FullName | Out-File ./$scriptname -Append -Encoding ascii } -$xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''") -Write-output "`$inputXML = '$xaml'" | Out-File ./$scriptname -Append -Encoding ascii - Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach-Object { $json = (Get-Content $psitem.FullName).replace("'","''") $sync.configs.$($psitem.BaseName) = $json | convertfrom-json Write-output "`$sync.configs.$($psitem.BaseName) = '$json' `| convertfrom-json" | Out-File ./$scriptname -Append -Encoding ascii } +$xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''") + # Dot-source the Get-TabXaml function . .\functions\private\Get-TabXaml.ps1 @@ -44,4 +43,21 @@ $tabColumns | Out-File -FilePath ".\xaml\inputTweaks.xaml" -Encoding ascii $tabColumns = Get-TabXaml "feature" $tabColumns | Out-File -FilePath ".\xaml\inputFeatures.xaml" -Encoding ascii +# Assuming inputApp.xaml is in the same directory as main.ps1 +$appXamlPath = Join-Path -Path $PSScriptRoot -ChildPath "xaml/inputApp.xaml" +$tweaksXamlPath = Join-Path -Path $PSScriptRoot -ChildPath "xaml/inputTweaks.xaml" +$featuresXamlPath = Join-Path -Path $PSScriptRoot -ChildPath "xaml/inputFeatures.xaml" + +# Load the XAML content from inputApp.xaml +$appXamlContent = Get-Content -Path $appXamlPath -Raw +$tweaksXamlContent = Get-Content -Path $tweaksXamlPath -Raw +$featuresXamlContent = Get-Content -Path $featuresXamlPath -Raw + +# Replace the placeholder in $inputXML with the content of inputApp.xaml +$xaml = $xaml -replace "{{InstallPanel_applications}}", $appXamlContent +$xaml = $xaml -replace "{{InstallPanel_tweaks}}", $tweaksXamlContent +$xaml = $xaml -replace "{{InstallPanel_features}}", $featuresXamlContent + +Write-output "`$inputXML = '$xaml'" | Out-File ./$scriptname -Append -Encoding ascii + Get-Content .\scripts\main.ps1 | Out-File ./$scriptname -Append -Encoding ascii \ No newline at end of file diff --git a/scripts/main.ps1 b/scripts/main.ps1 index 16151242..adaab233 100644 --- a/scripts/main.ps1 +++ b/scripts/main.ps1 @@ -52,22 +52,6 @@ $sync.runspace.Open() $inputXML = $inputXML -replace 'mc:Ignorable="d"', '' -replace "x:N", 'N' -replace '^ param ( [switch]$Debug, @@ -47,7 +47,7 @@ Add-Type -AssemblyName System.Windows.Forms # Variable to sync between runspaces $sync = [Hashtable]::Synchronized(@{}) $sync.PSScriptRoot = $PSScriptRoot -$sync.version = "24.02.22" +$sync.version = "24.03.21" $sync.configs = @{} $sync.ProcessRunning = $false @@ -4595,953 +4595,6 @@ function Invoke-WPFUpdatessecurity { Write-Host "-- Updates Set to Recommended ---" Write-Host "=================================" } -$inputXML = ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Install - - - - - - - Tweaks - - - - - - - Config - - - - - - - Updates - - - - - - - MicroWin - - - - - - - - - - - - - - - - - - - - Choose Windows SKU - - Choose Windows features you want to remove from the ISO - - - - - - - - - - - + + + + + + Choose Windows SKU + + Choose Windows features you want to remove from the ISO + + + + + + + + + + +