From c9b7b7f7263b321a36ab06c36d44ed053c5b66b0 Mon Sep 17 00:00:00 2001 From: supplefrog <78985073+supplefrog@users.noreply.github.com> Date: Tue, 12 Sep 2023 08:20:44 +0530 Subject: [PATCH] Application Sort - DDU - Change in Runspace (#1013) * Application list sorted alphabetically * Indentation fix * Compiled winutil.ps1 * Indentation fix * Added Display Driver Uninstaller * Fix apps falsely marked as installed #1015 --- config/applications.json | 38 +- .../private/Invoke-WinUtilCurrentSystem.ps1 | 8 +- winutil.ps1 | 1331 +++++++++-------- xaml/inputXML.xaml | 52 +- 4 files changed, 717 insertions(+), 712 deletions(-) diff --git a/config/applications.json b/config/applications.json index a0e721ed..de100bd1 100755 --- a/config/applications.json +++ b/config/applications.json @@ -1,4 +1,8 @@ -{ +{ + "WPFInstall7zip": { + "winget": "7zip.7zip", + "choco": "7zip" + }, "WPFInstalladobe": { "winget": "Adobe.Acrobat.Reader.64-bit", "choco": "adobereader" @@ -59,6 +63,10 @@ "winget": "CPUID.CPU-Z", "choco": "cpu-z" }, + "WPFInstallddu": { + "winget": "ddu", + "choco": "ddu" + }, "WPFInstalldeluge": { "winget": "DelugeTeam.Deluge", "choco": "deluge" @@ -199,6 +207,10 @@ "winget": "SFLinux.Jami", "choco": "jami" }, + "WPFInstalljava8": { + "winget": "EclipseAdoptium.Temurin.8.JRE", + "choco": "temurin8jre" + }, "WPFInstalljava11": { "winget": "EclipseAdoptium.Temurin.11.JRE", "choco": "javaruntime" @@ -223,10 +235,6 @@ "winget": "Azul.Zulu.20.JDK", "choco": "na" }, - "WPFInstalljava8": { - "winget": "EclipseAdoptium.Temurin.8.JRE", - "choco": "temurin8jre" - }, "WPFInstalljdownloader": { "winget": "AppWork.JDownloader", "choco": "jdownloader" @@ -415,18 +423,10 @@ "winget": "Sandboxie.Plus", "choco": "sandboxie" }, - "WPFInstallscp": { - "winget": "WinSCP.WinSCP", - "choco": "winscp" - }, "WPFInstallsdio": { "winget": "GlennDelahoy.SnappyDriverInstallerOrigin", "choco": "na" }, - "WPFInstallsevenzip": { - "winget": "7zip.7zip", - "choco": "7zip" - }, "WPFInstallsharex": { "winget": "ShareX.ShareX", "choco": "sharex" @@ -471,10 +471,10 @@ "winget": "SumatraPDF.SumatraPDF", "choco": "sumatrapdf" }, - "WPFInstalltcpview": { - "winget": "Microsoft.Sysinternals.Tcpview", - "choco": "tcpview" - }, + "WPFInstalltcpview": { + "winget": "Microsoft.Sysinternals.Tcpview", + "choco": "tcpview" + }, "WPFInstallteams": { "winget": "Microsoft.Teams", "choco": "microsoft-teams" @@ -571,6 +571,10 @@ "winget": "RARLab.WinRAR", "choco": "winrar" }, + "WPFInstallwinscp": { + "winget": "WinSCP.WinSCP", + "choco": "winscp" + }, "WPFInstallwireshark": { "winget": "WiresharkFoundation.Wireshark", "choco": "wireshark" diff --git a/functions/private/Invoke-WinUtilCurrentSystem.ps1 b/functions/private/Invoke-WinUtilCurrentSystem.ps1 index 556288ce..ba8d3022 100644 --- a/functions/private/Invoke-WinUtilCurrentSystem.ps1 +++ b/functions/private/Invoke-WinUtilCurrentSystem.ps1 @@ -26,12 +26,10 @@ Function Invoke-WinUtilCurrentSystem { $filter = Get-WinUtilVariables -Type Checkbox | Where-Object {$psitem -like "WPFInstall*"} $sync.GetEnumerator() | Where-Object {$psitem.Key -in $filter} | ForEach-Object { - $dependencies = $($sync.configs.applications.$($psitem.Key).winget -split ";") + $dependencies = @($sync.configs.applications.$($psitem.Key).winget -split ";") - Foreach ($dependency in $dependencies) { - if($dependency -in $sync.InstalledPrograms.Id){ - Write-Output $psitem.name - } + if ($dependencies[-1] -in $sync.InstalledPrograms.Id) { + Write-Output $psitem.name } } } diff --git a/winutil.ps1 b/winutil.ps1 index 840afe12..9fa5aa22 100755 --- a/winutil.ps1 +++ b/winutil.ps1 @@ -10,7 +10,7 @@ Author : Chris Titus @christitustech Runspace Author: @DeveloperDurp GitHub : https://github.com/ChrisTitusTech - Version : 23.09.07 + Version : 23.09.11 #> Start-Transcript $ENV:TEMP\Winutil.log -Append @@ -21,7 +21,7 @@ Add-Type -AssemblyName System.Windows.Forms # variable to sync between runspaces $sync = [Hashtable]::Synchronized(@{}) $sync.PSScriptRoot = $PSScriptRoot -$sync.version = "23.09.07" +$sync.version = "23.09.11" $sync.configs = @{} $sync.ProcessRunning = $false @@ -386,12 +386,10 @@ Function Invoke-WinUtilCurrentSystem { $filter = Get-WinUtilVariables -Type Checkbox | Where-Object {$psitem -like "WPFInstall*"} $sync.GetEnumerator() | Where-Object {$psitem.Key -in $filter} | ForEach-Object { - $dependencies = $($sync.configs.applications.$($psitem.Key).winget -split ";") + $dependencies = @($sync.configs.applications.$($psitem.Key).winget -split ";") - Foreach ($dependency in $dependencies) { - if($dependency -in $sync.InstalledPrograms.Id){ - Write-Output $psitem.name - } + if ($dependencies[-1] -in $sync.InstalledPrograms.Id) { + Write-Output $psitem.name } } } @@ -2367,29 +2365,31 @@ $inputXML = '