CleanUp Invoke-WinUtilFeatureInstall.ps1 and fix typo (#4481)

* CleanUp Invoke-WinUtilFeatureInstall.ps1

* Update Invoke-WinUtilFeatureInstall.ps1

* Update feature.json
This commit is contained in:
Gabi
2026-05-19 20:34:04 +03:00
committed by GitHub
parent fb54380b8b
commit bcafbe6234
2 changed files with 10 additions and 43 deletions
+1 -1
View File
@@ -129,7 +129,7 @@
"link": "https://winutil.christitus.com/dev/features/features/sandbox"
},
"WPFFeatureInstall": {
"Content": "Run Features",
"Content": "Install Features",
"category": "Features",
"panel": "1",
"Type": "Button",
@@ -1,49 +1,16 @@
function Invoke-WinUtilFeatureInstall {
<#
function Invoke-WinUtilFeatureInstall ($CheckBox) {
.SYNOPSIS
Converts all the values from the tweaks.json and routes them to the appropriate function
#>
param(
$CheckBox
)
if($sync.configs.feature.$CheckBox.feature) {
Foreach( $feature in $sync.configs.feature.$CheckBox.feature ) {
try {
if ($sync.configs.feature.$CheckBox.feature) {
foreach ($feature in $sync.configs.feature.$CheckBox.feature) {
Write-Host "Installing $feature"
Enable-WindowsOptionalFeature -Online -FeatureName $feature -All -NoRestart
} catch {
if ($CheckBox.Exception.Message -like "*requires elevation*") {
Write-Warning "Unable to Install $feature due to permissions. Are you running as admin?"
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
} else {
Write-Warning "Unable to Install $feature due to unhandled exception."
Write-Warning $CheckBox.Exception.StackTrace
}
}
}
}
if($sync.configs.feature.$CheckBox.InvokeScript) {
Foreach( $script in $sync.configs.feature.$CheckBox.InvokeScript ) {
try {
$Scriptblock = [scriptblock]::Create($script)
Enable-WindowsOptionalFeature -Online -FeatureName $feature -All -NoRestart -ErrorAction Stop
}
}
if ($sync.configs.feature.$CheckBox.InvokeScript) {
foreach ($script in $sync.configs.feature.$CheckBox.InvokeScript) {
Write-Host "Running Script for $CheckBox"
Invoke-Command $scriptblock -ErrorAction stop
} catch {
if ($CheckBox.Exception.Message -like "*requires elevation*") {
Write-Warning "Unable to Install $feature due to permissions. Are you running as admin?"
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
} else {
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
Write-Warning "Unable to Install $feature due to unhandled exception."
Write-Warning $CheckBox.Exception.StackTrace
}
}
Invoke-Command -ScriptBlock ([scriptblock]::Create($script)) -ErrorAction Stop
}
}
}