diff --git a/Compile.ps1 b/Compile.ps1 index 8568e1af..e0f4c6d4 100644 --- a/Compile.ps1 +++ b/Compile.ps1 @@ -1,5 +1,6 @@ param ( - [switch]$Debug + [switch]$Debug, + [switch]$Run ) $OFS = "`r`n" $scriptname = "winutil.ps1" @@ -63,13 +64,6 @@ Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach- $sync.configs.$($psitem.BaseName) = $json | convertfrom-json $script_content.Add($(Write-output "`$sync.configs.$($psitem.BaseName) = '$json' `| convertfrom-json" )) } -Write-Progress -Activity "Compiling" -Status "Adding: Config *.cfg" -PercentComplete 45 -Get-ChildItem .\config | Where-Object {$PSItem.Extension -eq ".cfg"} | ForEach-Object { - $script_content.Add($(Write-output "`$sync.configs.$($psitem.BaseName) = '$(Get-Content $PSItem.FullName)'")) -} -Get-ChildItem .\config | Where-Object {$PSItem.Extension -eq ".cfg"} | ForEach-Object { - $script_content.Add($(Write-output "`$sync.configs.$($psitem.BaseName) = '$(Get-Content $PSItem.FullName)'")) -} $xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''") @@ -106,4 +100,14 @@ else { } Set-Content -Path $scriptname -Value ($script_content -join "`r`n") -Encoding ascii -Write-Progress -Activity "Compiling" -Completed \ No newline at end of file +Write-Progress -Activity "Compiling" -Completed + +if ($run){ + try { + Start-Process -FilePath "pwsh" -ArgumentList ".\$scriptname" + } + catch { + Start-Process -FilePath "powershell" -ArgumentList ".\$scriptname" + } + +} \ No newline at end of file diff --git a/config/applications.json b/config/applications.json index 0ab64a6e..5bfaae8c 100644 --- a/config/applications.json +++ b/config/applications.json @@ -407,7 +407,7 @@ "link": "https://discord.com/", "winget": "Discord.Discord" }, - "WPFInstallditto": { + "WPFInstallditto": { "category": "Utilities", "choco": "ditto", "content": "Ditto", @@ -591,7 +591,7 @@ "link": "https://file-converter.io/", "winget": "AdrienAllard.FileConverter" }, - "WPFInstallfiles": { + "WPFInstallfiles": { "category": "Utilities", "choco": "files", "content": "Files", @@ -975,14 +975,6 @@ "link": "https://www.oracle.com/java/", "winget": "EclipseAdoptium.Temurin.18.JRE" }, - "WPFInstalljava20": { - "category": "Development", - "choco": "na", - "content": "Azul Zulu JDK 20", - "description": "Azul Zulu JDK 20 is a distribution of the OpenJDK with long-term support, performance enhancements, and security updates.", - "link": "https://www.azul.com/downloads/zulu-community/", - "winget": "Azul.Zulu.20.JDK" - }, "WPFInstalljava21": { "category": "Development", "choco": "na", @@ -1303,14 +1295,6 @@ "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", @@ -1663,6 +1647,14 @@ "link": "https://www.plex.tv/your-media/", "winget": "Plex.PlexMediaServer" }, + "WPFInstallplexdesktop": { + "category": "Multimedia Tools", + "choco": "plex", + "content": "Plex Desktop", + "description": "Plex Desktop for Windows is the front end for Plex Media Server.", + "link": "https://www.plex.tv", + "winget": "Plex.Plex" + }, "WPFInstallPortmaster": { "category": "Pro Tools", "choco": "portmaster", @@ -1879,7 +1871,7 @@ "link": "https://www.rust-lang.org/", "winget": "Rustlang.Rust.MSVC" }, - "WPFInstallsagethumbs": { + "WPFInstallsagethumbs": { "category": "Utilities", "choco": "sagethumbs", "content": "SageThumbs", @@ -2007,7 +1999,7 @@ "link": "http://www.uderzo.it/main_products/space_sniffer/", "winget": "UderzoSoftware.SpaceSniffer" }, - "WPFInstallspotube": { + "WPFInstallspotube": { "category": "Multimedia Tools", "choco": "spotube", "content": "Spotube", @@ -2818,7 +2810,7 @@ "WPFInstallForceAutoHDR": { "category": "Utilities", "choco": "na", - "content": "GUI That Forces Auto HDR In Unsupported Games", + "content": "ForceAutoHDR", "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" @@ -2831,6 +2823,7 @@ "link": "https://joytokey.net/en/", "winget": "JTKsoftware.JoyToKey" }, + "WPFInstallnditools": { "category": "Multimedia Tools", "choco": "na", @@ -2838,5 +2831,13 @@ "description":"NDI, or Network Device Interface, is a video connectivity standard that enables multimedia systems to identify and communicate with one another over IP and to encode, transmit, and receive high-quality, low latency, frame-accurate video and audio, and exchange metadata in real-time.", "link": "https://ndi.video/", "winget": "NDI.NDITools" + }, + "WPFInstallkicad": { + "category": "Pro Tools", + "choco": "na", + "content": "Kicad", + "description":"Kicad is an open-source EDA tool. It's a good starting point for those who want to do electrical design and is even used by professionals in the industry.", + "link": "https://www.kicad.org/", + "winget": "KiCad.KiCad" } } diff --git a/config/ooshutup10_factory.cfg b/config/ooshutup10_factory.cfg deleted file mode 100644 index 1ae2ecab..00000000 --- a/config/ooshutup10_factory.cfg +++ /dev/null @@ -1,227 +0,0 @@ -############################################################################ -# 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 - -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 - -M003 - -M015 - -M016 - -M017 - -M018 - -M019 - -M020 - -M021 - -M022 - -M001 - -M004 - -M005 - -M024 - -M012 - -M013 - -M014 - -N001 - diff --git a/config/ooshutup10_recommended.cfg b/config/ooshutup10_recommended.cfg deleted file mode 100644 index 53284193..00000000 --- a/config/ooshutup10_recommended.cfg +++ /dev/null @@ -1,231 +0,0 @@ -############################################################################ -# This file was created with O&O ShutUp10++ V1.9.1438 -# 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-2024 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 - -Y001 + -Y002 + -Y003 + -Y004 + -Y005 + -Y006 + -Y007 + -C012 + -C002 + -C013 + -C007 + -C008 + -C009 + -C010 + -C011 + -C014 + -C015 + -C101 + -C201 + -C102 + -C103 + -C203 + -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 + -M003 + -M015 + -M016 + -M017 - -M018 + -M019 - -M020 + -M021 + -M022 + -M001 + -M004 + -M005 + -M024 + -M026 + -M027 + -M012 - -M013 - -M014 - -N001 - \ No newline at end of file diff --git a/config/preset.json b/config/preset.json index cabe8037..d0640ce4 100644 --- a/config/preset.json +++ b/config/preset.json @@ -5,7 +5,6 @@ "WPFTweaksHiber", "WPFTweaksHome", "WPFTweaksLoc", - "WPFTweaksOO", "WPFTweaksServices", "WPFTweaksStorage", "WPFTweaksTele", @@ -18,7 +17,6 @@ ], "Minimal": [ "WPFTweaksHome", - "WPFTweaksOO", "WPFTweaksServices", "WPFTweaksTele" ] diff --git a/config/tweaks.json b/config/tweaks.json index c0d11c44..5f89a5c5 100644 --- a/config/tweaks.json +++ b/config/tweaks.json @@ -1223,11 +1223,6 @@ "StartupType": "Automatic", "OriginalType": "Automatic" }, - { - "Name": "WwanSvc", - "StartupType": "Manual", - "OriginalType": "Manual" - }, { "Name": "XblAuthManager", "StartupType": "Manual", @@ -2313,20 +2308,6 @@ "Invoke-WPFTweakPS7 -action \"PS5\"" ] }, - "WPFTweaksOO": { - "Content": "Run OO Shutup", - "Description": "Runs OO Shutup and applies the recommended Tweaks. https://www.oo-software.com/en/shutup10", - "category": "Essential Tweaks", - "panel": "1", - "Order": "a009_", - "ToolTip": "Runs OO Shutup and applies the recommended Tweaks https://www.oo-software.com/en/shutup10", - "InvokeScript": [ - "Invoke-WPFOOSU -action \"recommended\"" - ], - "UndoScript": [ - "Invoke-WPFOOSU -action \"undo\"" - ] - }, "WPFTweaksStorage": { "Content": "Disable Storage Sense", "Description": "Storage Sense deletes temp files automatically.", @@ -2342,17 +2323,15 @@ }, "WPFTweaksRemoveEdge": { "Content": "Remove Microsoft Edge - NOT RECOMMENDED", - "Description": "Removes MS Edge when it gets reinstalled by updates.", + "Description": "Removes MS Edge when it gets reinstalled by updates. Credit: AveYo", "category": "z__Advanced Tweaks - CAUTION", "panel": "1", "Order": "a029_", "InvokeScript": [ " #:: Standalone script by AveYo Source: https://raw.githubusercontent.com/AveYo/fox/main/Edge_Removal.bat - - curl.exe -s \"https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/edgeremoval.bat\" -o $ENV:temp\\edgeremoval.bat + Invoke-WebRequest -Uri \"https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/edgeremoval.bat\" -OutFile \"$ENV:TEMP\\edgeremoval.bat\" Start-Process $ENV:temp\\edgeremoval.bat - " ], "UndoScript": [ @@ -2408,12 +2387,12 @@ "WPFTweaksDisableLMS1": { "Content": "Disable Intel MM (vPro LMS)", "Description": "Intel LMS service is always listening on all ports and could be a huge security risk. There is no need to run LMS on home machines and even in the Enterprise there are better solutions.", - "category": "Essential Tweaks", + "category": "z__Advanced Tweaks - CAUTION", "panel": "1", - "Order": "a0015_", + "Order": "a026_", "InvokeScript": [ " - Write-Host \"Kill OneDrive process\" + Write-Host \"Kill LMS\" $serviceName = \"LMS\" Write-Host \"Stopping and disabling service: $serviceName\" Stop-Service -Name $serviceName -Force -ErrorAction SilentlyContinue; @@ -2457,8 +2436,7 @@ ], "UndoScript": [ " - Write-Host \"Install Microsoft Edge\" - taskkill.exe /F /IM \"OneDrive.exe\" + Write-Host \"LMS vPro needs to be redownloaded from intel.com\" " ] @@ -3090,7 +3068,7 @@ "Type": "Toggle" }, "WPFOOSUbutton": { - "Content": "Customize OO Shutup Tweaks", + "Content": "Run OO Shutup 10", "category": "z__Advanced Tweaks - CAUTION", "panel": "1", "Order": "a039_", diff --git a/functions/private/Get-LocalizedYesNo.ps1 b/functions/private/Get-LocalizedYesNo.ps1 index db7c046e..723c0562 100644 --- a/functions/private/Get-LocalizedYesNo.ps1 +++ b/functions/private/Get-LocalizedYesNo.ps1 @@ -27,60 +27,6 @@ function Get-LocalizedYesNo { $regexPattern = '([a-zA-Z])' $charactersArray = [regex]::Matches($line, $regexPattern) | ForEach-Object { $_.Groups[1].Value } - Write-Debug "According to takeown.exe local Yes is $charactersArray[0]" - # Return the array of characters - return $charactersArray - } - - -function Get-LocalizedYesNoTakeown { - <# - .SYNOPSIS - This function runs takeown.exe and captures its output to extract yes no in a localized Windows - - .DESCRIPTION - The function retrieves lines from the output of takeown.exe until there are at least 2 characters - captured in a specific format, such as "Yes=, No=". - - .EXAMPLE - $yesNoArray = Get-LocalizedYesNo - Write-Host "Yes=$($yesNoArray[0]), No=$($yesNoArray[1])" - #> - - # Run takeown.exe and capture its output - $takeownOutput = & takeown.exe /? | Out-String - - # Parse the output and retrieve lines until there are at least 2 characters in the array - $found = $false - $charactersArray = @() - foreach ($line in $takeownOutput -split "`r`n") - { - # skip everything before /D flag help - if ($found) - { - # now that /D is found start looking for a single character in double quotes - # in help text there is another string in double quotes but it is not a single character - $regexPattern = '"([a-zA-Z])"' - - $charactersArray = [regex]::Matches($line, $regexPattern) | ForEach-Object { $_.Groups[1].Value } - - # if ($charactersArray.Count -gt 0) { - # Write-Output "Extracted symbols: $($matches -join ', ')" - # } else { - # Write-Output "No matches found." - # } - - if ($charactersArray.Count -ge 2) - { - break - } - } - elseif ($line -match "/D ") - { - $found = $true - } - } - Write-Debug "According to takeown.exe local Yes is $charactersArray[0]" # Return the array of characters return $charactersArray diff --git a/functions/private/Invoke-MicroWin-Helper.ps1 b/functions/private/Invoke-MicroWin-Helper.ps1 index f34adb35..2f8011a2 100644 --- a/functions/private/Invoke-MicroWin-Helper.ps1 +++ b/functions/private/Invoke-MicroWin-Helper.ps1 @@ -1,19 +1,3 @@ -function Invoke-MicroWin-Helper { -<# - - .SYNOPSIS - checking unit tests - - .PARAMETER Name - no parameters - - .EXAMPLE - placeholder - -#> - -} - function Test-CompatibleImage() { <# diff --git a/functions/private/Show-CustomDialog.ps1 b/functions/private/Show-CustomDialog.ps1 index e102c43e..505c7a8d 100644 --- a/functions/private/Show-CustomDialog.ps1 +++ b/functions/private/Show-CustomDialog.ps1 @@ -178,17 +178,67 @@ $cttLogoPath = @" $winutilTextBlock.Foreground = $foregroundColor $winutilTextBlock.Margin = New-Object Windows.Thickness(10, 5, 10, 5) # Add margins around the text block $stackPanel.Children.Add($winutilTextBlock) - # Add TextBlock for information with text wrapping and margins $messageTextBlock = New-Object Windows.Controls.TextBlock - $messageTextBlock.Text = $Message $messageTextBlock.TextWrapping = [Windows.TextWrapping]::Wrap # Enable text wrapping $messageTextBlock.HorizontalAlignment = [Windows.HorizontalAlignment]::Left $messageTextBlock.VerticalAlignment = [Windows.VerticalAlignment]::Top $messageTextBlock.Margin = New-Object Windows.Thickness(10) # Add margins around the text block + + # Define the Regex to find hyperlinks formatted as HTML tags + $regex = [regex]::new('([^<]+)') + $lastPos = 0 + + # Iterate through each match and add regular text and hyperlinks + foreach ($match in $regex.Matches($Message)) { + # Add the text before the hyperlink, if any + $textBefore = $Message.Substring($lastPos, $match.Index - $lastPos) + if ($textBefore.Length -gt 0) { + $messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textBefore))) + } + + # Create and add the hyperlink + $hyperlink = New-Object Windows.Documents.Hyperlink + $hyperlink.NavigateUri = New-Object System.Uri($match.Groups[1].Value) + $hyperlink.Inlines.Add($match.Groups[2].Value) + $hyperlink.TextDecorations = [Windows.TextDecorations]::None # Remove underline + $hyperlink.Foreground = $foregroundColor + $hyperlink.Add_Click({ + param($sender, $args) + Start-Process $sender.NavigateUri.AbsoluteUri + }) + $hyperlink.Add_MouseEnter({ + param($sender, $args) + $sender.Foreground = [Windows.Media.Brushes]::LightGray + }) + $hyperlink.Add_MouseLeave({ + param($sender, $args) + $sender.Foreground = $foregroundColor + }) + + $messageTextBlock.Inlines.Add($hyperlink) + + # Update the last position + $lastPos = $match.Index + $match.Length + } + + # Add any remaining text after the last hyperlink + if ($lastPos -lt $Message.Length) { + $textAfter = $Message.Substring($lastPos) + $messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textAfter))) + } + + # If no matches, add the entire message as a run + if ($regex.Matches($Message).Count -eq 0) { + $messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($Message))) + } + + + # Add the TextBlock to the Grid $grid.Children.Add($messageTextBlock) [Windows.Controls.Grid]::SetRow($messageTextBlock, 1) # Set the row to the second row (0-based index) + # Add OK button $okButton = New-Object Windows.Controls.Button $okButton.Content = "OK" diff --git a/functions/public/Invoke-WPFButton.ps1 b/functions/public/Invoke-WPFButton.ps1 index 75ac3917..5ca1dc78 100644 --- a/functions/public/Invoke-WPFButton.ps1 +++ b/functions/public/Invoke-WPFButton.ps1 @@ -26,7 +26,7 @@ function Invoke-WPFButton { "WPFclear" {Invoke-WPFPresets -preset $null -imported $true} "WPFclearWinget" {Invoke-WPFPresets -preset $null -imported $true -CheckBox "WPFInstall"} "WPFtweaksbutton" {Invoke-WPFtweaksbutton} - "WPFOOSUbutton" {Invoke-WPFOOSU -action "customize"} + "WPFOOSUbutton" {Invoke-WPFOOSU} "WPFAddUltPerf" {Invoke-WPFUltimatePerformance -State "Enabled"} "WPFRemoveUltPerf" {Invoke-WPFUltimatePerformance -State "Disabled"} "WPFundoall" {Invoke-WPFundoall} diff --git a/functions/public/Invoke-WPFOOSU.ps1 b/functions/public/Invoke-WPFOOSU.ps1 index 97f64e89..c47b04bf 100644 --- a/functions/public/Invoke-WPFOOSU.ps1 +++ b/functions/public/Invoke-WPFOOSU.ps1 @@ -1,43 +1,20 @@ function Invoke-WPFOOSU { <# .SYNOPSIS - Downloads and runs OO Shutup 10 with or without config files - .PARAMETER action - Specifies how OOSU should be started - customize: Opens the OOSU GUI - recommended: Loads and applies the recommended OOSU policies silently - undo: Resets all policies to factory silently + Downloads and runs OO Shutup 10 #> - - param ( - [ValidateSet("customize", "recommended", "undo")] - [string]$action - ) - - $OOSU_filepath = "$ENV:temp\OOSU10.exe" - - $Initial_ProgressPreference = $ProgressPreference - $ProgressPreference = "SilentlyContinue" # Disables the Progress Bar to drasticly speed up Invoke-WebRequest - Invoke-WebRequest -Uri "https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe" -OutFile $OOSU_filepath - - switch ($action) - { - "customize"{ - Write-Host "Starting OO Shutup 10 ..." - Start-Process $OOSU_filepath - } - "recommended"{ - $oosu_config = "$ENV:temp\ooshutup10_recommended.cfg" - $sync.configs.ooshutup10_recommended | Out-File -FilePath $oosu_config -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" - $sync.configs.ooshutup10_factory | Out-File -FilePath $oosu_config -Force - Write-Host "Resetting all OO Shutup 10 Policies" - Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait - } + try { + $OOSU_filepath = "$ENV:temp\OOSU10.exe" + $Initial_ProgressPreference = $ProgressPreference + $ProgressPreference = "SilentlyContinue" # Disables the Progress Bar to drasticly speed up Invoke-WebRequest + Invoke-WebRequest -Uri "https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe" -OutFile $OOSU_filepath + Write-Host "Starting OO Shutup 10 ..." + Start-Process $OOSU_filepath } - $ProgressPreference = $Initial_ProgressPreference -} + catch { + Write-Host "Error Downloading and Running OO Shutup 10" -ForegroundColor Red + } + finally { + $ProgressPreference = $Initial_ProgressPreference + } +} \ No newline at end of file diff --git a/logs/test b/logs/test deleted file mode 100644 index e69de29b..00000000 diff --git a/scripts/main.ps1 b/scripts/main.ps1 index 23978ab7..572ecee4 100644 --- a/scripts/main.ps1 +++ b/scripts/main.ps1 @@ -133,9 +133,17 @@ $sync.keys | ForEach-Object { # Load computer information in the background Invoke-WPFRunspace -ScriptBlock { - $sync.ConfigLoaded = $False - $sync.ComputerInfo = Get-ComputerInfo - $sync.ConfigLoaded = $True + try{ + $oldProgressPreference = $ProgressPreference + $ProgressPreference = "SilentlyContinue" + $sync.ConfigLoaded = $False + $sync.ComputerInfo = Get-ComputerInfo + $sync.ConfigLoaded = $True + } + finally{ + $ProgressPreference = "Continue" + } + } | Out-Null #=========================================================================== @@ -145,9 +153,6 @@ Invoke-WPFRunspace -ScriptBlock { # Print the logo Invoke-WPFFormVariables -# Install Winget if not already present -Install-WinUtilWinget - # Set the titlebar $sync["Form"].title = $sync["Form"].title + " " + $sync.version # Set the commands that will run when the form is closed @@ -467,14 +472,13 @@ $sync["AboutMenuItem"].Add_Click({ # Handle Export menu item click Write-Debug "About clicked" $sync["SettingsPopup"].IsOpen = $false - # Example usage $authorInfo = @" -Author : @christitustech -Runspace : @DeveloperDurp -GUI : @KonTy -MicroWin : @KonTy -GitHub : https://github.com/ChrisTitusTech/winutil -Version : $($sync.version) +Author : @christitustech +Runspace : @DeveloperDurp +GUI : @KonTy +MicroWin : @KonTy +GitHub : ChrisTitusTech/winutil +Version : $($sync.version) "@ Show-CustomDialog -Message $authorInfo -Width 400 }) diff --git a/winutil.ps1 b/winutil.ps1 index 5c119f62..682c746b 100644 --- a/winutil.ps1 +++ b/winutil.ps1 @@ -8,7 +8,7 @@ Author : Chris Titus @christitustech Runspace Author: @DeveloperDurp GitHub : https://github.com/ChrisTitusTech - Version : 24.06.20 + Version : 24.06.25 #> param ( [switch]$Debug, @@ -45,7 +45,7 @@ Add-Type -AssemblyName System.Windows.Forms # Variable to sync between runspaces $sync = [Hashtable]::Synchronized(@{}) $sync.PSScriptRoot = $PSScriptRoot -$sync.version = "24.06.20" +$sync.version = "24.06.25" $sync.configs = @{} $sync.ProcessRunning = $false @@ -170,60 +170,6 @@ function Get-LocalizedYesNo { # Return the array of characters return $charactersArray } - - -function Get-LocalizedYesNoTakeown { - <# - .SYNOPSIS - This function runs takeown.exe and captures its output to extract yes no in a localized Windows - - .DESCRIPTION - The function retrieves lines from the output of takeown.exe until there are at least 2 characters - captured in a specific format, such as "Yes=, No=". - - .EXAMPLE - $yesNoArray = Get-LocalizedYesNo - Write-Host "Yes=$($yesNoArray[0]), No=$($yesNoArray[1])" - #> - - # Run takeown.exe and capture its output - $takeownOutput = & takeown.exe /? | Out-String - - # Parse the output and retrieve lines until there are at least 2 characters in the array - $found = $false - $charactersArray = @() - foreach ($line in $takeownOutput -split "`r`n") - { - # skip everything before /D flag help - if ($found) - { - # now that /D is found start looking for a single character in double quotes - # in help text there is another string in double quotes but it is not a single character - $regexPattern = '"([a-zA-Z])"' - - $charactersArray = [regex]::Matches($line, $regexPattern) | ForEach-Object { $_.Groups[1].Value } - - # if ($charactersArray.Count -gt 0) { - # Write-Output "Extracted symbols: $($matches -join ', ')" - # } else { - # Write-Output "No matches found." - # } - - if ($charactersArray.Count -ge 2) - { - break - } - } - elseif ($line -match "/D ") - { - $found = $true - } - } - - Write-Debug "According to takeown.exe local Yes is $charactersArray[0]" - # Return the array of characters - return $charactersArray - } function Get-Oscdimg { <# @@ -1011,22 +957,6 @@ function Install-WinUtilWinget { } } } -function Invoke-MicroWin-Helper { -<# - - .SYNOPSIS - checking unit tests - - .PARAMETER Name - no parameters - - .EXAMPLE - placeholder - -#> - -} - function Test-CompatibleImage() { <# @@ -2810,17 +2740,67 @@ $cttLogoPath = @" $winutilTextBlock.Foreground = $foregroundColor $winutilTextBlock.Margin = New-Object Windows.Thickness(10, 5, 10, 5) # Add margins around the text block $stackPanel.Children.Add($winutilTextBlock) - # Add TextBlock for information with text wrapping and margins $messageTextBlock = New-Object Windows.Controls.TextBlock - $messageTextBlock.Text = $Message $messageTextBlock.TextWrapping = [Windows.TextWrapping]::Wrap # Enable text wrapping $messageTextBlock.HorizontalAlignment = [Windows.HorizontalAlignment]::Left $messageTextBlock.VerticalAlignment = [Windows.VerticalAlignment]::Top $messageTextBlock.Margin = New-Object Windows.Thickness(10) # Add margins around the text block + + # Define the Regex to find hyperlinks formatted as HTML tags + $regex = [regex]::new('([^<]+)') + $lastPos = 0 + + # Iterate through each match and add regular text and hyperlinks + foreach ($match in $regex.Matches($Message)) { + # Add the text before the hyperlink, if any + $textBefore = $Message.Substring($lastPos, $match.Index - $lastPos) + if ($textBefore.Length -gt 0) { + $messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textBefore))) + } + + # Create and add the hyperlink + $hyperlink = New-Object Windows.Documents.Hyperlink + $hyperlink.NavigateUri = New-Object System.Uri($match.Groups[1].Value) + $hyperlink.Inlines.Add($match.Groups[2].Value) + $hyperlink.TextDecorations = [Windows.TextDecorations]::None # Remove underline + $hyperlink.Foreground = $foregroundColor + $hyperlink.Add_Click({ + param($sender, $args) + Start-Process $sender.NavigateUri.AbsoluteUri + }) + $hyperlink.Add_MouseEnter({ + param($sender, $args) + $sender.Foreground = [Windows.Media.Brushes]::LightGray + }) + $hyperlink.Add_MouseLeave({ + param($sender, $args) + $sender.Foreground = $foregroundColor + }) + + $messageTextBlock.Inlines.Add($hyperlink) + + # Update the last position + $lastPos = $match.Index + $match.Length + } + + # Add any remaining text after the last hyperlink + if ($lastPos -lt $Message.Length) { + $textAfter = $Message.Substring($lastPos) + $messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($textAfter))) + } + + # If no matches, add the entire message as a run + if ($regex.Matches($Message).Count -eq 0) { + $messageTextBlock.Inlines.Add((New-Object Windows.Documents.Run($Message))) + } + + + # Add the TextBlock to the Grid $grid.Children.Add($messageTextBlock) [Windows.Controls.Grid]::SetRow($messageTextBlock, 1) # Set the row to the second row (0-based index) + # Add OK button $okButton = New-Object Windows.Controls.Button $okButton.Content = "OK" @@ -3026,7 +3006,7 @@ function Invoke-WPFButton { "WPFclear" {Invoke-WPFPresets -preset $null -imported $true} "WPFclearWinget" {Invoke-WPFPresets -preset $null -imported $true -CheckBox "WPFInstall"} "WPFtweaksbutton" {Invoke-WPFtweaksbutton} - "WPFOOSUbutton" {Invoke-WPFOOSU -action "customize"} + "WPFOOSUbutton" {Invoke-WPFOOSU} "WPFAddUltPerf" {Invoke-WPFUltimatePerformance -State "Enabled"} "WPFRemoveUltPerf" {Invoke-WPFUltimatePerformance -State "Disabled"} "WPFundoall" {Invoke-WPFundoall} @@ -4414,45 +4394,22 @@ public class PowerManagement { function Invoke-WPFOOSU { <# .SYNOPSIS - Downloads and runs OO Shutup 10 with or without config files - .PARAMETER action - Specifies how OOSU should be started - customize: Opens the OOSU GUI - recommended: Loads and applies the recommended OOSU policies silently - undo: Resets all policies to factory silently + Downloads and runs OO Shutup 10 #> - - param ( - [ValidateSet("customize", "recommended", "undo")] - [string]$action - ) - - $OOSU_filepath = "$ENV:temp\OOSU10.exe" - - $Initial_ProgressPreference = $ProgressPreference - $ProgressPreference = "SilentlyContinue" # Disables the Progress Bar to drasticly speed up Invoke-WebRequest - Invoke-WebRequest -Uri "https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe" -OutFile $OOSU_filepath - - switch ($action) - { - "customize"{ - Write-Host "Starting OO Shutup 10 ..." - Start-Process $OOSU_filepath - } - "recommended"{ - $oosu_config = "$ENV:temp\ooshutup10_recommended.cfg" - $sync.configs.ooshutup10_recommended | Out-File -FilePath $oosu_config -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" - $sync.configs.ooshutup10_factory | Out-File -FilePath $oosu_config -Force - Write-Host "Resetting all OO Shutup 10 Policies" - Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait - } + try { + $OOSU_filepath = "$ENV:temp\OOSU10.exe" + $Initial_ProgressPreference = $ProgressPreference + $ProgressPreference = "SilentlyContinue" # Disables the Progress Bar to drasticly speed up Invoke-WebRequest + Invoke-WebRequest -Uri "https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe" -OutFile $OOSU_filepath + Write-Host "Starting OO Shutup 10 ..." + Start-Process $OOSU_filepath } - $ProgressPreference = $Initial_ProgressPreference + catch { + Write-Host "Error Downloading and Running OO Shutup 10" -ForegroundColor Red + } + finally { + $ProgressPreference = $Initial_ProgressPreference + } } function Invoke-WPFPanelAutologin { <# @@ -6315,14 +6272,6 @@ $sync.configs.applications = '{ "link": "https://www.oracle.com/java/", "winget": "EclipseAdoptium.Temurin.18.JRE" }, - "WPFInstalljava20": { - "category": "Development", - "choco": "na", - "content": "Azul Zulu JDK 20", - "description": "Azul Zulu JDK 20 is a distribution of the OpenJDK with long-term support, performance enhancements, and security updates.", - "link": "https://www.azul.com/downloads/zulu-community/", - "winget": "Azul.Zulu.20.JDK" - }, "WPFInstalljava21": { "category": "Development", "choco": "na", @@ -6643,14 +6592,6 @@ $sync.configs.applications = '{ "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", @@ -7003,6 +6944,14 @@ $sync.configs.applications = '{ "link": "https://www.plex.tv/your-media/", "winget": "Plex.PlexMediaServer" }, + "WPFInstallplexdesktop": { + "category": "Multimedia Tools", + "choco": "plex", + "content": "Plex Desktop", + "description": "Plex Desktop for Windows is the front end for Plex Media Server.", + "link": "https://www.plex.tv", + "winget": "Plex.Plex" + }, "WPFInstallPortmaster": { "category": "Pro Tools", "choco": "portmaster", @@ -8158,7 +8107,7 @@ $sync.configs.applications = '{ "WPFInstallForceAutoHDR": { "category": "Utilities", "choco": "na", - "content": "GUI That Forces Auto HDR In Unsupported Games", + "content": "ForceAutoHDR", "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" @@ -8178,6 +8127,14 @@ $sync.configs.applications = '{ "description": "NDI, or Network Device Interface, is a video connectivity standard that enables multimedia systems to identify and communicate with one another over IP and to encode, transmit, and receive high-quality, low latency, frame-accurate video and audio, and exchange metadata in real-time.", "link": "https://ndi.video/", "winget": "NDI.NDITools" + }, + "WPFInstallkicad": { + "category": "Pro Tools", + "choco": "na", + "content": "Kicad", + "description": "Kicad is an open-source EDA tool. It's a good starting point for those who want to do electrical design and is even used by professionals in the industry.", + "link": "https://www.kicad.org/", + "winget": "KiCad.KiCad" } }' | convertfrom-json $sync.configs.dns = '{ @@ -8479,7 +8436,6 @@ $sync.configs.preset = '{ "WPFTweaksHiber", "WPFTweaksHome", "WPFTweaksLoc", - "WPFTweaksOO", "WPFTweaksServices", "WPFTweaksStorage", "WPFTweaksTele", @@ -8492,7 +8448,6 @@ $sync.configs.preset = '{ ], "Minimal": [ "WPFTweaksHome", - "WPFTweaksOO", "WPFTweaksServices", "WPFTweaksTele" ] @@ -9819,11 +9774,6 @@ $sync.configs.tweaks = '{ "StartupType": "Automatic", "OriginalType": "Automatic" }, - { - "Name": "WwanSvc", - "StartupType": "Manual", - "OriginalType": "Manual" - }, { "Name": "XblAuthManager", "StartupType": "Manual", @@ -10909,20 +10859,6 @@ $sync.configs.tweaks = '{ "Invoke-WPFTweakPS7 -action \"PS5\"" ] }, - "WPFTweaksOO": { - "Content": "Run OO Shutup", - "Description": "Runs OO Shutup and applies the recommended Tweaks. https://www.oo-software.com/en/shutup10", - "category": "Essential Tweaks", - "panel": "1", - "Order": "a009_", - "ToolTip": "Runs OO Shutup and applies the recommended Tweaks https://www.oo-software.com/en/shutup10", - "InvokeScript": [ - "Invoke-WPFOOSU -action \"recommended\"" - ], - "UndoScript": [ - "Invoke-WPFOOSU -action \"undo\"" - ] - }, "WPFTweaksStorage": { "Content": "Disable Storage Sense", "Description": "Storage Sense deletes temp files automatically.", @@ -10938,17 +10874,15 @@ $sync.configs.tweaks = '{ }, "WPFTweaksRemoveEdge": { "Content": "Remove Microsoft Edge - NOT RECOMMENDED", - "Description": "Removes MS Edge when it gets reinstalled by updates.", + "Description": "Removes MS Edge when it gets reinstalled by updates. Credit: AveYo", "category": "z__Advanced Tweaks - CAUTION", "panel": "1", "Order": "a029_", "InvokeScript": [ " #:: Standalone script by AveYo Source: https://raw.githubusercontent.com/AveYo/fox/main/Edge_Removal.bat - - curl.exe -s \"https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/edgeremoval.bat\" -o $ENV:temp\\edgeremoval.bat + Invoke-WebRequest -Uri \"https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/edgeremoval.bat\" -OutFile \"$ENV:TEMP\\edgeremoval.bat\" Start-Process $ENV:temp\\edgeremoval.bat - " ], "UndoScript": [ @@ -11003,12 +10937,12 @@ $sync.configs.tweaks = '{ "WPFTweaksDisableLMS1": { "Content": "Disable Intel MM (vPro LMS)", "Description": "Intel LMS service is always listening on all ports and could be a huge security risk. There is no need to run LMS on home machines and even in the Enterprise there are better solutions.", - "category": "Essential Tweaks", + "category": "z__Advanced Tweaks - CAUTION", "panel": "1", - "Order": "a0015_", + "Order": "a026_", "InvokeScript": [ " - Write-Host \"Kill OneDrive process\" + Write-Host \"Kill LMS\" $serviceName = \"LMS\" Write-Host \"Stopping and disabling service: $serviceName\" Stop-Service -Name $serviceName -Force -ErrorAction SilentlyContinue; @@ -11052,8 +10986,7 @@ $sync.configs.tweaks = '{ ], "UndoScript": [ " - Write-Host \"Install Microsoft Edge\" - taskkill.exe /F /IM \"OneDrive.exe\" + Write-Host \"LMS vPro needs to be redownloaded from intel.com\" " ] @@ -11680,7 +11613,7 @@ $sync.configs.tweaks = '{ "Type": "Toggle" }, "WPFOOSUbutton": { - "Content": "Customize OO Shutup Tweaks", + "Content": "Run OO Shutup 10", "category": "z__Advanced Tweaks - CAUTION", "panel": "1", "Order": "a039_", @@ -11738,922 +11671,6 @@ $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 - -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 - -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.1438 -# 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-2024 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 - -Y001 + -Y002 + -Y003 + -Y004 + -Y005 + -Y006 + -Y007 + -C012 + -C002 + -C013 + -C007 + -C008 + -C009 + -C010 + -C011 + -C014 + -C015 + -C101 + -C201 + -C102 + -C103 + -C203 + -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 + -M003 + -M015 + -M016 + -M017 - -M018 + -M019 - -M020 + -M021 + -M022 + -M001 + -M004 + -M005 + -M024 + -M026 + -M027 + -M012 - -M013 - -M014 - -N001 -' -$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 - -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 - -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.1438 -# 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-2024 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 - -Y001 + -Y002 + -Y003 + -Y004 + -Y005 + -Y006 + -Y007 + -C012 + -C002 + -C013 + -C007 + -C008 + -C009 + -C010 + -C011 + -C014 + -C015 + -C101 + -C201 + -C102 + -C103 + -C203 + -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 + -M003 + -M015 + -M016 + -M017 - -M018 + -M019 - -M020 + -M021 + -M022 + -M001 + -M004 + -M005 + -M024 + -M026 + -M027 + -M012 - -M013 - -M014 - -N001 -' $inputXML = ' - + - + @@ -13555,9 +12584,6 @@ $inputXML = ' - - - @@ -13587,15 +12613,15 @@ $inputXML = ' + + + - - - @@ -13802,15 +12828,15 @@ $inputXML = ' + + + - - - @@ -13983,6 +13009,9 @@ $inputXML = ' + + + @@ -14037,6 +13066,9 @@ $inputXML = ' + + + @@ -14194,10 +13226,7 @@ $inputXML = ' - - - - + @@ -14472,6 +13501,8 @@ $inputXML = ' + + @@ -14490,7 +13521,6 @@ $inputXML = '