From 665f31d91af7070a0fedb180854267834d74bffe Mon Sep 17 00:00:00 2001
From: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Date: Thu, 9 May 2024 22:31:27 +0200
Subject: [PATCH 01/34] Added ability to import drivers
* Added ability to import drivers
Added the ability to import drivers from the active installation to the MicroWin image.
* Merge branch 'test-2024-04-20-2' into CW-MicroWin-240420
* Update inputXML.xaml
Removed warning because of a fluke
* Update Invoke-WPFMicrowin.ps1
Use the driver injection directory if it is specified and if the directory exists
* Merge branch 'test-2024-04-20-2' into CW-MicroWin-240420
* Merge branch 'test-2024-04-20-2' into CW-MicroWin-240420
---
functions/public/Invoke-WPFMicrowin.ps1 | 46 +++++++++++++++++++++++--
xaml/inputXML.xaml | 1 +
2 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/functions/public/Invoke-WPFMicrowin.ps1 b/functions/public/Invoke-WPFMicrowin.ps1
index 89d15872..564a836a 100644
--- a/functions/public/Invoke-WPFMicrowin.ps1
+++ b/functions/public/Invoke-WPFMicrowin.ps1
@@ -53,6 +53,7 @@ public class PowerManagement {
$keepEdge = $sync.WPFMicrowinKeepEdge.IsChecked
$copyToUSB = $sync.WPFMicrowinCopyToUsb.IsChecked
$injectDrivers = $sync.MicrowinInjectDrivers.IsChecked
+ $importDrivers = $sync.MicrowinImportDrivers.IsChecked
$mountDir = $sync.MicrowinMountDir.Text
$scratchDir = $sync.MicrowinScratchDir.Text
@@ -111,13 +112,54 @@ public class PowerManagement {
return
}
+ if ($importDrivers)
+ {
+ Write-Host "Exporting drivers from active installation..."
+ if (Test-Path "$env:TEMP\DRV_EXPORT")
+ {
+ Remove-Item "$env:TEMP\DRV_EXPORT" -Recurse -Force
+ }
+ if (($injectDrivers -and (Test-Path $sync.MicrowinDriverLocation.Text)))
+ {
+ Write-Host "Using specified driver source..."
+ dism /english /online /export-driver /destination="$($sync.MicrowinDriverLocation.Text)" | Out-Host
+ if ($?)
+ {
+ # Don't add exported drivers yet, that is run later
+ Write-Host "Drivers have been exported successfully."
+ }
+ else
+ {
+ Write-Host "Failed to export drivers."
+ }
+ }
+ else
+ {
+ New-Item -Path "$env:TEMP\DRV_EXPORT" -ItemType Directory -Force
+ dism /english /online /export-driver /destination="$env:TEMP\DRV_EXPORT" | Out-Host
+ if ($?)
+ {
+ Write-Host "Adding exported drivers..."
+ dism /english /image="$scratchDir" /add-driver /driver="$env:TEMP\DRV_EXPORT" /recurse | Out-Host
+ }
+ else
+ {
+ Write-Host "Failed to export drivers. Continuing without importing them..."
+ }
+ if (Test-Path "$env:TEMP\DRV_EXPORT")
+ {
+ Remove-Item "$env:TEMP\DRV_EXPORT" -Recurse -Force
+ }
+ }
+ }
+
if ($injectDrivers)
{
$driverPath = $sync.MicrowinDriverLocation.Text
if (Test-Path $driverPath)
{
Write-Host "Adding Windows Drivers image($scratchDir) drivers($driverPath) "
- Add-WindowsDriver -Path "$scratchDir" -Recurse -Driver "$driverPath"
+ dism /English /image:$scratchDir /add-driver /driver:$driverPath /recurse | Out-Host
}
else
{
@@ -335,7 +377,7 @@ public class PowerManagement {
if (Test-Path $driverPath)
{
Write-Host "Adding Windows Drivers image($scratchDir) drivers($driverPath) "
- Add-WindowsDriver -Path "$scratchDir" -Driver "$driverPath" -Recurse
+ dism /English /image:$scratchDir /add-driver /driver:$driverPath /recurse | Out-Host
}
else
{
diff --git a/xaml/inputXML.xaml b/xaml/inputXML.xaml
index 9fee01b4..ba3475fb 100644
--- a/xaml/inputXML.xaml
+++ b/xaml/inputXML.xaml
@@ -843,6 +843,7 @@
Foreground="{LabelboxForegroundColor}"
ToolTip="Path to unpacked drivers all sys and inf files for devices that need drivers"
/>
+
From b0bd06be96b913e9d8142a4b652cb3b1e77856e6 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Thu, 9 May 2024 20:31:53 +0000
Subject: [PATCH 02/34] Compile Winutil
---
winutil.ps1 | 51 +++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 47 insertions(+), 4 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 73b70c6f..8a2f9f2a 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -10,7 +10,7 @@
Author : Chris Titus @christitustech
Runspace Author: @DeveloperDurp
GitHub : https://github.com/ChrisTitusTech
- Version : 24.05.01
+ Version : 24.05.09
#>
param (
[switch]$Debug,
@@ -47,7 +47,7 @@ Add-Type -AssemblyName System.Windows.Forms
# Variable to sync between runspaces
$sync = [Hashtable]::Synchronized(@{})
$sync.PSScriptRoot = $PSScriptRoot
-$sync.version = "24.05.01"
+$sync.version = "24.05.09"
$sync.configs = @{}
$sync.ProcessRunning = $false
@@ -3726,6 +3726,7 @@ public class PowerManagement {
$keepEdge = $sync.WPFMicrowinKeepEdge.IsChecked
$copyToUSB = $sync.WPFMicrowinCopyToUsb.IsChecked
$injectDrivers = $sync.MicrowinInjectDrivers.IsChecked
+ $importDrivers = $sync.MicrowinImportDrivers.IsChecked
$mountDir = $sync.MicrowinMountDir.Text
$scratchDir = $sync.MicrowinScratchDir.Text
@@ -3784,13 +3785,54 @@ public class PowerManagement {
return
}
+ if ($importDrivers)
+ {
+ Write-Host "Exporting drivers from active installation..."
+ if (Test-Path "$env:TEMP\DRV_EXPORT")
+ {
+ Remove-Item "$env:TEMP\DRV_EXPORT" -Recurse -Force
+ }
+ if (($injectDrivers -and (Test-Path $sync.MicrowinDriverLocation.Text)))
+ {
+ Write-Host "Using specified driver source..."
+ dism /english /online /export-driver /destination="$($sync.MicrowinDriverLocation.Text)" | Out-Host
+ if ($?)
+ {
+ # Don't add exported drivers yet, that is run later
+ Write-Host "Drivers have been exported successfully."
+ }
+ else
+ {
+ Write-Host "Failed to export drivers."
+ }
+ }
+ else
+ {
+ New-Item -Path "$env:TEMP\DRV_EXPORT" -ItemType Directory -Force
+ dism /english /online /export-driver /destination="$env:TEMP\DRV_EXPORT" | Out-Host
+ if ($?)
+ {
+ Write-Host "Adding exported drivers..."
+ dism /english /image="$scratchDir" /add-driver /driver="$env:TEMP\DRV_EXPORT" /recurse | Out-Host
+ }
+ else
+ {
+ Write-Host "Failed to export drivers. Continuing without importing them..."
+ }
+ if (Test-Path "$env:TEMP\DRV_EXPORT")
+ {
+ Remove-Item "$env:TEMP\DRV_EXPORT" -Recurse -Force
+ }
+ }
+ }
+
if ($injectDrivers)
{
$driverPath = $sync.MicrowinDriverLocation.Text
if (Test-Path $driverPath)
{
Write-Host "Adding Windows Drivers image($scratchDir) drivers($driverPath) "
- Add-WindowsDriver -Path "$scratchDir" -Recurse -Driver "$driverPath"
+ dism /English /image:$scratchDir /add-driver /driver:$driverPath /recurse | Out-Host
}
else
{
@@ -4008,7 +4050,7 @@ public class PowerManagement {
if (Test-Path $driverPath)
{
Write-Host "Adding Windows Drivers image($scratchDir) drivers($driverPath) "
- Add-WindowsDriver -Path "$scratchDir" -Driver "$driverPath" -Recurse
+ dism /English /image:$scratchDir /add-driver /driver:$driverPath /recurse | Out-Host
}
else
{
@@ -12851,6 +12893,7 @@ $inputXML = '
+
From b28a79d1773d9c1d35a9e8f20a465f71b98250b3 Mon Sep 17 00:00:00 2001
From: misspent <78914154+misspent@users.noreply.github.com>
Date: Thu, 9 May 2024 21:35:53 +0100
Subject: [PATCH 03/34] Test 2024 04 20 2 | 7 additions to applications.json
* 7 additions to applications.json
Adds:
NetLimiter - https://www.netlimiter.com
OneCommander - https://www.onecommander.com
Borderless Gaming - https://github.com/Codeusa/Borderless-Gaming
Equalizer APO - https://sourceforge.net/projects/equalizerapo
FreeFileSync - https://freefilesync.org
Elgato Stream Deck - https://www.elgato.com/uk/en/s/downloads
Stardock Curtains - https://www.stardock.com/products/curtains
* Added Compact GUI support
Link: https://github.com/IridiumIO/CompactGUI
Since I wasn't sure what category to put it in, I chose Utilities.
* Added ExifCleaner support
Link: https://github.com/szTheory/exifcleaner
* Removed trial ware additions
Removed:
Net Limiter
One Commander
Elgato: Stream Deck
Stardock Curtains
---
config/applications.json | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/config/applications.json b/config/applications.json
index f8a3f395..512fdd65 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -1239,6 +1239,46 @@
"link": "https://www.msi.com/Landing/afterburner",
"winget": "Guru3D.Afterburner"
},
+ "WPFInstallBorderlessGaming": {
+ "category": "Utilities",
+ "choco": "na",
+ "content": "Borderless Gaming",
+ "description": "Play your favorite games in a borderless window; no more time consuming alt-tabs.",
+ "link": "https://github.com/Codeusa/Borderless-Gaming",
+ "winget": "Codeusa.BorderlessGaming"
+ },
+ "WPFInstallEqualizerAPO": {
+ "category": "Multimedia Tools",
+ "choco": "equalizerapo",
+ "content": "Equalizer APO",
+ "description": "Equalizer APO is a parametric / graphic equalizer for Windows.",
+ "link": "https://sourceforge.net/projects/equalizerapo",
+ "winget": "na"
+ },
+ "WPFInstallFreeFileSync": {
+ "category": "Utilities",
+ "choco": "freefilesync",
+ "content": "FreeFileSync",
+ "description": "Synchronize Files and Folders",
+ "link": "https://freefilesync.org",
+ "winget": "na"
+ },
+ "WPFInstallCompactGUI": {
+ "category": "Utilities",
+ "choco": "compactgui",
+ "content": "Compact GUI",
+ "description": "Transparently compress active games and programs using Windows 10/11 APIs",
+ "link": "https://github.com/IridiumIO/CompactGUI",
+ "winget": "IridiumIO.CompactGUI"
+ },
+ "WPFInstallExifCleaner": {
+ "category": "Utilities",
+ "choco": "na",
+ "content": "ExifCleaner",
+ "description": "Desktop app to clean metadata from images, videos, PDFs, and other files.",
+ "link": "https://github.com/szTheory/exifcleaner",
+ "winget": "szTheory.exifcleaner"
+ },
"WPFInstallmullvadbrowser": {
"category": "Browsers",
"choco": "na",
From f1c52d957b06d0a5470f4152495a2a89176ea259 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Thu, 9 May 2024 20:36:16 +0000
Subject: [PATCH 04/34] Compile Winutil
---
winutil.ps1 | 87 +++++++++++++++++++++++++++++++++++++---------
xaml/inputApp.xaml | 47 ++++++++++++++++---------
2 files changed, 102 insertions(+), 32 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 8a2f9f2a..f49ebec9 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -6261,6 +6261,46 @@ $sync.configs.applications = '{
"link": "https://www.msi.com/Landing/afterburner",
"winget": "Guru3D.Afterburner"
},
+ "WPFInstallBorderlessGaming": {
+ "category": "Utilities",
+ "choco": "na",
+ "content": "Borderless Gaming",
+ "description": "Play your favorite games in a borderless window; no more time consuming alt-tabs.",
+ "link": "https://github.com/Codeusa/Borderless-Gaming",
+ "winget": "Codeusa.BorderlessGaming"
+ },
+ "WPFInstallEqualizerAPO": {
+ "category": "Multimedia Tools",
+ "choco": "equalizerapo",
+ "content": "Equalizer APO",
+ "description": "Equalizer APO is a parametric / graphic equalizer for Windows.",
+ "link": "https://sourceforge.net/projects/equalizerapo",
+ "winget": "na"
+ },
+ "WPFInstallFreeFileSync": {
+ "category": "Utilities",
+ "choco": "freefilesync",
+ "content": "FreeFileSync",
+ "description": "Synchronize Files and Folders",
+ "link": "https://freefilesync.org",
+ "winget": "na"
+ },
+ "WPFInstallCompactGUI": {
+ "category": "Utilities",
+ "choco": "compactgui",
+ "content": "Compact GUI",
+ "description": "Transparently compress active games and programs using Windows 10/11 APIs",
+ "link": "https://github.com/IridiumIO/CompactGUI",
+ "winget": "IridiumIO.CompactGUI"
+ },
+ "WPFInstallExifCleaner": {
+ "category": "Utilities",
+ "choco": "na",
+ "content": "ExifCleaner",
+ "description": "Desktop app to clean metadata from images, videos, PDFs, and other files.",
+ "link": "https://github.com/szTheory/exifcleaner",
+ "winget": "szTheory.exifcleaner"
+ },
"WPFInstallmullvadbrowser": {
"category": "Browsers",
"choco": "na",
@@ -11782,15 +11822,15 @@ $inputXML = '
+
+
+
-
-
-
@@ -11984,17 +12024,17 @@ $inputXML = '
-
-
-
-
-
+
+
+
+
+
@@ -12079,6 +12119,9 @@ $inputXML = '
+
+
+
@@ -12192,17 +12235,17 @@ $inputXML = '
-
-
-
-
-
+
+
+
+
+
@@ -12290,6 +12333,9 @@ $inputXML = '
+
+
+
@@ -12302,6 +12348,9 @@ $inputXML = '
+
+
+
@@ -12344,6 +12393,9 @@ $inputXML = '
+
+
+
@@ -12356,6 +12408,9 @@ $inputXML = '
+
+
+
@@ -12391,15 +12446,15 @@ $inputXML = '
-
-
-
+
+
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index 9acce14d..a723b5d7 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -205,15 +205,15 @@
+
+
+
-
-
-
@@ -407,17 +407,17 @@
-
-
-
-
-
+
+
+
+
+
@@ -502,6 +502,9 @@
+
+
+
@@ -615,17 +618,17 @@
-
-
-
-
-
+
+
+
+
+
@@ -713,6 +716,9 @@
+
+
+
@@ -725,6 +731,9 @@
+
+
+
@@ -767,6 +776,9 @@
+
+
+
@@ -779,6 +791,9 @@
+
+
+
@@ -814,15 +829,15 @@
-
-
-
+
+
+
From 386808d0e022fd06cead9dbda94e0f76a46eb2f2 Mon Sep 17 00:00:00 2001
From: Federico Pulcino <78621373+FedeP14@users.noreply.github.com>
Date: Fri, 10 May 2024 00:00:16 +0200
Subject: [PATCH 05/34] add GlazeWM to applications.js (#1891)
Co-authored-by: Chris Titus
---
config/applications.json | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/config/applications.json b/config/applications.json
index 512fdd65..39fe433f 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -2655,6 +2655,14 @@
"link": "https://github.com/magic-wormhole/magic-wormhole",
"winget": "magic-wormhole.magic-wormhole"
},
+ "WPFInstalglazewm": {
+ "category": "Utilities",
+ "choco": "na",
+ "content": "GlazeWM",
+ "description": "GlazeWM is a tiling window manager for Windows inspired by i3 and Polybar",
+ "link": "https://github.com/glzr-io/glazewm",
+ "winget": "glzr-io.glazewm"
+ },
"WPFInstallfancontrol": {
"category": "Utilities",
"choco": "na",
From 63f45ed4467b276c7053c2ebcfddddf04b04b685 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Thu, 9 May 2024 22:00:48 +0000
Subject: [PATCH 06/34] Compile Winutil
---
winutil.ps1 | 45 ++++++++++++++++++++++++++++-----------------
xaml/inputApp.xaml | 37 ++++++++++++++++++++-----------------
2 files changed, 48 insertions(+), 34 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index f49ebec9..5caaf80b 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -7677,6 +7677,14 @@ $sync.configs.applications = '{
"link": "https://github.com/magic-wormhole/magic-wormhole",
"winget": "magic-wormhole.magic-wormhole"
},
+ "WPFInstalglazewm": {
+ "category": "Utilities",
+ "choco": "na",
+ "content": "GlazeWM",
+ "description": "GlazeWM is a tiling window manager for Windows inspired by i3 and Polybar",
+ "link": "https://github.com/glzr-io/glazewm",
+ "winget": "glzr-io.glazewm"
+ },
"WPFInstallfancontrol": {
"category": "Utilities",
"choco": "na",
@@ -11825,15 +11833,15 @@ $inputXML = '
+
+
+
-
-
-
@@ -12030,15 +12038,15 @@ $inputXML = '
+
+
+
+
-
-
-
-
@@ -12241,11 +12249,6 @@ $inputXML = '
-
-
-
-
-
@@ -12253,6 +12256,11 @@ $inputXML = '
+
+
+
+
+
@@ -12300,6 +12308,9 @@ $inputXML = '
+
+
+
@@ -12446,11 +12457,6 @@ $inputXML = '
-
-
-
-
-
@@ -12460,6 +12466,11 @@ $inputXML = '
+
+
+
+
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index a723b5d7..fa8036be 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -208,15 +208,15 @@
+
+
+
-
-
-
@@ -413,15 +413,15 @@
+
+
+
+
-
-
-
-
@@ -624,11 +624,6 @@
-
-
-
-
-
@@ -636,6 +631,11 @@
+
+
+
+
+
@@ -683,6 +683,9 @@
+
+
+
@@ -829,11 +832,6 @@
-
-
-
-
-
@@ -843,6 +841,11 @@
+
+
+
+
+
From 81fd3d168302b6b2667985cb4f13fd2783503bce Mon Sep 17 00:00:00 2001
From: Chris Titus
Date: Thu, 9 May 2024 17:04:41 -0700
Subject: [PATCH 07/34] Remove old Win7 game tweak
---
config/tweaks.json | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/config/tweaks.json b/config/tweaks.json
index 63e48bd3..e260bd3e 100644
--- a/config/tweaks.json
+++ b/config/tweaks.json
@@ -1926,27 +1926,6 @@
"Value": "1",
"Type": "DWord"
},
- {
- "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Multimedia\\SystemProfile\\Tasks\\Games",
- "OriginalValue": "1",
- "Name": "GPU Priority",
- "Value": "8",
- "Type": "DWord"
- },
- {
- "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Multimedia\\SystemProfile\\Tasks\\Games",
- "OriginalValue": "1",
- "Name": "Priority",
- "Value": "6",
- "Type": "DWord"
- },
- {
- "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Multimedia\\SystemProfile\\Tasks\\Games",
- "OriginalValue": "High",
- "Name": "Scheduling Category",
- "Value": "High",
- "Type": "String"
- },
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\UserProfileEngagement",
"OriginalValue": "1",
From 8eb51560d857b8921df4abffe9dbc08b8c8f2ea7 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Thu, 9 May 2024 22:05:13 +0000
Subject: [PATCH 08/34] Compile Winutil
---
winutil.ps1 | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 5caaf80b..9650d9b4 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -10056,27 +10056,6 @@ $sync.configs.tweaks = '{
"Value": "1",
"Type": "DWord"
},
- {
- "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Multimedia\\SystemProfile\\Tasks\\Games",
- "OriginalValue": "1",
- "Name": "GPU Priority",
- "Value": "8",
- "Type": "DWord"
- },
- {
- "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Multimedia\\SystemProfile\\Tasks\\Games",
- "OriginalValue": "1",
- "Name": "Priority",
- "Value": "6",
- "Type": "DWord"
- },
- {
- "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Multimedia\\SystemProfile\\Tasks\\Games",
- "OriginalValue": "High",
- "Name": "Scheduling Category",
- "Value": "High",
- "Type": "String"
- },
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\UserProfileEngagement",
"OriginalValue": "1",
From 565f9c310cd87425fd2ec4f6911d2da0c75fc8bb Mon Sep 17 00:00:00 2001
From: kian yamamoto
Date: Thu, 9 May 2024 22:49:23 -0500
Subject: [PATCH 09/34] Test 1715290913 fix ugly ifs (#1957)
* fix nested ifs
* Compile Winutil
* fix syntax
* Compile Winutil
* Add Spotify and Choco Fallback
* Compile Winutil
---------
Co-authored-by: ty802
Co-authored-by: Chris Titus
Co-authored-by: ChrisTitusTech
---
.gitignore | 1 +
config/applications.json | 8 ++
.../private/Install-WinUtilProgramWinget.ps1 | 48 ++++++++----
winutil.ps1 | 77 ++++++++++++++-----
xaml/inputApp.xaml | 12 +++
5 files changed, 110 insertions(+), 36 deletions(-)
diff --git a/.gitignore b/.gitignore
index 215d85ed..4d77e17c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,3 +44,4 @@ Microsoft.PowerShell.ConsoleHost.dll
microwin.log
True
test.ps1
+winutil.ps1
diff --git a/config/applications.json b/config/applications.json
index 39fe433f..b9b16943 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -1687,6 +1687,14 @@
"link": "https://bitsum.com/",
"winget": "BitSum.ProcessLasso"
},
+ "WPFInstallspotify": {
+ "category": "Multimedia Tools",
+ "choco": "spotify",
+ "content": "Spotify",
+ "description": "Spotify is a digital music service that gives you access to millions of songs, podcasts, and videos from artists all over the world.",
+ "link": "https://www.spotify.com/",
+ "winget": "Spotify.Spotify"
+ },
"WPFInstallprocessmonitor": {
"category": "Microsoft Tools",
"choco": "procexp",
diff --git a/functions/private/Install-WinUtilProgramWinget.ps1 b/functions/private/Install-WinUtilProgramWinget.ps1
index 4f840007..2aa10bae 100644
--- a/functions/private/Install-WinUtilProgramWinget.ps1
+++ b/functions/private/Install-WinUtilProgramWinget.ps1
@@ -34,26 +34,40 @@ Function Install-WinUtilProgramWinget {
# This is up to the individual package maintainers to enable these options. Aka. not as clean as Linux Package Managers.
try {
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
- if($status -ne 0){
- Write-Host "Attempt with User scope"
- $status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
- if($status -ne 0){
- Write-Host "Attempt with Unelevated prompt"
- $status = $(Start-Process -FilePath "powershell" -ArgumentList "-Command Start-Process winget -ArgumentList 'install --id $Program --silent --accept-source-agreements --accept-package-agreements' -Verb runAsUser" -Wait -PassThru).ExitCode
- if($status -ne 0){
- Write-Host "Failed to install $Program."
- } else {
- Write-Host "$Program installed successfully with Unelevated prompt."
- }
- } else {
- Write-Host "$Program installed successfully with User scope."
- }
- } else {
+ if($status -eq 0){
Write-Host "$Program installed successfully."
+ continue
}
- } catch {
+ Write-Host "Attempt with User scope"
+ $status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
+ if($status -eq 0){
+ Write-Host "$Program installed successfully with User scope."
+ continue
+ }
+ Write-Host "Attempt with User prompt"
+ $userChoice = [System.Windows.MessageBox]::Show("Do you want to attempt $Program installation with specific user credentials? Select 'Yes' to proceed or 'No' to skip.", "User Credential Prompt", [System.Windows.MessageBoxButton]::YesNo)
+ if ($userChoice -eq 'Yes') {
+ $getcreds = Get-Credential
+ $process = Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Credential $getcreds -PassThru
+ Wait-Process -Id $process.Id
+ $status = $process.ExitCode
+ } else {
+ Write-Host "Skipping installation with specific user credentials."
+ }
+ if($status -eq 0){
+ Write-Host "$Program installed successfully with User prompt."
+ continue
+ }
+ Write-Host "Attempting installation with Chocolatey as a fallback method"
+ $status = $(Start-Process -FilePath "choco" -ArgumentList "install $Program -y" -Wait -PassThru).ExitCode
+ if($status -eq 0){
+ Write-Host "$Program installed successfully using Chocolatey."
+ continue
+ }
+ Write-Host "Failed to install $Program. You need to install it manually... Sorry!"
+ } catch {
Write-Host "Failed to install $Program due to an error: $_"
- }
+ }
}
if($manage -eq "Uninstalling"){
# Uninstall package via ID using winget directly.
diff --git a/winutil.ps1 b/winutil.ps1
index 9650d9b4..f225bbfe 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -10,7 +10,7 @@
Author : Chris Titus @christitustech
Runspace Author: @DeveloperDurp
GitHub : https://github.com/ChrisTitusTech
- Version : 24.05.09
+
#>
param (
[switch]$Debug,
@@ -47,7 +47,7 @@ Add-Type -AssemblyName System.Windows.Forms
# Variable to sync between runspaces
$sync = [Hashtable]::Synchronized(@{})
$sync.PSScriptRoot = $PSScriptRoot
-$sync.version = "24.05.09"
+$sync.version = "24.05.10"
$sync.configs = @{}
$sync.ProcessRunning = $false
@@ -733,26 +733,40 @@ Function Install-WinUtilProgramWinget {
# This is up to the individual package maintainers to enable these options. Aka. not as clean as Linux Package Managers.
try {
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
- if($status -ne 0){
- Write-Host "Attempt with User scope"
- $status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
- if($status -ne 0){
- Write-Host "Attempt with Unelevated prompt"
- $status = $(Start-Process -FilePath "powershell" -ArgumentList "-Command Start-Process winget -ArgumentList 'install --id $Program --silent --accept-source-agreements --accept-package-agreements' -Verb runAsUser" -Wait -PassThru).ExitCode
- if($status -ne 0){
- Write-Host "Failed to install $Program."
- } else {
- Write-Host "$Program installed successfully with Unelevated prompt."
- }
- } else {
- Write-Host "$Program installed successfully with User scope."
- }
- } else {
+ if($status -eq 0){
Write-Host "$Program installed successfully."
+ continue
}
- } catch {
+ Write-Host "Attempt with User scope"
+ $status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
+ if($status -eq 0){
+ Write-Host "$Program installed successfully with User scope."
+ continue
+ }
+ Write-Host "Attempt with User prompt"
+ $userChoice = [System.Windows.MessageBox]::Show("Do you want to attempt $Program installation with specific user credentials? Select 'Yes' to proceed or 'No' to skip.", "User Credential Prompt", [System.Windows.MessageBoxButton]::YesNo)
+ if ($userChoice -eq 'Yes') {
+ $getcreds = Get-Credential
+ $process = Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Credential $getcreds -PassThru
+ Wait-Process -Id $process.Id
+ $status = $process.ExitCode
+ } else {
+ Write-Host "Skipping installation with specific user credentials."
+ }
+ if($status -eq 0){
+ Write-Host "$Program installed successfully with User prompt."
+ continue
+ }
+ Write-Host "Attempting installation with Chocolatey as a fallback method"
+ $status = $(Start-Process -FilePath "choco" -ArgumentList "install $Program -y" -Wait -PassThru).ExitCode
+ if($status -eq 0){
+ Write-Host "$Program installed successfully using Chocolatey."
+ continue
+ }
+ Write-Host "Failed to install $Program. You need to install it manually... Sorry!"
+ } catch {
Write-Host "Failed to install $Program due to an error: $_"
- }
+ }
}
if($manage -eq "Uninstalling"){
# Uninstall package via ID using winget directly.
@@ -6709,6 +6723,14 @@ $sync.configs.applications = '{
"link": "https://bitsum.com/",
"winget": "BitSum.ProcessLasso"
},
+ "WPFInstallspotify": {
+ "category": "Multimedia Tools",
+ "choco": "spotify",
+ "content": "Spotify",
+ "description": "Spotify is a digital music service that gives you access to millions of songs, podcasts, and videos from artists all over the world.",
+ "link": "https://www.spotify.com/",
+ "winget": "Spotify.Spotify"
+ },
"WPFInstallprocessmonitor": {
"category": "Microsoft Tools",
"choco": "procexp",
@@ -12208,6 +12230,9 @@ $inputXML = '
+
+
+
@@ -12219,6 +12244,10 @@ $inputXML = '
+
+
+
+
@@ -12439,6 +12468,7 @@ $inputXML = '
+
@@ -12446,11 +12476,20 @@ $inputXML = '
+
+
+
+
+
+
+
+
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index fa8036be..839f4448 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -604,6 +604,9 @@
+
+
+
@@ -619,6 +622,9 @@
+
+
+
@@ -847,6 +853,12 @@
+
+
+
+
+
+
From 5648115256eebdb3a65e095a28f7f641a8d0cb4b Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Fri, 10 May 2024 03:49:49 +0000
Subject: [PATCH 10/34] Compile Winutil
---
winutil.ps1 | 22 ++++------------------
xaml/inputApp.xaml | 15 +++------------
2 files changed, 7 insertions(+), 30 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index f225bbfe..0369f6d7 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -10,7 +10,7 @@
Author : Chris Titus @christitustech
Runspace Author: @DeveloperDurp
GitHub : https://github.com/ChrisTitusTech
-
+ Version : 24.05.10
#>
param (
[switch]$Debug,
@@ -12244,10 +12244,6 @@ $inputXML = '
-
-
-
-
@@ -12261,15 +12257,15 @@ $inputXML = '
-
-
-
+
+
+
@@ -12468,28 +12464,18 @@ $inputXML = '
-
-
-
-
-
-
-
-
-
-
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index 839f4448..4ff1d7b8 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -622,9 +622,6 @@
-
-
-
@@ -634,15 +631,15 @@
-
-
-
+
+
+
@@ -844,18 +841,12 @@
-
-
-
-
-
-
From 39e89f16274e14799a9d4a2756343b6569524e8b Mon Sep 17 00:00:00 2001
From: Callum Carmicheal
Date: Fri, 10 May 2024 04:51:54 +0100
Subject: [PATCH 11/34] Fix incorrect url for jellyfin-media-player (#1912)
---
config/applications.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/applications.json b/config/applications.json
index b9b16943..21e21082 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -996,7 +996,7 @@
"choco": "jellyfin-media-player",
"content": "Jellyfin Media Player",
"description": "Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library.",
- "link": "https://github.com/jellyfin/jellyfin-media-playerf",
+ "link": "https://github.com/jellyfin/jellyfin-media-player",
"winget": "Jellyfin.JellyfinMediaPlayer"
},
"WPFInstalljellyfinserver": {
From d43d09872d9c90e7aeea56f8fe09156311a09f92 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Fri, 10 May 2024 03:52:18 +0000
Subject: [PATCH 12/34] Compile Winutil
---
winutil.ps1 | 4 ++--
xaml/inputApp.xaml | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 0369f6d7..66f93f7b 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -6032,7 +6032,7 @@ $sync.configs.applications = '{
"choco": "jellyfin-media-player",
"content": "Jellyfin Media Player",
"description": "Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library.",
- "link": "https://github.com/jellyfin/jellyfin-media-playerf",
+ "link": "https://github.com/jellyfin/jellyfin-media-player",
"winget": "Jellyfin.JellyfinMediaPlayer"
},
"WPFInstalljellyfinserver": {
@@ -12173,7 +12173,7 @@ $inputXML = '
-
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index 4ff1d7b8..5c53cec0 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -547,7 +547,7 @@
-
+
From 457e8cdcdcad2dc551aa45b38cf4511d3a934c8d Mon Sep 17 00:00:00 2001
From: Rux
Date: Thu, 9 May 2024 21:01:25 -0700
Subject: [PATCH 13/34] Update name and description for Element (#1930)
- Fixed the name and description for Element to reflect the name of the client, rather than the underlying technology-Matrix.
---
config/applications.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/config/applications.json b/config/applications.json
index 21e21082..4cfd0904 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -1170,8 +1170,8 @@
"WPFInstallmatrix": {
"category": "Communications",
"choco": "element-desktop",
- "content": "Matrix",
- "description": "Matrix is an open network for secure, decentralized communication with features like chat, VoIP, and collaboration tools.",
+ "content": "Element",
+ "description": "Element is a client for Matrix—an open network for secure, decentralized communication.",
"link": "https://element.io/",
"winget": "Element.Element"
},
From c4a9ab098bedae2ea0ceceee1156747618fceeff Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Fri, 10 May 2024 04:01:51 +0000
Subject: [PATCH 14/34] Compile Winutil
---
winutil.ps1 | 6 +++---
xaml/inputApp.xaml | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 66f93f7b..19fe254f 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -6206,8 +6206,8 @@ $sync.configs.applications = '{
"WPFInstallmatrix": {
"category": "Communications",
"choco": "element-desktop",
- "content": "Matrix",
- "description": "Matrix is an open network for secure, decentralized communication with features like chat, VoIP, and collaboration tools.",
+ "content": "Element",
+ "description": "Element is a client for Matrix?an open network for secure, decentralized communication.",
"link": "https://element.io/",
"winget": "Element.Element"
},
@@ -11705,7 +11705,7 @@ $inputXML = '
-
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index 5c53cec0..3c19da16 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -79,7 +79,7 @@
-
+
From eb205771fb2b2e37badfa1160e3119c41f35c271 Mon Sep 17 00:00:00 2001
From: Martin Wiethan <47688561+Marterich@users.noreply.github.com>
Date: Fri, 10 May 2024 06:03:07 +0200
Subject: [PATCH 15/34] Optimize winget download speed (#1931)
* Optimize Winget Download Speed
* Add Downloading Message
---
functions/private/Get-WinUtilWingetLatest.ps1 | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/functions/private/Get-WinUtilWingetLatest.ps1 b/functions/private/Get-WinUtilWingetLatest.ps1
index 5a18a536..f392cd17 100644
--- a/functions/private/Get-WinUtilWingetLatest.ps1
+++ b/functions/private/Get-WinUtilWingetLatest.ps1
@@ -5,14 +5,17 @@ function Get-WinUtilWingetLatest {
.DESCRIPTION
This function grabs the latest version of Winget and returns the download path to Install-WinUtilWinget for installation.
#>
-
+ # Invoke-WebRequest is notoriously slow when the byte progress is displayed. The following lines disable the progress bar and reset them at the end of the function
+ $PreviousProgressPreference = $ProgressPreference
+ $ProgressPreference = "silentlyContinue"
Try{
# Grabs the latest release of Winget from the Github API for the install process.
$response = Invoke-RestMethod -Uri "https://api.github.com/repos/microsoft/Winget-cli/releases/latest" -Method Get -ErrorAction Stop
$latestVersion = $response.tag_name #Stores version number of latest release.
- $licenseWingetUrl = $response.assets.browser_download_url[0] #Index value for License file.
+ $licenseWingetUrl = $response.assets.browser_download_url | Where-Object {$_ -like "*License1.xml"} #Index value for License file.
Write-Host "Latest Version:`t$($latestVersion)`n"
- $assetUrl = $response.assets.browser_download_url[2] #Index value for download URL.
+ Write-Host "Downloading..."
+ $assetUrl = $response.assets.browser_download_url | Where-Object {$_ -like "*Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"}
Invoke-WebRequest -Uri $licenseWingetUrl -OutFile $ENV:TEMP\License1.xml
# The only pain is that the msixbundle for winget-cli is 246MB. In some situations this can take a bit, with slower connections.
Invoke-WebRequest -Uri $assetUrl -OutFile $ENV:TEMP\Microsoft.DesktopAppInstaller.msixbundle
@@ -20,4 +23,5 @@ function Get-WinUtilWingetLatest {
Catch{
throw [WingetFailedInstall]::new('Failed to get latest Winget release and license')
}
+ $ProgressPreference = $PreviousProgressPreference
}
From 963bfe935841932ac8a3cd69707c67ab3cacede8 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Fri, 10 May 2024 04:03:29 +0000
Subject: [PATCH 16/34] Compile Winutil
---
winutil.ps1 | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 19fe254f..05d49022 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -624,14 +624,17 @@ function Get-WinUtilWingetLatest {
.DESCRIPTION
This function grabs the latest version of Winget and returns the download path to Install-WinUtilWinget for installation.
#>
-
+ # Invoke-WebRequest is notoriously slow when the byte progress is displayed. The following lines disable the progress bar and reset them at the end of the function
+ $PreviousProgressPreference = $ProgressPreference
+ $ProgressPreference = "silentlyContinue"
Try{
# Grabs the latest release of Winget from the Github API for the install process.
$response = Invoke-RestMethod -Uri "https://api.github.com/repos/microsoft/Winget-cli/releases/latest" -Method Get -ErrorAction Stop
$latestVersion = $response.tag_name #Stores version number of latest release.
- $licenseWingetUrl = $response.assets.browser_download_url[0] #Index value for License file.
+ $licenseWingetUrl = $response.assets.browser_download_url | Where-Object {$_ -like "*License1.xml"} #Index value for License file.
Write-Host "Latest Version:`t$($latestVersion)`n"
- $assetUrl = $response.assets.browser_download_url[2] #Index value for download URL.
+ Write-Host "Downloading..."
+ $assetUrl = $response.assets.browser_download_url | Where-Object {$_ -like "*Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"}
Invoke-WebRequest -Uri $licenseWingetUrl -OutFile $ENV:TEMP\License1.xml
# The only pain is that the msixbundle for winget-cli is 246MB. In some situations this can take a bit, with slower connections.
Invoke-WebRequest -Uri $assetUrl -OutFile $ENV:TEMP\Microsoft.DesktopAppInstaller.msixbundle
@@ -639,6 +642,7 @@ function Get-WinUtilWingetLatest {
Catch{
throw [WingetFailedInstall]::new('Failed to get latest Winget release and license')
}
+ $ProgressPreference = $PreviousProgressPreference
}
function Get-WinUtilWingetPrerequisites {
<#
From bcc5b691d6ea7e2f4ec6cc0de829ae71900bc633 Mon Sep 17 00:00:00 2001
From: Martin Wiethan <47688561+Marterich@users.noreply.github.com>
Date: Fri, 10 May 2024 06:05:04 +0200
Subject: [PATCH 17/34] Include OOSU Config in winutil.ps1 (#1932)
---
Compile.ps1 | 3 +++
functions/public/Invoke-WPFOOSU | 6 ++----
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/Compile.ps1 b/Compile.ps1
index 330c226a..2f568499 100644
--- a/Compile.ps1
+++ b/Compile.ps1
@@ -55,6 +55,9 @@ Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach-
$sync.configs.$($psitem.BaseName) = $json | convertfrom-json
Write-output "`$sync.configs.$($psitem.BaseName) = '$json' `| convertfrom-json" | Out-File ./$scriptname -Append -Encoding ascii
}
+Get-ChildItem .\config | Where-Object {$PSItem.Extension -eq ".cfg"} | ForEach-Object {
+ Write-output "`$sync.configs.$($psitem.BaseName) = '$(Get-Content $PSItem.FullName)'" | Out-File ./$scriptname -Append -Encoding ascii
+}
$xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''")
diff --git a/functions/public/Invoke-WPFOOSU b/functions/public/Invoke-WPFOOSU
index d30ea3a8..d244acf2 100644
--- a/functions/public/Invoke-WPFOOSU
+++ b/functions/public/Invoke-WPFOOSU
@@ -27,14 +27,12 @@ function Invoke-WPFOOSU {
Start-Process $OOSU_filepath
}
"recommended"{
- $oosu_config = "$ENV:temp\ooshutup10_recommended.cfg"
- Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_recommended.cfg" -OutFile $oosu_config
+ New-Item -Path $ENV:temp\ooshutup10_recommended.cfg -ItemType File -Value $sync.configs.ooshutup10_recommended -Force
Write-Host "Applying recommended OO Shutup 10 Policies"
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
}
"undo"{
- $oosu_config = "$ENV:temp\ooshutup10_factory.cfg"
- Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_factory.cfg" -OutFile $oosu_config
+ New-Item -Path $ENV:temp\ooshutup10_factory.cfg -ItemType File -Value $sync.configs.ooshutup10_factory -Force
Write-Host "Resetting all OO Shutup 10 Policies"
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
}
From 1c80af1aca62c7b989d75758e96a0effc61af4f2 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Fri, 10 May 2024 04:05:31 +0000
Subject: [PATCH 18/34] Compile Winutil
---
winutil.ps1 | 494 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 490 insertions(+), 4 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 05d49022..6e5a2176 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -4198,14 +4198,12 @@ function Invoke-WPFOOSU {
Start-Process $OOSU_filepath
}
"recommended"{
- $oosu_config = "$ENV:temp\ooshutup10_recommended.cfg"
- Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_recommended.cfg" -OutFile $oosu_config
+ New-Item -Path $ENV:temp\ooshutup10_recommended.cfg -ItemType File -Value $sync.configs.ooshutup10_recommended -Force
Write-Host "Applying recommended OO Shutup 10 Policies"
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
}
"undo"{
- $oosu_config = "$ENV:temp\ooshutup10_factory.cfg"
- Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_factory.cfg" -OutFile $oosu_config
+ New-Item -Path $ENV:temp\ooshutup10_factory.cfg -ItemType File -Value $sync.configs.ooshutup10_factory -Force
Write-Host "Resetting all OO Shutup 10 Policies"
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
}
@@ -10925,6 +10923,494 @@ $sync.configs.tweaks = '{
"Type": "300"
}
}' | convertfrom-json
+$sync.configs.ooshutup10_factory = '############################################################################
+# This file was created with O&O ShutUp10++ V1.9.1436
+# and can be imported onto another computer.
+#
+# Download the application at https://www.oo-software.com/shutup10
+# You can then import the file from within the program.
+#
+# Alternatively you can import it automatically over a command line.
+# Simply use the following parameter:
+# OOSU10.exe
+#
+# Selecting the Option /quiet ends the app right after the import and the
+# user does not get any feedback about the import.
+#
+# We are always happy to answer any questions you may have!
+# ? 2015-2023 O&O Software GmbH, Berlin. All rights reserved.
+# https://www.oo-software.com/
+############################################################################
+
+P001 -
+P002 -
+P003 -
+P004 -
+P005 -
+P006 -
+P008 -
+P026 -
+P027 -
+P028 -
+P064 -
+P065 -
+P066 -
+P067 -
+P070 -
+P069 -
+P009 -
+P010 -
+P015 -
+P068 -
+P016 -
+A001 -
+A002 -
+A003 -
+A004 -
+A006 -
+A005 -
+P007 -
+P036 -
+P025 -
+P033 -
+P023 -
+P056 -
+P057 -
+P012 -
+P034 -
+P013 -
+P035 -
+P062 -
+P063 -
+P081 -
+P047 -
+P019 -
+P048 -
+P049 -
+P020 -
+P037 -
+P011 -
+P038 -
+P050 -
+P051 -
+P018 -
+P039 -
+P021 -
+P040 -
+P022 -
+P041 -
+P014 -
+P042 -
+P052 -
+P053 -
+P054 -
+P055 -
+P029 -
+P043 -
+P030 -
+P044 -
+P031 -
+P045 -
+P032 -
+P046 -
+P058 -
+P059 -
+P060 -
+P061 -
+P071 -
+P072 -
+P073 -
+P074 -
+P075 -
+P076 -
+P077 -
+P078 -
+P079 -
+P080 -
+P024 -
+S001 -
+S002 -
+S003 -
+S008 -
+E101 -
+E201 -
+E115 -
+E215 -
+E118 -
+E218 -
+E107 -
+E207 -
+E111 -
+E211 -
+E112 -
+E212 -
+E109 -
+E209 -
+E121 -
+E221 -
+E103 -
+E203 -
+E123 -
+E223 -
+E124 -
+E224 -
+E128 -
+E228 -
+E119 -
+E219 -
+E120 -
+E220 -
+E122 -
+E222 -
+E125 -
+E225 -
+E126 -
+E226 -
+E106 -
+E206 -
+E127 -
+E227 -
+E001 -
+E002 -
+E003 -
+E008 -
+E007 -
+E010 -
+E011 +
+E012 +
+E009 -
+E004 -
+E005 -
+E013 -
+E014 -
+E006 -
+F002 -
+F014 -
+F015 -
+F016 -
+F001 -
+F003 -
+F004 -
+F005 -
+F007 -
+F008 -
+F009 -
+F006 -
+F010 -
+F011 -
+F012 -
+F013 -
+Y001 -
+Y002 -
+Y003 -
+Y004 -
+Y005 -
+Y006 -
+Y007 -
+C012 -
+C002 -
+C013 -
+C007 -
+C008 -
+C009 -
+C010 -
+C011 -
+C014 -
+C015 -
+C101 -
+C201 -
+C102 -
+L001 -
+L003 -
+L004 -
+L005 -
+U001 -
+U004 -
+U005 -
+U006 -
+U007 -
+W001 -
+W011 -
+W004 -
+W005 -
+W010 -
+W009 -
+P017 -
+W006 -
+W008 -
+M006 -
+M011 -
+M010 -
+O003 -
+O001 -
+S012 -
+S013 -
+S014 -
+K001 -
+K002 -
+K005 -
+M025 -
+M003 -
+M015 -
+M016 -
+M017 -
+M018 -
+M019 -
+M020 -
+M021 -
+M022 -
+M001 -
+M004 -
+M005 -
+M024 -
+M012 -
+M013 -
+M014 -
+N001 -'
+$sync.configs.ooshutup10_recommended = '############################################################################
+# This file was created with O&O ShutUp10++ V1.9.1436
+# and can be imported onto another computer.
+#
+# Download the application at https://www.oo-software.com/shutup10
+# You can then import the file from within the program.
+#
+# Alternatively you can import it automatically over a command line.
+# Simply use the following parameter:
+# OOSU10.exe
+#
+# Selecting the Option /quiet ends the app right after the import and the
+# user does not get any feedback about the import.
+#
+# We are always happy to answer any questions you may have!
+# ? 2015-2023 O&O Software GmbH, Berlin. All rights reserved.
+# https://www.oo-software.com/
+############################################################################
+
+P001 +
+P002 +
+P003 +
+P004 +
+P005 +
+P006 +
+P008 +
+P026 +
+P027 +
+P028 +
+P064 +
+P065 +
+P066 +
+P067 +
+P070 +
+P069 +
+P009 -
+P010 -
+P015 -
+P068 -
+P016 -
+A001 +
+A002 +
+A003 +
+A004 +
+A006 +
+A005 +
+P007 +
+P036 +
+P025 +
+P033 +
+P023 +
+P056 -
+P057 -
+P012 -
+P034 -
+P013 -
+P035 -
+P062 -
+P063 -
+P081 -
+P047 -
+P019 -
+P048 -
+P049 -
+P020 -
+P037 -
+P011 -
+P038 -
+P050 -
+P051 -
+P018 -
+P039 -
+P021 -
+P040 -
+P022 -
+P041 -
+P014 -
+P042 -
+P052 -
+P053 -
+P054 -
+P055 -
+P029 -
+P043 -
+P030 -
+P044 -
+P031 -
+P045 -
+P032 -
+P046 -
+P058 -
+P059 -
+P060 -
+P061 -
+P071 -
+P072 -
+P073 -
+P074 -
+P075 -
+P076 -
+P077 -
+P078 -
+P079 -
+P080 -
+P024 -
+S001 +
+S002 +
+S003 +
+S008 -
+E101 +
+E201 +
+E115 +
+E215 +
+E118 +
+E218 +
+E107 +
+E207 +
+E111 +
+E211 +
+E112 +
+E212 +
+E109 +
+E209 +
+E121 +
+E221 +
+E103 +
+E203 +
+E123 +
+E223 +
+E124 +
+E224 +
+E128 +
+E228 +
+E119 -
+E219 -
+E120 -
+E220 -
+E122 -
+E222 -
+E125 -
+E225 -
+E126 -
+E226 -
+E106 -
+E206 -
+E127 -
+E227 -
+E001 +
+E002 +
+E003 +
+E008 +
+E007 +
+E010 +
+E011 +
+E012 +
+E009 -
+E004 -
+E005 -
+E013 -
+E014 -
+E006 -
+F002 +
+F014 +
+F015 +
+F016 +
+F001 +
+F003 +
+F004 +
+F005 +
+F007 +
+F008 +
+F009 +
+F006 -
+F010 -
+F011 -
+F012 -
+F013 -
+Y001 +
+Y002 +
+Y003 +
+Y004 +
+Y005 +
+Y006 +
+Y007 +
+C012 +
+C002 +
+C013 +
+C007 +
+C008 +
+C009 +
+C010 +
+C011 +
+C014 +
+C015 +
+C101 +
+C201 +
+C102 +
+L001 +
+L003 +
+L004 -
+L005 -
+U001 +
+U004 +
+U005 +
+U006 +
+U007 +
+W001 +
+W011 +
+W004 -
+W005 -
+W010 -
+W009 -
+P017 -
+W006 -
+W008 -
+M006 +
+M011 -
+M010 -
+O003 -
+O001 -
+S012 -
+S013 -
+S014 -
+K001 +
+K002 +
+K005 +
+M025 +
+M003 -
+M015 -
+M016 -
+M017 -
+M018 -
+M019 -
+M020 -
+M021 -
+M022 +
+M001 +
+M004 +
+M005 +
+M024 +
+M012 -
+M013 -
+M014 -
+N001 -'
$inputXML = '
Date: Fri, 10 May 2024 06:13:57 +0200
Subject: [PATCH 19/34] Only install choco if needed (#1943)
---
functions/private/Install-WinUtilWinget.ps1 | 2 ++
functions/public/Invoke-WPFFixesWinget.ps1 | 3 ++-
functions/public/Invoke-WPFGetIso.ps1 | 2 ++
scripts/main.ps1 | 4 ++--
4 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/functions/private/Install-WinUtilWinget.ps1 b/functions/private/Install-WinUtilWinget.ps1
index 093a5c35..601d3c30 100644
--- a/functions/private/Install-WinUtilWinget.ps1
+++ b/functions/private/Install-WinUtilWinget.ps1
@@ -53,6 +53,8 @@ function Install-WinUtilWinget {
Write-Host "Failure detected while installing via GitHub method. Continuing with Chocolatey method as fallback." -ForegroundColor Red
# In case install fails via GitHub method.
Try {
+ # Install Choco if not already present
+ Install-WinUtilChoco
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "choco install winget-cli"
Write-Host "Winget Installed" -ForegroundColor Green
Write-Output "Refreshing Environment Variables...`n"
diff --git a/functions/public/Invoke-WPFFixesWinget.ps1 b/functions/public/Invoke-WPFFixesWinget.ps1
index 5dd53a6b..96b5bb7f 100644
--- a/functions/public/Invoke-WPFFixesWinget.ps1
+++ b/functions/public/Invoke-WPFFixesWinget.ps1
@@ -7,7 +7,8 @@ function Invoke-WPFFixesWinget {
.DESCRIPTION
BravoNorris for the fantastic idea of a button to reinstall winget
#>
-
+ # Install Choco if not already present
+ Install-WinUtilChoco
Start-Process -FilePath "choco" -ArgumentList "install winget -y --force" -NoNewWindow -Wait
}
\ No newline at end of file
diff --git a/functions/public/Invoke-WPFGetIso.ps1 b/functions/public/Invoke-WPFGetIso.ps1
index 1b448a4f..483c494a 100644
--- a/functions/public/Invoke-WPFGetIso.ps1
+++ b/functions/public/Invoke-WPFGetIso.ps1
@@ -41,6 +41,8 @@ function Invoke-WPFGetIso {
# you consent to downloading it, no need to show extra dialogs
[System.Windows.MessageBox]::Show("oscdimge.exe is not found on the system, winutil will now attempt do download and install it using choco. This might take a long time.")
# the step below needs choco to download oscdimg
+ # Install Choco if not already present
+ Install-WinUtilChoco
$chocoFound = [bool] (Get-Command -ErrorAction Ignore -Type Application choco)
Write-Host "choco on system: $chocoFound"
if (!$chocoFound)
diff --git a/scripts/main.ps1 b/scripts/main.ps1
index 38007969..cc9aaa35 100644
--- a/scripts/main.ps1
+++ b/scripts/main.ps1
@@ -145,8 +145,8 @@ Invoke-WPFRunspace -ScriptBlock {
# Print the logo
Invoke-WPFFormVariables
-# Check if Chocolatey is installed
-Install-WinUtilChoco
+# Install Winget if not already present
+Install-WinUtilWinget
# Set the titlebar
$sync["Form"].title = $sync["Form"].title + " " + $sync.version
From 7d8ff5e0f94ea804b050998becb77c0aef7908a9 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Fri, 10 May 2024 04:14:20 +0000
Subject: [PATCH 20/34] Compile Winutil
---
winutil.ps1 | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 6e5a2176..70ac5992 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -845,6 +845,8 @@ function Install-WinUtilWinget {
Write-Host "Failure detected while installing via GitHub method. Continuing with Chocolatey method as fallback." -ForegroundColor Red
# In case install fails via GitHub method.
Try {
+ # Install Choco if not already present
+ Install-WinUtilChoco
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "choco install winget-cli"
Write-Host "Winget Installed" -ForegroundColor Green
Write-Output "Refreshing Environment Variables...`n"
@@ -3228,7 +3230,8 @@ function Invoke-WPFFixesWinget {
.DESCRIPTION
BravoNorris for the fantastic idea of a button to reinstall winget
#>
-
+ # Install Choco if not already present
+ Install-WinUtilChoco
Start-Process -FilePath "choco" -ArgumentList "install winget -y --force" -NoNewWindow -Wait
}
@@ -3357,6 +3360,8 @@ function Invoke-WPFGetIso {
# you consent to downloading it, no need to show extra dialogs
[System.Windows.MessageBox]::Show("oscdimge.exe is not found on the system, winutil will now attempt do download and install it using choco. This might take a long time.")
# the step below needs choco to download oscdimg
+ # Install Choco if not already present
+ Install-WinUtilChoco
$chocoFound = [bool] (Get-Command -ErrorAction Ignore -Type Application choco)
Write-Host "choco on system: $chocoFound"
if (!$chocoFound)
@@ -13704,8 +13709,8 @@ Invoke-WPFRunspace -ScriptBlock {
# Print the logo
Invoke-WPFFormVariables
-# Check if Chocolatey is installed
-Install-WinUtilChoco
+# Install Winget if not already present
+Install-WinUtilWinget
# Set the titlebar
$sync["Form"].title = $sync["Form"].title + " " + $sync.version
From 5c65f32fdf78671c6a4cb1bc5dae27a428a61532 Mon Sep 17 00:00:00 2001
From: Chris Titus
Date: Thu, 9 May 2024 23:14:54 -0700
Subject: [PATCH 21/34] Install Choco if needed
---
functions/private/Install-WinUtilProgramWinget.ps1 | 1 +
1 file changed, 1 insertion(+)
diff --git a/functions/private/Install-WinUtilProgramWinget.ps1 b/functions/private/Install-WinUtilProgramWinget.ps1
index 2aa10bae..187bb37c 100644
--- a/functions/private/Install-WinUtilProgramWinget.ps1
+++ b/functions/private/Install-WinUtilProgramWinget.ps1
@@ -59,6 +59,7 @@ Function Install-WinUtilProgramWinget {
continue
}
Write-Host "Attempting installation with Chocolatey as a fallback method"
+ Install-WinUtilChoco
$status = $(Start-Process -FilePath "choco" -ArgumentList "install $Program -y" -Wait -PassThru).ExitCode
if($status -eq 0){
Write-Host "$Program installed successfully using Chocolatey."
From 6e201305c91c56928caa29900d73fa47866f0159 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Fri, 10 May 2024 04:15:31 +0000
Subject: [PATCH 22/34] Compile Winutil
---
winutil.ps1 | 1 +
1 file changed, 1 insertion(+)
diff --git a/winutil.ps1 b/winutil.ps1
index 70ac5992..aee1eeea 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -762,6 +762,7 @@ Function Install-WinUtilProgramWinget {
continue
}
Write-Host "Attempting installation with Chocolatey as a fallback method"
+ Install-WinUtilChoco
$status = $(Start-Process -FilePath "choco" -ArgumentList "install $Program -y" -Wait -PassThru).ExitCode
if($status -eq 0){
Write-Host "$Program installed successfully using Chocolatey."
From 800a5085fca5cdfad17c0310b330f277106a1f62 Mon Sep 17 00:00:00 2001
From: Andrew <121936658+7gxycn08@users.noreply.github.com>
Date: Sun, 12 May 2024 00:45:32 +0400
Subject: [PATCH 23/34] Added ForceAutoHDR application to applications.json
(#1951)
* Added ForceAutoHDR application to applications.json
Entry added on line 2642
* Update config/applications.json
Yep my bad I though games related tools should be under "Games"
Co-authored-by: Mr.k
---------
Co-authored-by: Mr.k
---
config/applications.json | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/config/applications.json b/config/applications.json
index 4cfd0904..989839e9 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -2694,5 +2694,13 @@
"description": "The customization marketplace for Windows programs",
"link": "https://windhawk.net",
"winget": "RamenSoftware.Windhawk"
+ },
+ "WPFInstallForceAutoHDR": {
+ "category": "Utilities",
+ "choco": "na",
+ "content": "GUI That Forces Auto HDR In Unsupported Games",
+ "description": "ForceAutoHDR simplifies the process of adding games to the AutoHDR list in the Windows Registry",
+ "link": "https://github.com/7gxycn08/ForceAutoHDR",
+ "winget": "ForceAutoHDR.7gxycn08"
}
}
From c78a48d67025c8e68adee12e4fa958cccbf7972c Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Sat, 11 May 2024 20:45:57 +0000
Subject: [PATCH 24/34] Compile Winutil
---
winutil.ps1 | 21 ++++++++++++++++-----
xaml/inputApp.xaml | 9 ++++++---
2 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index aee1eeea..e5ce7fcf 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -10,7 +10,7 @@
Author : Chris Titus @christitustech
Runspace Author: @DeveloperDurp
GitHub : https://github.com/ChrisTitusTech
- Version : 24.05.10
+ Version : 24.05.11
#>
param (
[switch]$Debug,
@@ -47,7 +47,7 @@ Add-Type -AssemblyName System.Windows.Forms
# Variable to sync between runspaces
$sync = [Hashtable]::Synchronized(@{})
$sync.PSScriptRoot = $PSScriptRoot
-$sync.version = "24.05.10"
+$sync.version = "24.05.11"
$sync.configs = @{}
$sync.ProcessRunning = $false
@@ -7738,6 +7738,14 @@ $sync.configs.applications = '{
"description": "The customization marketplace for Windows programs",
"link": "https://windhawk.net",
"winget": "RamenSoftware.Windhawk"
+ },
+ "WPFInstallForceAutoHDR": {
+ "category": "Utilities",
+ "choco": "na",
+ "content": "GUI That Forces Auto HDR In Unsupported Games",
+ "description": "ForceAutoHDR simplifies the process of adding games to the AutoHDR list in the Windows Registry",
+ "link": "https://github.com/7gxycn08/ForceAutoHDR",
+ "winget": "ForceAutoHDR.7gxycn08"
}
}' | convertfrom-json
$sync.configs.dns = '{
@@ -12919,6 +12927,9 @@ $inputXML = '
+
+
+
@@ -12960,15 +12971,15 @@ $inputXML = '
-
-
-
+
+
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index 3c19da16..d8953256 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -797,6 +797,9 @@
+
+
+
@@ -838,15 +841,15 @@
-
-
-
+
+
+
From 4993407f2c155e93622cf61c4065a8fc3b06c2fe Mon Sep 17 00:00:00 2001
From: Jelle <89023848+mrjbongo@users.noreply.github.com>
Date: Sat, 11 May 2024 22:46:08 +0200
Subject: [PATCH 25/34] add Godot Engine to applications.json (#1933)
Added Godot Engine (https://godotengine.org/).
Godot Engine is a free, open-source 2D and 3D game engine with a focus on usability and flexibility.
---
config/applications.json | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/config/applications.json b/config/applications.json
index 989839e9..f7a57d53 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -743,6 +743,14 @@
"link": "https://www.glarysoft.com/glary-utilities/",
"winget": "Glarysoft.GlaryUtilities"
},
+ "WPFInstallgodotengine": {
+ "category": "Development",
+ "choco": "godot",
+ "content": "Godot Engine",
+ "description": "Godot Engine is a free, open-source 2D and 3D game engine with a focus on usability and flexibility.",
+ "link": "https://godotengine.org/",
+ "winget": "GodotEngine.GodotEngine"
+ },
"WPFInstallgog": {
"category": "Games",
"choco": "goggalaxy",
From a0db6cfdce73ec8c09cfded1a0977a41a9cec606 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Sat, 11 May 2024 20:46:32 +0000
Subject: [PATCH 26/34] Compile Winutil
---
winutil.ps1 | 35 +++++++++++++++++++++++------------
xaml/inputApp.xaml | 27 +++++++++++++++------------
2 files changed, 38 insertions(+), 24 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index e5ce7fcf..b82e0923 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -5787,6 +5787,14 @@ $sync.configs.applications = '{
"link": "https://www.glarysoft.com/glary-utilities/",
"winget": "Glarysoft.GlaryUtilities"
},
+ "WPFInstallgodotengine": {
+ "category": "Development",
+ "choco": "godot",
+ "content": "Godot Engine",
+ "description": "Godot Engine is a free, open-source 2D and 3D game engine with a focus on usability and flexibility.",
+ "link": "https://godotengine.org/",
+ "winget": "GodotEngine.GodotEngine"
+ },
"WPFInstallgog": {
"category": "Games",
"choco": "goggalaxy",
@@ -12288,6 +12296,9 @@ $inputXML = '
+
+
+
@@ -12338,15 +12349,15 @@ $inputXML = '
-
-
-
+
+
+
@@ -12544,15 +12555,15 @@ $inputXML = '
-
-
-
+
+
+
@@ -12758,15 +12769,15 @@ $inputXML = '
-
-
-
+
+
+
@@ -12968,15 +12979,15 @@ $inputXML = '
-
-
-
+
+
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index d8953256..23531409 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -158,6 +158,9 @@
+
+
+
@@ -208,15 +211,15 @@
-
-
-
+
+
+
@@ -414,15 +417,15 @@
-
-
-
+
+
+
@@ -628,15 +631,15 @@
-
-
-
+
+
+
@@ -838,15 +841,15 @@
-
-
-
+
+
+
From d893c0512a7dad134ab6dc51cd0be3272aa45c45 Mon Sep 17 00:00:00 2001
From: Marc Brooks
Date: Sat, 11 May 2024 15:46:37 -0500
Subject: [PATCH 27/34] Add GitKraken Client (#1927)
Adds development utility client for git repository management
---
config/applications.json | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/config/applications.json b/config/applications.json
index f7a57d53..b568a0d9 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -735,6 +735,14 @@
"link": "https://desktop.github.com/",
"winget": "Git.Git;GitHub.GitHubDesktop"
},
+ "WPFInstallgitkrakenclient": {
+ "category": "Development",
+ "choco": "gitkraken",
+ "content": "GitKraken Client",
+ "description": "GitKraken Client is a powerful visual Git client from Axosoft that works with ALL git repositories on any hosting environment.",
+ "link": "https://www.gitkraken.com/git-client",
+ "winget": "Axosoft.GitKraken"
+ },
"WPFInstallglaryutilities": {
"category": "Utilities",
"choco": "glaryutilities-free",
From 794d390a7faba18ac282a3d0a0971171180c9053 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Sat, 11 May 2024 20:47:02 +0000
Subject: [PATCH 28/34] Compile Winutil
---
winutil.ps1 | 27 +++++++++++++++++++--------
xaml/inputApp.xaml | 19 +++++++++++--------
2 files changed, 30 insertions(+), 16 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index b82e0923..e254c343 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -5779,6 +5779,14 @@ $sync.configs.applications = '{
"link": "https://desktop.github.com/",
"winget": "Git.Git;GitHub.GitHubDesktop"
},
+ "WPFInstallgitkrakenclient": {
+ "category": "Development",
+ "choco": "gitkraken",
+ "content": "GitKraken Client",
+ "description": "GitKraken Client is a powerful visual Git client from Axosoft that works with ALL git repositories on any hosting environment.",
+ "link": "https://www.gitkraken.com/git-client",
+ "winget": "Axosoft.GitKraken"
+ },
"WPFInstallglaryutilities": {
"category": "Utilities",
"choco": "glaryutilities-free",
@@ -12296,6 +12304,9 @@ $inputXML = '
+
+
+
@@ -12346,15 +12357,15 @@ $inputXML = '
-
-
-
+
+
+
@@ -12554,12 +12565,12 @@ $inputXML = '
-
+
@@ -12768,12 +12779,12 @@ $inputXML = '
-
+
@@ -12976,15 +12987,15 @@ $inputXML = '
-
-
-
+
+
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index 23531409..229031f5 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -158,6 +158,9 @@
+
+
+
@@ -208,15 +211,15 @@
-
-
-
+
+
+
@@ -416,12 +419,12 @@
-
+
@@ -630,12 +633,12 @@
-
+
@@ -838,15 +841,15 @@
-
-
-
+
+
+
From eec184ee81c5e4140c9a58db1595f9bb8f2ff187 Mon Sep 17 00:00:00 2001
From: Hayden Plumley
Date: Sat, 11 May 2024 13:48:18 -0700
Subject: [PATCH 29/34] Simplified Admin Check and Added Code Comments (#1938)
- Simplified the admin check by filtering the "WindowsIdentity" class for owner value and comparing against admin value
- Removed the need for an if admin check by moving its commands under the if not admin check.
- Added code comments
---
scripts/start.ps1 | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/scripts/start.ps1 b/scripts/start.ps1
index a2b65b01..4f68920a 100644
--- a/scripts/start.ps1
+++ b/scripts/start.ps1
@@ -44,21 +44,16 @@ $sync.version = "#{replaceme}"
$sync.configs = @{}
$sync.ProcessRunning = $false
-$currentPid = [System.Security.Principal.WindowsIdentity]::GetCurrent()
-$principal = new-object System.Security.Principal.WindowsPrincipal($currentPid)
-$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator
-
-
-if ($principal.IsInRole($adminRole))
-{
- $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Admin)"
- clear-host
-}
-else
+# If script isn't running as admin, show error message and quit
+If (([Security.Principal.WindowsIdentity]::GetCurrent()).Owner.Value -ne "S-1-5-32-544")
{
Write-Host "===========================================" -Foregroundcolor Red
Write-Host "-- Scripts must be run as Administrator ---" -Foregroundcolor Red
Write-Host "-- Right-Click Start -> Terminal(Admin) ---" -Foregroundcolor Red
Write-Host "===========================================" -Foregroundcolor Red
break
-}
\ No newline at end of file
+}
+
+# Set PowerShell window title
+$Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Admin)"
+clear-host
From 15eb12af1163f674205c5ec706e2449a4589158f Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Sat, 11 May 2024 20:48:42 +0000
Subject: [PATCH 30/34] Compile Winutil
---
winutil.ps1 | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index e254c343..13daae3e 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -51,17 +51,8 @@ $sync.version = "24.05.11"
$sync.configs = @{}
$sync.ProcessRunning = $false
-$currentPid = [System.Security.Principal.WindowsIdentity]::GetCurrent()
-$principal = new-object System.Security.Principal.WindowsPrincipal($currentPid)
-$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator
-
-
-if ($principal.IsInRole($adminRole))
-{
- $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Admin)"
- clear-host
-}
-else
+# If script isn't running as admin, show error message and quit
+If (([Security.Principal.WindowsIdentity]::GetCurrent()).Owner.Value -ne "S-1-5-32-544")
{
Write-Host "===========================================" -Foregroundcolor Red
Write-Host "-- Scripts must be run as Administrator ---" -Foregroundcolor Red
@@ -69,6 +60,10 @@ else
Write-Host "===========================================" -Foregroundcolor Red
break
}
+
+# Set PowerShell window title
+$Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Admin)"
+clear-host
function ConvertTo-Icon {
<#
From f130fc6c495e87e6559f4b1b3dbb5c61139a2c56 Mon Sep 17 00:00:00 2001
From: Berrick Werkman <105836264+BKlaasWerkman@users.noreply.github.com>
Date: Sat, 11 May 2024 15:52:52 -0500
Subject: [PATCH 31/34] Main window handle (#1941)
Condition is comparing $proc.Id with [System.IntPtr]::Zero. The Id property is an integer, representing the process ID, and it's not directly related to window handles.
Instead, you should compare the MainWindowHandle property against [System.IntPtr]::Zero
---
scripts/main.ps1 | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/scripts/main.ps1 b/scripts/main.ps1
index cc9aaa35..5507d641 100644
--- a/scripts/main.ps1
+++ b/scripts/main.ps1
@@ -271,10 +271,14 @@ Add-Type @"
"@
}
- foreach ($proc in (Get-Process | Where-Object { $_.MainWindowTitle -and $_.MainWindowTitle -like "*titus*" })) {
- if ($proc.Id -ne [System.IntPtr]::Zero) {
+ foreach ($proc in (Get-Process | Where-Object { $_.MainWindowTitle -and $_.MainWindowTitle -like "*titus*" })) {
+ # Check if the process's MainWindowHandle is valid
+ if ($proc.MainWindowHandle -ne [System.IntPtr]::Zero) {
Write-Debug "MainWindowHandle: $($proc.Id) $($proc.MainWindowTitle) $($proc.MainWindowHandle)"
$windowHandle = $proc.MainWindowHandle
+ } else {
+ Write-Warning "Process found, but no MainWindowHandle: $($proc.Id) $($proc.MainWindowTitle)"
+
}
}
From 3c2b236d0a21186bcff3bc69550b12d8d87c8ee5 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Sat, 11 May 2024 20:53:18 +0000
Subject: [PATCH 32/34] Compile Winutil
---
winutil.ps1 | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 13daae3e..66f21eb2 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -13864,10 +13864,14 @@ Add-Type @"
"@
}
- foreach ($proc in (Get-Process | Where-Object { $_.MainWindowTitle -and $_.MainWindowTitle -like "*titus*" })) {
- if ($proc.Id -ne [System.IntPtr]::Zero) {
+ foreach ($proc in (Get-Process | Where-Object { $_.MainWindowTitle -and $_.MainWindowTitle -like "*titus*" })) {
+ # Check if the process's MainWindowHandle is valid
+ if ($proc.MainWindowHandle -ne [System.IntPtr]::Zero) {
Write-Debug "MainWindowHandle: $($proc.Id) $($proc.MainWindowTitle) $($proc.MainWindowHandle)"
$windowHandle = $proc.MainWindowHandle
+ } else {
+ Write-Warning "Process found, but no MainWindowHandle: $($proc.Id) $($proc.MainWindowTitle)"
+
}
}
From 9850ffd2c2b3f0ddb3a649a6e8d6144d7ae24c94 Mon Sep 17 00:00:00 2001
From: o-iu <168581616+o-iu@users.noreply.github.com>
Date: Sat, 11 May 2024 17:54:18 -0300
Subject: [PATCH 33/34] Add SMPlayer to `applications.json` (#1948)
* Add SMPlayer to `applications.json`
* Fix formatting
---------
Co-authored-by: Chris Titus
---
config/applications.json | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/config/applications.json b/config/applications.json
index b568a0d9..9f69473b 100644
--- a/config/applications.json
+++ b/config/applications.json
@@ -2679,6 +2679,14 @@
"link": "https://github.com/magic-wormhole/magic-wormhole",
"winget": "magic-wormhole.magic-wormhole"
},
+ "WPFInstallsmplayer": {
+ "category": "Multimedia Tools",
+ "choco": "smplayer",
+ "content": "SMPlayer",
+ "description": "SMPlayer is a free media player for Windows and Linux with built-in codecs that can play virtually all video and audio formats.",
+ "link": "https://www.smplayer.info",
+ "winget": "SMPlayer.SMPlayer"
+ },
"WPFInstalglazewm": {
"category": "Utilities",
"choco": "na",
From 2c5544c4c7aea43a79a7848ce74f26604d7010e2 Mon Sep 17 00:00:00 2001
From: ChrisTitusTech
Date: Sat, 11 May 2024 20:54:40 +0000
Subject: [PATCH 34/34] Compile Winutil
---
winutil.ps1 | 23 +++++++++++++++++------
xaml/inputApp.xaml | 15 +++++++++------
2 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/winutil.ps1 b/winutil.ps1
index 66f21eb2..7c002b2f 100644
--- a/winutil.ps1
+++ b/winutil.ps1
@@ -7718,6 +7718,14 @@ $sync.configs.applications = '{
"link": "https://github.com/magic-wormhole/magic-wormhole",
"winget": "magic-wormhole.magic-wormhole"
},
+ "WPFInstallsmplayer": {
+ "category": "Multimedia Tools",
+ "choco": "smplayer",
+ "content": "SMPlayer",
+ "description": "SMPlayer is a free media player for Windows and Linux with built-in codecs that can play virtually all video and audio formats.",
+ "link": "https://www.smplayer.info",
+ "winget": "SMPlayer.SMPlayer"
+ },
"WPFInstalglazewm": {
"category": "Utilities",
"choco": "na",
@@ -12751,6 +12759,9 @@ $inputXML = '
+
+
+
@@ -12771,14 +12782,14 @@ $inputXML = '
-
-
-
+
+
+
@@ -12979,15 +12990,15 @@ $inputXML = '
-
-
-
+
+
+
diff --git a/xaml/inputApp.xaml b/xaml/inputApp.xaml
index 229031f5..8046162c 100644
--- a/xaml/inputApp.xaml
+++ b/xaml/inputApp.xaml
@@ -610,6 +610,9 @@
+
+
+
@@ -630,14 +633,14 @@
-
-
-
+
+
+
@@ -838,15 +841,15 @@
-
-
-
+
+
+