diff --git a/docs/content/dev/architecture.md b/docs/content/dev/architecture.md index 11ca1e4d59..450e082174 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. @@ -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 ↓ 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 - } -} 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 - } -} diff --git a/functions/public/Invoke-WPFInstall.ps1 b/functions/public/Invoke-WPFInstall.ps1 index 3d052e3115..5faf931c09 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,16 @@ 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) { Install-WinUtilWinget - Install-WinUtilProgramWinget -Action Install -Programs $packagesWinget - } - if($packagesChoco.Count -gt 0) { + Start-Process -FilePath winget -ArgumentList "install $packagesWinget --silent --source winget --accept-package-agreements" -NoNewWindow -Wait + } else { Install-WinUtilChoco - Install-WinUtilProgramChoco -Action Install -Programs $packagesChoco + Start-Process -FilePath choco -ArgumentList "install $packagesChoco -y --ignore-checksums" -NoNewWindow -Wait } + Hide-WPFInstallAppBusy Write-Host "===========================================" Write-Host "-- Installs have finished ---" diff --git a/functions/public/Invoke-WPFUnInstall.ps1 b/functions/public/Invoke-WPFUnInstall.ps1 index 4df18cb0ad..1072dfe29d 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 @@ -48,12 +48,14 @@ function Invoke-WPFUnInstall { } # Uninstall all selected programs in new window - if($packagesWinget.Count -gt 0) { - Install-WinUtilProgramWinget -Action Uninstall -Programs $packagesWinget - } - if($packagesChoco.Count -gt 0) { - Install-WinUtilProgramChoco -Action Uninstall -Programs $packagesChoco + if ($packagesWinget) { + Install-WinUtilWinget + Start-Process -FilePath winget -ArgumentList "uninstall $packagesWinget --source winget --silent" -NoNewWindow -Wait + } else { + Install-WinUtilChoco + Start-Process -FilePath choco -ArgumentList "uninstall $packagesChoco -y" -NoNewWindow -Wait } + Hide-WPFInstallAppBusy Write-Host "===========================================" Write-Host "-- Uninstalls have finished ---"