feat: add config-driven AppX package removal tab

- Add config/appx.json with curated list of removable AppX packages

- Add AppX Removal tab (WPFTab6) with Select All, Clear, and Remove buttons

- Reuse existing Invoke-WPFUIElements engine for minimal code footprint

- Add Invoke-WPFAppxRemoval.ps1 for background runspace package removal

- Add theme colors for the new tab button in light and dark modes
This commit is contained in:
GabiNun2
2026-06-21 17:57:41 +03:00
parent 58a81b106c
commit e8c1401cce
9 changed files with 300 additions and 0 deletions
+11
View File
@@ -23,6 +23,17 @@ Get-ChildItem config | ForEach-Object {
$obj = [pscustomobject]$fixed
}
if ($_.Name -eq "appx.json") {
$fixed = [ordered]@{}
foreach ($p in $obj.PSObject.Properties) {
$keyName = "WPFAppx$($p.Name -replace '\.', '_')"
$val = $p.Value
$val | Add-Member -MemberType NoteProperty -Name "PackageId" -Value $p.Name -Force
$fixed[$keyName] = $val
}
$obj = [pscustomobject]$fixed
}
$json = $obj | ConvertTo-Json -Depth 10
$sync.configs[$_.BaseName] = $obj