From 8d4f7edf7a9b7528287e2134321082aabcf82fd5 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:17:02 +0300 Subject: [PATCH 01/13] Update Invoke-WPFUnInstall.ps1 --- functions/public/Invoke-WPFUnInstall.ps1 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/functions/public/Invoke-WPFUnInstall.ps1 b/functions/public/Invoke-WPFUnInstall.ps1 index 1110faeacb..0f85024f18 100644 --- a/functions/public/Invoke-WPFUnInstall.ps1 +++ b/functions/public/Invoke-WPFUnInstall.ps1 @@ -44,12 +44,14 @@ function Invoke-WPFUnInstall { Show-WPFInstallAppBusy -text "Uninstalling apps..." # Uninstall all selected programs in new window - if($packagesWinget.Count -gt 0) { - Install-WinUtilProgramWinget -Action Uninstall -Programs $packagesWinget + if ($packagesWinget.Count -gt 0) { + Start-Process -FilePath winget -ArgumentList "uninstall $packagesWinget --source winget --silent" -NoNewWindow -Wait } - if($packagesChoco.Count -gt 0) { - Install-WinUtilProgramChoco -Action Uninstall -Programs $packagesChoco + + if ($packagesChoco.Count -gt 0) { + Start-Process -FilePath choco -ArgumentList "uninstall $packagesChoco -y" -NoNewWindow -Wait } + Hide-WPFInstallAppBusy Write-Host "===========================================" Write-Host "-- Uninstalls have finished ---" From c82502859a2f88fa1065392ccca1c4feacdca699 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:19:53 +0300 Subject: [PATCH 02/13] Update Invoke-WPFInstall.ps1 --- functions/public/Invoke-WPFInstall.ps1 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/functions/public/Invoke-WPFInstall.ps1 b/functions/public/Invoke-WPFInstall.ps1 index 3d052e3115..980826beb3 100644 --- a/functions/public/Invoke-WPFInstall.ps1 +++ b/functions/public/Invoke-WPFInstall.ps1 @@ -6,8 +6,7 @@ function Invoke-WPFInstall { $PackagesToInstall = $sync.selectedApps | Foreach-Object { $sync.configs.applicationsHashtable.$_ } - - if($sync.ProcessRunning) { + if ($sync.ProcessRunning) { $msg = "[Invoke-WPFInstall] An Install process is currently running." [System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning) return @@ -31,15 +30,17 @@ function Invoke-WPFInstall { try { $sync.ProcessRunning = $true - if($packagesWinget.Count -gt 0 -and $packagesWinget -ne "0") { - Show-WPFInstallAppBusy -text "Installing apps..." + Show-WPFInstallAppBusy -text "Installing apps..." + + if ($packagesWinget.Count -gt 0 -and $packagesWinget -ne "0") { Install-WinUtilWinget - Install-WinUtilProgramWinget -Action Install -Programs $packagesWinget + Start-Process -FilePath winget -ArgumentList "install $packagesWinget --accept-package-agreements --source winget --silent" -NoNewWindow -Wait } - if($packagesChoco.Count -gt 0) { + if ($packagesChoco.Count -gt 0) { Install-WinUtilChoco - Install-WinUtilProgramChoco -Action Install -Programs $packagesChoco + Start-Process -FilePath choco -ArgumentList "install $packagesChoco -y" -NoNewWindow -Wait } + Hide-WPFInstallAppBusy Write-Host "===========================================" Write-Host "-- Installs have finished ---" From 227065f270bec5866ab1b338d5eebfe9528661fe Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:20:00 +0300 Subject: [PATCH 03/13] Update Invoke-WPFUnInstall.ps1 --- functions/public/Invoke-WPFUnInstall.ps1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/functions/public/Invoke-WPFUnInstall.ps1 b/functions/public/Invoke-WPFUnInstall.ps1 index 0f85024f18..97e94c2904 100644 --- a/functions/public/Invoke-WPFUnInstall.ps1 +++ b/functions/public/Invoke-WPFUnInstall.ps1 @@ -45,10 +45,12 @@ function Invoke-WPFUnInstall { # Uninstall all selected programs in new window if ($packagesWinget.Count -gt 0) { + Install-WinUtilWinget Start-Process -FilePath winget -ArgumentList "uninstall $packagesWinget --source winget --silent" -NoNewWindow -Wait } if ($packagesChoco.Count -gt 0) { + Install-WinUtilChoco Start-Process -FilePath choco -ArgumentList "uninstall $packagesChoco -y" -NoNewWindow -Wait } From 2404cb9f0400c3b5459229869d63bb48bf2e1d96 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:20:37 +0300 Subject: [PATCH 04/13] Delete functions/private/Install-WinUtilProgramChoco.ps1 --- .../private/Install-WinUtilProgramChoco.ps1 | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 functions/private/Install-WinUtilProgramChoco.ps1 diff --git a/functions/private/Install-WinUtilProgramChoco.ps1 b/functions/private/Install-WinUtilProgramChoco.ps1 deleted file mode 100644 index 4c673cddee..0000000000 --- a/functions/private/Install-WinUtilProgramChoco.ps1 +++ /dev/null @@ -1,16 +0,0 @@ -function Install-WinUtilProgramChoco { - param ( - [Parameter(Mandatory=$true)] - [ValidateSet("Install", "Uninstall")] - [string]$Action, - - [Parameter(Mandatory=$true)] - [string[]]$Programs - ) - - if ($Action -eq 'Install') { - Start-Process -FilePath choco -ArgumentList "install $Programs -y" -NoNewWindow -Wait - } else { - Start-Process -FilePath choco -ArgumentList "uninstall $Programs -y" -NoNewWindow -Wait - } -} From cc9e0bd028a54a72278cb8f88aa8eb1d5071e8d5 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:20:48 +0300 Subject: [PATCH 05/13] Delete functions/private/Install-WinUtilProgramWinget.ps1 --- .../private/Install-WinUtilProgramWinget.ps1 | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 functions/private/Install-WinUtilProgramWinget.ps1 diff --git a/functions/private/Install-WinUtilProgramWinget.ps1 b/functions/private/Install-WinUtilProgramWinget.ps1 deleted file mode 100644 index 8ec403a51c..0000000000 --- a/functions/private/Install-WinUtilProgramWinget.ps1 +++ /dev/null @@ -1,16 +0,0 @@ -Function Install-WinUtilProgramWinget { - param ( - [Parameter(Mandatory=$true)] - [ValidateSet("Install", "Uninstall")] - [string]$Action, - - [Parameter(Mandatory=$true)] - [string[]]$Programs - ) - - if ($Action -eq 'Install') { - Start-Process -FilePath winget -ArgumentList "install $Programs --accept-package-agreements --source winget --silent" -NoNewWindow -Wait - } else { - Start-Process -FilePath winget -ArgumentList "uninstall $Programs --source winget --silent" -NoNewWindow -Wait - } -} From cbd0772dc64dba800fb47305691e0631da83928f Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:51:22 +0300 Subject: [PATCH 06/13] Update Invoke-WPFInstall.ps1 --- functions/public/Invoke-WPFInstall.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/public/Invoke-WPFInstall.ps1 b/functions/public/Invoke-WPFInstall.ps1 index 980826beb3..505751ee7e 100644 --- a/functions/public/Invoke-WPFInstall.ps1 +++ b/functions/public/Invoke-WPFInstall.ps1 @@ -32,7 +32,7 @@ function Invoke-WPFInstall { $sync.ProcessRunning = $true Show-WPFInstallAppBusy -text "Installing apps..." - if ($packagesWinget.Count -gt 0 -and $packagesWinget -ne "0") { + if ($packagesWinget.Count -gt 0) { Install-WinUtilWinget Start-Process -FilePath winget -ArgumentList "install $packagesWinget --accept-package-agreements --source winget --silent" -NoNewWindow -Wait } From 5d35f9aeaf9450e333a6a949b294668e45251289 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:51:54 +0300 Subject: [PATCH 07/13] Update Invoke-WPFInstall.ps1 --- functions/public/Invoke-WPFInstall.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/public/Invoke-WPFInstall.ps1 b/functions/public/Invoke-WPFInstall.ps1 index 505751ee7e..61daba45dd 100644 --- a/functions/public/Invoke-WPFInstall.ps1 +++ b/functions/public/Invoke-WPFInstall.ps1 @@ -34,7 +34,7 @@ function Invoke-WPFInstall { if ($packagesWinget.Count -gt 0) { Install-WinUtilWinget - Start-Process -FilePath winget -ArgumentList "install $packagesWinget --accept-package-agreements --source winget --silent" -NoNewWindow -Wait + Start-Process -FilePath winget -ArgumentList "install $packagesWinget --silent --source winget --accept-package-agreements" -NoNewWindow -Wait } if ($packagesChoco.Count -gt 0) { Install-WinUtilChoco From 22ea41ff486944148d1849f2ff25e9f06067c498 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:55:24 +0300 Subject: [PATCH 08/13] Update architecture.md --- docs/content/dev/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/dev/architecture.md b/docs/content/dev/architecture.md index 7a4f65fdd2..1a31917dc6 100644 --- a/docs/content/dev/architecture.md +++ b/docs/content/dev/architecture.md @@ -96,7 +96,7 @@ winutil/ - `Initialize-WPFUI.ps1`: Sets up the GUI - `Invoke-WPFTweak*`: Applies system tweaks - `Invoke-WPFFeature*`: Enables Windows features -- `Install-WinUtilProgram*`: Installs applications +- `Invoke-WPFInstall*`: Installs applications **Naming Convention**: Functions start with `WPF` or `Winutil` to be loaded into the runspace. From 7f1e058dbb938d6b06477e6fac42ad128c276d17 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:56:23 +0300 Subject: [PATCH 09/13] Update architecture.md --- docs/content/dev/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/dev/architecture.md b/docs/content/dev/architecture.md index 1a31917dc6..f2ce1eaeb1 100644 --- a/docs/content/dev/architecture.md +++ b/docs/content/dev/architecture.md @@ -291,7 +291,7 @@ Check if WinGet/Choco is installed ↓ Install-WinUtilWinget/Choco (if needed) ↓ -Install-WinUtilProgramWinget/Choco → Install app +Invoke-WPFInstall → Install app ↓ Update UI with progress ↓ From 0f496feb07593983674d8a9e323b1a4c2deecb2d Mon Sep 17 00:00:00 2001 From: GabiNun2 Date: Tue, 16 Jun 2026 16:29:42 +0300 Subject: [PATCH 10/13] e --- functions/public/Invoke-WPFInstall.ps1 | 6 +++--- functions/public/Invoke-WPFUnInstall.ps1 | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/functions/public/Invoke-WPFInstall.ps1 b/functions/public/Invoke-WPFInstall.ps1 index 61daba45dd..776f334408 100644 --- a/functions/public/Invoke-WPFInstall.ps1 +++ b/functions/public/Invoke-WPFInstall.ps1 @@ -32,13 +32,13 @@ function Invoke-WPFInstall { $sync.ProcessRunning = $true Show-WPFInstallAppBusy -text "Installing apps..." - if ($packagesWinget.Count -gt 0) { + if ($packagesWinget) { Install-WinUtilWinget Start-Process -FilePath winget -ArgumentList "install $packagesWinget --silent --source winget --accept-package-agreements" -NoNewWindow -Wait } - if ($packagesChoco.Count -gt 0) { + if ($packagesChoco) { Install-WinUtilChoco - Start-Process -FilePath choco -ArgumentList "install $packagesChoco -y" -NoNewWindow -Wait + Start-Process -FilePath choco -ArgumentList "install $packagesChoco -y --ignore-checksums" -NoNewWindow -Wait } Hide-WPFInstallAppBusy diff --git a/functions/public/Invoke-WPFUnInstall.ps1 b/functions/public/Invoke-WPFUnInstall.ps1 index 97e94c2904..9b4a9de97c 100644 --- a/functions/public/Invoke-WPFUnInstall.ps1 +++ b/functions/public/Invoke-WPFUnInstall.ps1 @@ -44,12 +44,12 @@ function Invoke-WPFUnInstall { Show-WPFInstallAppBusy -text "Uninstalling apps..." # Uninstall all selected programs in new window - if ($packagesWinget.Count -gt 0) { + if ($packagesWinget) { Install-WinUtilWinget Start-Process -FilePath winget -ArgumentList "uninstall $packagesWinget --source winget --silent" -NoNewWindow -Wait } - if ($packagesChoco.Count -gt 0) { + if ($packagesChoco) { Install-WinUtilChoco Start-Process -FilePath choco -ArgumentList "uninstall $packagesChoco -y" -NoNewWindow -Wait } From a6a7a60392d3d2cec5f22b95593d40a3c16612a1 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 16:42:06 +0300 Subject: [PATCH 11/13] Update Invoke-WPFInstall.ps1 --- functions/public/Invoke-WPFInstall.ps1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/functions/public/Invoke-WPFInstall.ps1 b/functions/public/Invoke-WPFInstall.ps1 index 776f334408..5faf931c09 100644 --- a/functions/public/Invoke-WPFInstall.ps1 +++ b/functions/public/Invoke-WPFInstall.ps1 @@ -35,8 +35,7 @@ function Invoke-WPFInstall { if ($packagesWinget) { Install-WinUtilWinget Start-Process -FilePath winget -ArgumentList "install $packagesWinget --silent --source winget --accept-package-agreements" -NoNewWindow -Wait - } - if ($packagesChoco) { + } else { Install-WinUtilChoco Start-Process -FilePath choco -ArgumentList "install $packagesChoco -y --ignore-checksums" -NoNewWindow -Wait } From c2f88ddc43d4f3ffa598086f007d0216486bee69 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 16:42:27 +0300 Subject: [PATCH 12/13] Update Invoke-WPFUnInstall.ps1 --- functions/public/Invoke-WPFUnInstall.ps1 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/functions/public/Invoke-WPFUnInstall.ps1 b/functions/public/Invoke-WPFUnInstall.ps1 index 9b4a9de97c..93f05964ce 100644 --- a/functions/public/Invoke-WPFUnInstall.ps1 +++ b/functions/public/Invoke-WPFUnInstall.ps1 @@ -47,9 +47,7 @@ function Invoke-WPFUnInstall { if ($packagesWinget) { Install-WinUtilWinget Start-Process -FilePath winget -ArgumentList "uninstall $packagesWinget --source winget --silent" -NoNewWindow -Wait - } - - if ($packagesChoco) { + } else { Install-WinUtilChoco Start-Process -FilePath choco -ArgumentList "uninstall $packagesChoco -y" -NoNewWindow -Wait } From 591d19d88dc26d93a823c67c2f575d149aeb3f54 Mon Sep 17 00:00:00 2001 From: Gabi <218829269+GabiNun2@users.noreply.github.com> Date: Tue, 16 Jun 2026 18:12:35 +0300 Subject: [PATCH 13/13] Update Invoke-WPFUnInstall.ps1 --- functions/public/Invoke-WPFUnInstall.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/public/Invoke-WPFUnInstall.ps1 b/functions/public/Invoke-WPFUnInstall.ps1 index 93f05964ce..d83b42ebd3 100644 --- a/functions/public/Invoke-WPFUnInstall.ps1 +++ b/functions/public/Invoke-WPFUnInstall.ps1 @@ -9,7 +9,7 @@ function Invoke-WPFUnInstall { Uninstalls the selected programs #> - if($sync.ProcessRunning) { + if ($sync.ProcessRunning) { $msg = "[Invoke-WPFUnInstall] Install process is currently running" [System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning) return