Compile Cleanup and Tweak Fixes (#2062)

* Simple improvements to 'applications.json' File (#2043)

* Replace Spaces with Tabs in 'applications.json' File

* Correct 'AFFiNE' App Entry's Winget ID from 'AFFiNE.stable' to 'ToEverything.AFFiNE' in 'applications.json' File

* Compile Winutil

* Tweaks (#2051)

* Fix Numlock toggle (#2044)

* Fix Numlock at login

* Compile Winutil

---------

Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>

* Compile Winutil

* fix typo (#2041)

* Compile Winutil

* Update README.md

* * Fixed .getignore issues, it's it not enough to just add to gitgnore if it was already tracked by git it will be continued to be tracked by git, so you have to 'git rm' it
* Fixed ooshutup, there is no need to download configs, they are
  already compiled into winutil
+ Added a tweak to remove and disable Intel LMS, which have been
  identifed as a potential backdoor into Windows.

* Update winget.ps1

* + Added new release actions, every time we merge into main it will
  create a release by extracting the version fromwinutil.ps1 and setting
  all appropriate tags and versions

* fix merge

* add compile back in

* Update action to latest tools

* Ensure Compile is finished

---------

Co-authored-by: Chris Titus <contact@christitus.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: nikolan <94351312+nikolan123@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: Chris Titus <dfm.titus@gmail.com>

* Compile Winutil

* Rework Compile (#2061)

* Compile Winutil

---------

Co-authored-by: Mr.k <mineshtine28546271@gmail.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: nikolan <94351312+nikolan123@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: Martin Wiethan <47688561+Marterich@users.noreply.github.com>
This commit is contained in:
Chris Titus 2024-06-10 15:24:12 -05:00 committed by GitHub
parent 1325ef54b8
commit 2b80e14bf9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 729 additions and 1338 deletions

24
.github/workflows/compile.yaml vendored Normal file
View File

@ -0,0 +1,24 @@
name: Compile
on:
push:
branches:
- main
- test*
jobs:
build-runspace:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: Compile project
shell: pwsh
run: |
Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1
continue-on-error: false # Directly fail the job on error, removing the need for a separate check
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Compile Winutil
if: success()

View File

@ -1,24 +1,42 @@
name: Update Branch name: Release WinUtil
on: on:
push: workflow_run:
branches: workflows: ["Compile WinUtil"] #Ensure Compile winget.ps1 is done
- main types:
- test* - completed
jobs: jobs:
build-runspace: build-runspace:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout Repository
with: uses: actions/checkout@v4
ref: ${{ github.head_ref }}
- name: Compile project - name: Extract Version from winutil.ps1
shell: pwsh id: extract_version
run: | run: |
Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1 $version = ''
continue-on-error: false # Directly fail the job on error, removing the need for a separate check Get-Content ./winutil.ps1 -TotalCount 30 | ForEach-Object {
- uses: stefanzweifel/git-auto-commit-action@v5 if ($_ -match 'Version\s*:\s*(\d{2}\.\d{2}\.\d{2})') {
$version = $matches[1]
echo "version=$version" >> $GITHUB_ENV
break
}
}
if (-not $version) {
Write-Error "Version not found in winutil.ps1"
exit 1
}
shell: pwsh
- name: Create and Upload Release
id: create_release
uses: softprops/action-gh-release@v2
with: with:
commit_message: Compile Winutil tag_name: ${{ steps.extract_version.outputs.version }}
if: success() name: Release ${{ steps.extract_version.outputs.version }}
body_path: path/to/release-notes.md
files: ./winutil.ps1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,30 +1,38 @@
param (
[switch]$Debug
)
$OFS = "`r`n" $OFS = "`r`n"
$scriptname = "winutil.ps1" $scriptname = "winutil.ps1"
# Variable to sync between runspaces # Variable to sync between runspaces
$sync = [Hashtable]::Synchronized(@{}) $sync = [Hashtable]::Synchronized(@{})
$sync.PSScriptRoot = $PSScriptRoot $sync.PSScriptRoot = $PSScriptRoot
$sync.configs = @{} $sync.configs = @{}
if (Test-Path -Path "$($scriptname)") $header = @"
{
Remove-Item -Force "$($scriptname)"
}
Write-output '
################################################################################################################ ################################################################################################################
### ### ### ###
### WARNING: This file is automatically generated DO NOT modify this file directly as it will be overwritten ### ### WARNING: This file is automatically generated DO NOT modify this file directly as it will be overwritten ###
### ### ### ###
################################################################################################################ ################################################################################################################
' | Out-File ./$scriptname -Append -Encoding ascii "@
(Get-Content .\scripts\start.ps1).replace('#{replaceme}',"$(Get-Date -Format yy.MM.dd)") | Out-File ./$scriptname -Append -Encoding ascii # Create the script in memory.
$script_content = [System.Collections.Generic.List[string]]::new()
Write-Progress -Activity "Compiling" -Status "Adding: Header" -PercentComplete 5
$script_content.Add($header)
Write-Progress -Activity "Compiling" -Status "Adding: Version" -PercentComplete 10
$script_content.Add($(Get-Content .\scripts\start.ps1).replace('#{replaceme}',"$(Get-Date -Format yy.MM.dd)"))
Write-Progress -Activity "Compiling" -Status "Adding: Functions" -PercentComplete 20
Get-ChildItem .\functions -Recurse -File | ForEach-Object { Get-ChildItem .\functions -Recurse -File | ForEach-Object {
Get-Content $psitem.FullName | Out-File ./$scriptname -Append -Encoding ascii $script_content.Add($(Get-Content $psitem.FullName))
} }
Write-Progress -Activity "Compiling" -Status "Adding: Config *.json" -PercentComplete 40
Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach-Object { Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach-Object {
$json = (Get-Content $psitem.FullName).replace("'","''") $json = (Get-Content $psitem.FullName).replace("'","''")
# Replace every XML Special Character so it'll render correctly in final build # Replace every XML Special Character so it'll render correctly in final build
@ -49,14 +57,18 @@ Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach-
} }
} }
# The replace at the end is required, as without it the output of converto-json will be somewhat weird for Multiline String # The replace at the end is required, as without it the output of converto-json will be somewhat weird for Multiline String
# Most Notably is the scripts in json files, make=ing it harder for users who want to review these scripts that are found in the final compiled script # Most Notably is the scripts in json files, making it harder for users who want to review these scripts that are found in the final compiled script
$json = ($jsonAsObject | convertto-json -Depth 3).replace('\r\n',"`r`n") $json = ($jsonAsObject | convertto-json -Depth 3).replace('\r\n',"`r`n")
$sync.configs.$($psitem.BaseName) = $json | convertfrom-json $sync.configs.$($psitem.BaseName) = $json | convertfrom-json
Write-output "`$sync.configs.$($psitem.BaseName) = '$json' `| convertfrom-json" | Out-File ./$scriptname -Append -Encoding ascii $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 { 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 $script_content.Add($(Write-output "`$sync.configs.$($psitem.BaseName) = '$(Get-Content $PSItem.FullName)'"))
} }
$xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''") $xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''")
@ -64,29 +76,34 @@ $xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''")
# Dot-source the Get-TabXaml function # Dot-source the Get-TabXaml function
. .\functions\private\Get-TabXaml.ps1 . .\functions\private\Get-TabXaml.ps1
## Xaml Manipulation Write-Progress -Activity "Compiling" -Status "Building: Xaml " -PercentComplete 75
$tabColumns = Get-TabXaml "applications" 5 $appXamlContent = Get-TabXaml "applications" 5
$tabColumns | Out-File -FilePath ".\xaml\inputApp.xaml" -Encoding ascii $tweaksXamlContent = Get-TabXaml "tweaks"
$tabColumns = Get-TabXaml "tweaks" $featuresXamlContent = Get-TabXaml "feature"
$tabColumns | Out-File -FilePath ".\xaml\inputTweaks.xaml" -Encoding ascii
$tabColumns = Get-TabXaml "feature"
$tabColumns | Out-File -FilePath ".\xaml\inputFeatures.xaml" -Encoding ascii
# Assuming inputApp.xaml is in the same directory as main.ps1
$appXamlPath = Join-Path -Path $PSScriptRoot -ChildPath "xaml/inputApp.xaml"
$tweaksXamlPath = Join-Path -Path $PSScriptRoot -ChildPath "xaml/inputTweaks.xaml"
$featuresXamlPath = Join-Path -Path $PSScriptRoot -ChildPath "xaml/inputFeatures.xaml"
# Load the XAML content from inputApp.xaml
$appXamlContent = Get-Content -Path $appXamlPath -Raw
$tweaksXamlContent = Get-Content -Path $tweaksXamlPath -Raw
$featuresXamlContent = Get-Content -Path $featuresXamlPath -Raw
Write-Progress -Activity "Compiling" -Status "Adding: Xaml " -PercentComplete 90
# Replace the placeholder in $inputXML with the content of inputApp.xaml # Replace the placeholder in $inputXML with the content of inputApp.xaml
$xaml = $xaml -replace "{{InstallPanel_applications}}", $appXamlContent $xaml = $xaml -replace "{{InstallPanel_applications}}", $appXamlContent
$xaml = $xaml -replace "{{InstallPanel_tweaks}}", $tweaksXamlContent $xaml = $xaml -replace "{{InstallPanel_tweaks}}", $tweaksXamlContent
$xaml = $xaml -replace "{{InstallPanel_features}}", $featuresXamlContent $xaml = $xaml -replace "{{InstallPanel_features}}", $featuresXamlContent
Write-output "`$inputXML = '$xaml'" | Out-File ./$scriptname -Append -Encoding ascii $script_content.Add($(Write-output "`$inputXML = '$xaml'"))
Get-Content .\scripts\main.ps1 | Out-File ./$scriptname -Append -Encoding ascii $script_content.Add($(Get-Content .\scripts\main.ps1))
if ($Debug){
Write-Progress -Activity "Compiling" -Status "Writing debug files" -PercentComplete 95
$appXamlContent | Out-File -FilePath ".\xaml\inputApp.xaml" -Encoding ascii
$tweaksXamlContent | Out-File -FilePath ".\xaml\inputTweaks.xaml" -Encoding ascii
$featuresXamlContent | Out-File -FilePath ".\xaml\inputFeatures.xaml" -Encoding ascii
}
else {
Write-Progress -Activity "Compiling" -Status "Removing temporary files" -PercentComplete 99
Remove-Item ".\xaml\inputApp.xaml" -ErrorAction SilentlyContinue
Remove-Item ".\xaml\inputTweaks.xaml" -ErrorAction SilentlyContinue
Remove-Item ".\xaml\inputFeatures.xaml" -ErrorAction SilentlyContinue
}
Set-Content -Path $scriptname -Value ($script_content -join "`r`n") -Encoding ascii
Write-Progress -Activity "Compiling" -Completed

View File

@ -32,10 +32,9 @@ or by executing:
iwr -useb https://christitus.com/win | iex iwr -useb https://christitus.com/win | iex
``` ```
if for some reason this site is not reachable from your country please try running it directly from github if for some reason this site is not reachable from your country please try running it directly from github (replace 24.06.07 with current release that you are interested in)
``` ```
irm https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/winutil.ps1 | iex irm "https://raw.githubusercontent.com/ChrisTitusTech/winutil/24.06.07/winutil.ps1" | iex
``` ```
#### Automation #### Automation

View File

@ -37,7 +37,7 @@
"content": "AFFiNE", "content": "AFFiNE",
"description": "AFFiNE is an open source alternative to Notion. Write, draw, plan all at once. Selfhost it to sync across devices.", "description": "AFFiNE is an open source alternative to Notion. Write, draw, plan all at once. Selfhost it to sync across devices.",
"link": "https://affine.pro/", "link": "https://affine.pro/",
"winget": "AFFiNE.stable" "winget": "ToEverything.AFFiNE"
}, },
"WPFInstallaimp": { "WPFInstallaimp": {
"category": "Multimedia Tools", "category": "Multimedia Tools",

View File

@ -1,5 +1,5 @@
############################################################################ ############################################################################
# This file was created with O&O ShutUp10++ V1.9.1436 # This file was created with O&O ShutUp10++ V1.9.1438
# and can be imported onto another computer. # and can be imported onto another computer.
# #
# Download the application at https://www.oo-software.com/shutup10 # Download the application at https://www.oo-software.com/shutup10
@ -13,7 +13,7 @@
# user does not get any feedback about the import. # user does not get any feedback about the import.
# #
# We are always happy to answer any questions you may have! # We are always happy to answer any questions you may have!
# © 2015-2023 O&O Software GmbH, Berlin. All rights reserved. # © 2015-2024 O&O Software GmbH, Berlin. All rights reserved.
# https://www.oo-software.com/ # https://www.oo-software.com/
############################################################################ ############################################################################
@ -179,6 +179,8 @@ C015 +
C101 + C101 +
C201 + C201 +
C102 + C102 +
C103 +
C203 +
L001 + L001 +
L003 + L003 +
L004 - L004 -
@ -208,9 +210,9 @@ S014 -
K001 + K001 +
K002 + K002 +
K005 + K005 +
M003 - M003 +
M015 + M015 +
M016 - M016 +
M017 - M017 -
M018 + M018 +
M019 - M019 -
@ -221,6 +223,8 @@ M001 +
M004 + M004 +
M005 + M005 +
M024 + M024 +
M026 +
M027 +
M012 - M012 -
M013 - M013 -
M014 - M014 -

View File

@ -2232,7 +2232,7 @@
"Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications", "Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Checked": "True", "Checked": "False",
"Order": "a001_", "Order": "a001_",
"InvokeScript": [ "InvokeScript": [
" "
@ -2405,6 +2405,64 @@
" "
] ]
}, },
"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",
"panel": "1",
"Order": "a0015_",
"InvokeScript": [
"
Write-Host \"Kill OneDrive process\"
$serviceName = \"LMS\"
Write-Host \"Stopping and disabling service: $serviceName\"
Stop-Service -Name $serviceName -Force -ErrorAction SilentlyContinue;
Set-Service -Name $serviceName -StartupType Disabled -ErrorAction SilentlyContinue;
Write-Host \"Removing service: $serviceName\";
sc.exe delete $serviceName;
Write-Host \"Removing LMS driver packages\";
$lmsDriverPackages = Get-ChildItem -Path \"C:\\Windows\\System32\\DriverStore\\FileRepository\" -Recurse -Filter \"lms.inf*\";
foreach ($package in $lmsDriverPackages) {
Write-Host \"Removing driver package: $($package.Name)\";
pnputil /delete-driver $($package.Name) /uninstall /force;
}
if ($lmsDriverPackages.Count -eq 0) {
Write-Host \"No LMS driver packages found in the driver store.\";
} else {
Write-Host \"All found LMS driver packages have been removed.\";
}
Write-Host \"Searching and deleting LMS executable files\";
$programFilesDirs = @(\"C:\\Program Files\", \"C:\\Program Files (x86)\");
$lmsFiles = @();
foreach ($dir in $programFilesDirs) {
$lmsFiles += Get-ChildItem -Path $dir -Recurse -Filter \"LMS.exe\" -ErrorAction SilentlyContinue;
}
foreach ($file in $lmsFiles) {
Write-Host \"Taking ownership of file: $($file.FullName)\";
& icacls $($file.FullName) /grant Administrators:F /T /C /Q;
& takeown /F $($file.FullName) /A /R /D Y;
Write-Host \"Deleting file: $($file.FullName)\";
Remove-Item $($file.FullName) -Force -ErrorAction SilentlyContinue;
}
if ($lmsFiles.Count -eq 0) {
Write-Host \"No LMS.exe files found in Program Files directories.\";
} else {
Write-Host \"All found LMS.exe files have been deleted.\";
}
Write-Host 'Intel LMS vPro service has been disabled, removed, and blocked.';
"
],
"UndoScript": [
"
Write-Host \"Install Microsoft Edge\"
taskkill.exe /F /IM \"OneDrive.exe\"
"
]
},
"WPFTweaksRemoveOnedrive": { "WPFTweaksRemoveOnedrive": {
"Content": "Remove OneDrive", "Content": "Remove OneDrive",
"Description": "Copies OneDrive files to Default Home Folders and Uninstalls it.", "Description": "Copies OneDrive files to Default Home Folders and Uninstalls it.",

View File

@ -28,13 +28,13 @@ function Invoke-WPFOOSU {
} }
"recommended"{ "recommended"{
$oosu_config = "$ENV:temp\ooshutup10_recommended.cfg" $oosu_config = "$ENV:temp\ooshutup10_recommended.cfg"
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_recommended.cfg" -OutFile $oosu_config $sync.configs.ooshutup10_recommended | Out-File -FilePath $oosu_config -Force
Write-Host "Applying recommended OO Shutup 10 Policies" Write-Host "Applying recommended OO Shutup 10 Policies"
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
} }
"undo"{ "undo"{
$oosu_config = "$ENV:temp\ooshutup10_factory.cfg" $oosu_config = "$ENV:temp\ooshutup10_factory.cfg"
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_factory.cfg" -OutFile $oosu_config $sync.configs.ooshutup10_factory | Out-File -FilePath $oosu_config -Force
Write-Host "Resetting all OO Shutup 10 Policies" Write-Host "Resetting all OO Shutup 10 Policies"
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
} }

View File

@ -1,10 +1,8 @@
################################################################################################################ ################################################################################################################
### ### ### ###
### WARNING: This file is automatically generated DO NOT modify this file directly as it will be overwritten ### ### WARNING: This file is automatically generated DO NOT modify this file directly as it will be overwritten ###
### ### ### ###
################################################################################################################ ################################################################################################################
<# <#
.NOTES .NOTES
Author : Chris Titus @christitustech Author : Chris Titus @christitustech
@ -4442,13 +4440,13 @@ function Invoke-WPFOOSU {
} }
"recommended"{ "recommended"{
$oosu_config = "$ENV:temp\ooshutup10_recommended.cfg" $oosu_config = "$ENV:temp\ooshutup10_recommended.cfg"
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_recommended.cfg" -OutFile $oosu_config $sync.configs.ooshutup10_recommended | Out-File -FilePath $oosu_config -Force
Write-Host "Applying recommended OO Shutup 10 Policies" Write-Host "Applying recommended OO Shutup 10 Policies"
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
} }
"undo"{ "undo"{
$oosu_config = "$ENV:temp\ooshutup10_factory.cfg" $oosu_config = "$ENV:temp\ooshutup10_factory.cfg"
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_factory.cfg" -OutFile $oosu_config $sync.configs.ooshutup10_factory | Out-File -FilePath $oosu_config -Force
Write-Host "Resetting all OO Shutup 10 Policies" Write-Host "Resetting all OO Shutup 10 Policies"
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
} }
@ -5386,7 +5384,7 @@ $sync.configs.applications = '{
"content": "AFFiNE", "content": "AFFiNE",
"description": "AFFiNE is an open source alternative to Notion. Write, draw, plan all at once. Selfhost it to sync across devices.", "description": "AFFiNE is an open source alternative to Notion. Write, draw, plan all at once. Selfhost it to sync across devices.",
"link": "https://affine.pro/", "link": "https://affine.pro/",
"winget": "AFFiNE.stable" "winget": "ToEverything.AFFiNE"
}, },
"WPFInstallaimp": { "WPFInstallaimp": {
"category": "Multimedia Tools", "category": "Multimedia Tools",
@ -10789,7 +10787,7 @@ $sync.configs.tweaks = '{
"Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications", "Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Checked": "True", "Checked": "False",
"Order": "a001_", "Order": "a001_",
"InvokeScript": [ "InvokeScript": [
" "
@ -10961,6 +10959,64 @@ $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",
"panel": "1",
"Order": "a0015_",
"InvokeScript": [
"
Write-Host \"Kill OneDrive process\"
$serviceName = \"LMS\"
Write-Host \"Stopping and disabling service: $serviceName\"
Stop-Service -Name $serviceName -Force -ErrorAction SilentlyContinue;
Set-Service -Name $serviceName -StartupType Disabled -ErrorAction SilentlyContinue;
Write-Host \"Removing service: $serviceName\";
sc.exe delete $serviceName;
Write-Host \"Removing LMS driver packages\";
$lmsDriverPackages = Get-ChildItem -Path \"C:\\Windows\\System32\\DriverStore\\FileRepository\" -Recurse -Filter \"lms.inf*\";
foreach ($package in $lmsDriverPackages) {
Write-Host \"Removing driver package: $($package.Name)\";
pnputil /delete-driver $($package.Name) /uninstall /force;
}
if ($lmsDriverPackages.Count -eq 0) {
Write-Host \"No LMS driver packages found in the driver store.\";
} else {
Write-Host \"All found LMS driver packages have been removed.\";
}
Write-Host \"Searching and deleting LMS executable files\";
$programFilesDirs = @(\"C:\\Program Files\", \"C:\\Program Files (x86)\");
$lmsFiles = @();
foreach ($dir in $programFilesDirs) {
$lmsFiles += Get-ChildItem -Path $dir -Recurse -Filter \"LMS.exe\" -ErrorAction SilentlyContinue;
}
foreach ($file in $lmsFiles) {
Write-Host \"Taking ownership of file: $($file.FullName)\";
& icacls $($file.FullName) /grant Administrators:F /T /C /Q;
& takeown /F $($file.FullName) /A /R /D Y;
Write-Host \"Deleting file: $($file.FullName)\";
Remove-Item $($file.FullName) -Force -ErrorAction SilentlyContinue;
}
if ($lmsFiles.Count -eq 0) {
Write-Host \"No LMS.exe files found in Program Files directories.\";
} else {
Write-Host \"All found LMS.exe files have been deleted.\";
}
Write-Host ''Intel LMS vPro service has been disabled, removed, and blocked.'';
"
],
"UndoScript": [
"
Write-Host \"Install Microsoft Edge\"
taskkill.exe /F /IM \"OneDrive.exe\"
"
]
},
"WPFTweaksRemoveOnedrive": { "WPFTweaksRemoveOnedrive": {
"Content": "Remove OneDrive", "Content": "Remove OneDrive",
"Description": "Copies OneDrive files to Default Home Folders and Uninstalls it.", "Description": "Copies OneDrive files to Default Home Folders and Uninstalls it.",
@ -11869,7 +11925,7 @@ M013 -
M014 - M014 -
N001 -' N001 -'
$sync.configs.ooshutup10_recommended = '############################################################################ $sync.configs.ooshutup10_recommended = '############################################################################
# This file was created with O&O ShutUp10++ V1.9.1436 # This file was created with O&O ShutUp10++ V1.9.1438
# and can be imported onto another computer. # and can be imported onto another computer.
# #
# Download the application at https://www.oo-software.com/shutup10 # Download the application at https://www.oo-software.com/shutup10
@ -11883,7 +11939,7 @@ $sync.configs.ooshutup10_recommended = '########################################
# user does not get any feedback about the import. # user does not get any feedback about the import.
# #
# We are always happy to answer any questions you may have! # We are always happy to answer any questions you may have!
# ? 2015-2023 O&O Software GmbH, Berlin. All rights reserved. # ? 2015-2024 O&O Software GmbH, Berlin. All rights reserved.
# https://www.oo-software.com/ # https://www.oo-software.com/
############################################################################ ############################################################################
@ -12049,6 +12105,8 @@ C015 +
C101 + C101 +
C201 + C201 +
C102 + C102 +
C103 +
C203 +
L001 + L001 +
L003 + L003 +
L004 - L004 -
@ -12078,9 +12136,9 @@ S014 -
K001 + K001 +
K002 + K002 +
K005 + K005 +
M003 - M003 +
M015 + M015 +
M016 - M016 +
M017 - M017 -
M018 + M018 +
M019 - M019 -
@ -12091,6 +12149,466 @@ M001 +
M004 + M004 +
M005 + M005 +
M024 + 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 <path to file>
#
# 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 <path to file>
#
# 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 - M012 -
M013 - M013 -
M014 - M014 -
@ -13895,7 +14413,6 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
</StackPanel> </StackPanel>
</Border> </Border>
</Grid> </Grid>
</ScrollViewer> </ScrollViewer>
@ -13916,7 +14433,8 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
<Border Grid.Row="1" Grid.Column="0"> <Border Grid.Row="1" Grid.Column="0">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True"> <StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<Label Name="WPFLabelEssentialTweaks" Content="Essential Tweaks" FontSize="16"/> <Label Name="WPFLabelEssentialTweaks" Content="Essential Tweaks" FontSize="16"/>
<CheckBox Name="WPFTweaksRestorePoint" Content="Create Restore Point" IsChecked="True" Margin="5,0" ToolTip="Creates a restore point at runtime in case a revert is needed from WinUtil modifications"/> <CheckBox Name="WPFTweaksRestorePoint" Content="Create Restore Point" IsChecked="False" Margin="5,0" ToolTip="Creates a restore point at runtime in case a revert is needed from WinUtil modifications"/>
<CheckBox Name="WPFTweaksDisableLMS1" Content="Disable Intel MM (vPro LMS)" Margin="5,0" ToolTip="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."/>
<CheckBox Name="WPFTweaksDeleteTempFiles" Content="Delete Temporary Files" Margin="5,0" ToolTip="Erases TEMP Folders"/> <CheckBox Name="WPFTweaksDeleteTempFiles" Content="Delete Temporary Files" Margin="5,0" ToolTip="Erases TEMP Folders"/>
<CheckBox Name="WPFTweaksTele" Content="Disable Telemetry" Margin="5,0" ToolTip="Disables Microsoft Telemetry. Note: This will lock many Edge Browser settings. Microsoft spies heavily on you when using the Edge browser."/> <CheckBox Name="WPFTweaksTele" Content="Disable Telemetry" Margin="5,0" ToolTip="Disables Microsoft Telemetry. Note: This will lock many Edge Browser settings. Microsoft spies heavily on you when using the Edge browser."/>
<CheckBox Name="WPFTweaksAH" Content="Disable Activity History" Margin="5,0" ToolTip="This erases recent docs, clipboard, and run history."/> <CheckBox Name="WPFTweaksAH" Content="Disable Activity History" Margin="5,0" ToolTip="This erases recent docs, clipboard, and run history."/>
@ -14022,7 +14540,6 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
</StackPanel> </StackPanel>
</Border> </Border>
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="10"> <StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="10">
<Label Content="Recommended Selections:" FontSize="14" VerticalAlignment="Center"/> <Label Content="Recommended Selections:" FontSize="14" VerticalAlignment="Center"/>
<Button Name="WPFstandard" Content=" Standard " Margin="1"/> <Button Name="WPFstandard" Content=" Standard " Margin="1"/>
@ -14088,7 +14605,6 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
</StackPanel> </StackPanel>
</Border> </Border>
</Grid> </Grid>
</ScrollViewer> </ScrollViewer>
</TabItem> </TabItem>

File diff suppressed because it is too large Load Diff

View File

@ -1,43 +0,0 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="1" Grid.Column="0">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<Label Name="WPFLabelFeatures" Content="Features" FontSize="16"/>
<CheckBox Name="WPFFeaturesdotnet" Content="All .Net Framework (2,3,4)" Margin="5,0" ToolTip=".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications."/>
<CheckBox Name="WPFFeatureshyperv" Content="HyperV Virtualization" Margin="5,0" ToolTip="Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines."/>
<CheckBox Name="WPFFeatureslegacymedia" Content="Legacy Media (WMP, DirectPlay)" Margin="5,0" ToolTip="Enables legacy programs from previous versions of windows"/>
<CheckBox Name="WPFFeaturenfs" Content="NFS - Network File System" Margin="5,0" ToolTip="Network File System (NFS) is a mechanism for storing files on a network."/>
<CheckBox Name="WPFFeatureEnableSearchSuggestions" Content="Enable Search Box Web Suggestions in Registry(explorer restart)" Margin="5,0" ToolTip="Enables web suggestions when searching using Windows Search."/>
<CheckBox Name="WPFFeatureDisableSearchSuggestions" Content="Disable Search Box Web Suggestions in Registry(explorer restart)" Margin="5,0" ToolTip="Disables web suggestions when searching using Windows Search."/>
<CheckBox Name="WPFFeatureRegBackup" Content="Enable Daily Registry Backup Task 12.30am" Margin="5,0" ToolTip="Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803."/>
<CheckBox Name="WPFFeatureEnableLegacyRecovery" Content="Enable Legacy F8 Boot Recovery" Margin="5,0" ToolTip="Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes."/>
<CheckBox Name="WPFFeatureDisableLegacyRecovery" Content="Disable Legacy F8 Boot Recovery" Margin="5,0" ToolTip="Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes."/>
<CheckBox Name="WPFFeaturewsl" Content="Windows Subsystem for Linux" Margin="5,0" ToolTip="Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting."/>
<CheckBox Name="WPFFeaturesandbox" Content="Windows Sandbox" Margin="5,0" ToolTip="Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation."/>
<Button Name="WPFFeatureInstall" Content="Install Features" HorizontalAlignment = "Left" Width="150" Margin="5" Padding="20,5" />
<Label Name="WPFLabelFixes" Content="Fixes" FontSize="16"/>
<Button Name="WPFPanelAutologin" Content="Set Up Autologin" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
<Button Name="WPFFixesUpdate" Content="Reset Windows Update" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
<Button Name="WPFFixesNetwork" Content="Reset Network" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
<Button Name="WPFPanelDISM" Content="System Corruption Scan" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
<Button Name="WPFFixesWinget" Content="WinGet Reinstall" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
<Button Name="WPFRunAdobeCCCleanerTool" Content="Remove Adobe Creative Cloud" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="1">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<Label Name="WPFLabelLegacyWindowsPanels" Content="Legacy Windows Panels" FontSize="16"/>
<Button Name="WPFPanelcontrol" Content="Control Panel" HorizontalAlignment = "Left" Width="200" Margin="5" Padding="20,5" />
<Button Name="WPFPanelnetwork" Content="Network Connections" HorizontalAlignment = "Left" Width="200" Margin="5" Padding="20,5" />
<Button Name="WPFPanelpower" Content="Power Panel" HorizontalAlignment = "Left" Width="200" Margin="5" Padding="20,5" />
<Button Name="WPFPanelregion" Content="Region" HorizontalAlignment = "Left" Width="200" Margin="5" Padding="20,5" />
<Button Name="WPFPanelsound" Content="Sound Settings" HorizontalAlignment = "Left" Width="200" Margin="5" Padding="20,5" />
<Button Name="WPFPanelsystem" Content="System Properties" HorizontalAlignment = "Left" Width="200" Margin="5" Padding="20,5" />
<Button Name="WPFPaneluser" Content="User Accounts" HorizontalAlignment = "Left" Width="200" Margin="5" Padding="20,5" />
</StackPanel>
</Border>

View File

@ -1,113 +0,0 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="1" Grid.Column="0">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<Label Name="WPFLabelEssentialTweaks" Content="Essential Tweaks" FontSize="16"/>
<CheckBox Name="WPFTweaksRestorePoint" Content="Create Restore Point" IsChecked="True" Margin="5,0" ToolTip="Creates a restore point at runtime in case a revert is needed from WinUtil modifications"/>
<CheckBox Name="WPFTweaksDeleteTempFiles" Content="Delete Temporary Files" Margin="5,0" ToolTip="Erases TEMP Folders"/>
<CheckBox Name="WPFTweaksTele" Content="Disable Telemetry" Margin="5,0" ToolTip="Disables Microsoft Telemetry. Note: This will lock many Edge Browser settings. Microsoft spies heavily on you when using the Edge browser."/>
<CheckBox Name="WPFTweaksAH" Content="Disable Activity History" Margin="5,0" ToolTip="This erases recent docs, clipboard, and run history."/>
<CheckBox Name="WPFTweaksDVR" Content="Disable GameDVR" Margin="5,0" ToolTip="GameDVR is a Windows App that is a dependency for some Store Games. I&#39;ve never met someone that likes it, but it&#39;s there for the XBOX crowd."/>
<CheckBox Name="WPFTweaksHiber" Content="Disable Hibernation" Margin="5,0" ToolTip="Hibernation is really meant for laptops as it saves what&#39;s in memory before turning the pc off. It really should never be used, but some people are lazy and rely on it. Don&#39;t be like Bob. Bob likes hibernation."/>
<CheckBox Name="WPFTweaksHome" Content="Disable Homegroup" Margin="5,0" ToolTip="Disables HomeGroup - HomeGroup is a password-protected home networking service that lets you share your stuff with other PCs that are currently running and connected to your network."/>
<CheckBox Name="WPFTweaksLoc" Content="Disable Location Tracking" Margin="5,0" ToolTip="Disables Location Tracking...DUH!"/>
<CheckBox Name="WPFTweaksStorage" Content="Disable Storage Sense" Margin="5,0" ToolTip="Storage Sense deletes temp files automatically."/>
<CheckBox Name="WPFTweaksTeredo" Content="Disable Teredo" Margin="5,0" ToolTip="Teredo network tunneling is a ipv6 feature that can cause additional latency."/>
<CheckBox Name="WPFTweaksWifi" Content="Disable Wifi-Sense" Margin="5,0" ToolTip="Wifi Sense is a spying service that phones home all nearby scanned wifi networks and your current geo location."/>
<CheckBox Name="WPFTweaksEndTaskOnTaskbar" Content="Enable End Task With Right Click" Margin="5,0" ToolTip="Enables option to end task when right clicking a program in the taskbar"/>
<CheckBox Name="WPFTweaksDiskCleanup" Content="Run Disk Cleanup" Margin="5,0" ToolTip="Runs Disk Cleanup on Drive C: and removes old Windows Updates."/>
<CheckBox Name="WPFTweaksOO" Content="Run OO Shutup" Margin="5,0" ToolTip="Runs OO Shutup and applies the recommended Tweaks. https://www.oo-software.com/en/shutup10"/>
<CheckBox Name="WPFTweaksPowershell7" Content="Replace Default Powershell 5 to Powershell 7" Margin="5,0" ToolTip="This will edit the config file of the Windows Terminal Replacing the Powershell 5 to Powershell 7 and install Powershell 7 if necessary"/>
<CheckBox Name="WPFToggleTweaksLaptopHybernation" Content="Set Hibernation as default (good for laptops)" Margin="5,0" ToolTip="Most modern laptops have connected stadby enabled which drains the battery, this sets hibernation as default which will not drain the battery. See issue https://github.com/ChrisTitusTech/winutil/issues/1399"/>
<CheckBox Name="WPFTweaksServices" Content="Set Services to Manual" Margin="5,0" ToolTip="Turns a bunch of system services to manual that don&#39;t need to be running all the time. This is pretty harmless as if the service is needed, it will simply start on demand."/>
<Label Name="WPFLabelAdvancedTweaksCAUTION" Content="Advanced Tweaks - CAUTION" FontSize="16"/>
<CheckBox Name="WPFTweaksBlockAdobeNet" Content="Adobe Network Block" Margin="5,0" ToolTip="Reduce user interruptions by selectively blocking connections to Adobe&#39;s activation and telemetry servers. "/>
<CheckBox Name="WPFTweaksDebloatAdobe" Content="Adobe Debloat" Margin="5,0" ToolTip="Manages Adobe Services, Adobe Desktop Service, and Acrobat Updates"/>
<CheckBox Name="WPFTweaksDisableipsix" Content="Disable IPv6" Margin="5,0" ToolTip="Disables IPv6."/>
<CheckBox Name="WPFTweaksEnableipsix" Content="Enable IPv6" Margin="5,0" ToolTip="Enables IPv6."/>
<CheckBox Name="WPFTweaksDisableFSO" Content="Disable Fullscreen Optimizations" Margin="5,0" ToolTip="Disables FSO in all applications. NOTE: This will disable Color Management in Exclusive Fullscreen"/>
<CheckBox Name="WPFTweaksRemoveCopilot" Content="Disable Microsoft Copilot" Margin="5,0" ToolTip="Disables MS Copilot AI built into Windows since 23H2."/>
<CheckBox Name="WPFTweaksDisableNotifications" Content="Disable Notification Tray/Calendar" Margin="5,0" ToolTip="Disables all Notifications INCLUDING Calendar"/>
<CheckBox Name="WPFTweaksDisplay" Content="Set Display for Performance" Margin="5,0" ToolTip="Sets the system preferences to performance. You can do this manually with sysdm.cpl as well."/>
<CheckBox Name="WPFTweaksRightClickMenu" Content="Set Classic Right-Click Menu " Margin="5,0" ToolTip="Great Windows 11 tweak to bring back good context menus when right clicking things in explorer."/>
<CheckBox Name="WPFTweaksUTC" Content="Set Time to UTC (Dual Boot)" Margin="5,0" ToolTip="Essential for computers that are dual booting. Fixes the time sync with Linux Systems."/>
<CheckBox Name="WPFTweaksDeBloat" Content="Remove ALL MS Store Apps - NOT RECOMMENDED" Margin="5,0" ToolTip="USE WITH CAUTION!!!!! This will remove ALL Microsoft store apps other than the essentials to make winget work. Games installed by MS Store ARE INCLUDED!"/>
<CheckBox Name="WPFTweaksRemoveEdge" Content="Remove Microsoft Edge - NOT RECOMMENDED" Margin="5,0" ToolTip="Removes MS Edge when it gets reinstalled by updates."/>
<CheckBox Name="WPFTweaksRemoveOnedrive" Content="Remove OneDrive" Margin="5,0" ToolTip="Copies OneDrive files to Default Home Folders and Uninstalls it."/>
<Button Name="WPFOOSUbutton" Content="Customize OO Shutup Tweaks" HorizontalAlignment = "Left" Width="220" Margin="5" Padding="20,5" />
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Label Content="DNS" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<ComboBox Name="WPFchangedns" Height="32" Width="186" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5,5">
<ComboBoxItem IsSelected="True" Content="Default"/>
<ComboBoxItem Content="DHCP"/>
<ComboBoxItem Content="Google"/>
<ComboBoxItem Content="Cloudflare"/>
<ComboBoxItem Content="Cloudflare_Malware"/>
<ComboBoxItem Content="Cloudflare_Malware_Adult"/>
<ComboBoxItem Content="Level3"/>
<ComboBoxItem Content="Open_DNS"/>
<ComboBoxItem Content="Quad9"/>
</ComboBox>
</StackPanel><Button Name="WPFTweaksbutton" Content="Run Tweaks" HorizontalAlignment = "Left" Width="160" Margin="5" Padding="20,5" />
<Button Name="WPFUndoall" Content="Undo Selected Tweaks" HorizontalAlignment = "Left" Width="160" Margin="5" Padding="20,5" />
</StackPanel>
</Border>
<Border Grid.Row="1" Grid.Column="1">
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
<Label Name="WPFLabelCustomizePreferences" Content="Customize Preferences" FontSize="16"/>
<DockPanel LastChildFill="True">
<Label Content="Dark Theme" ToolTip="Enable/Disable Dark Mode." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleDarkMode" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Bing Search in Start Menu" ToolTip="If enable then includes web search results from Bing in your Start Menu search." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleBingSearch" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="NumLock on Startup" ToolTip="Toggle the Num Lock key state when your computer starts." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleNumLock" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Verbose Logon Messages" ToolTip="Show detailed messages during the login process for troubleshooting and diagnostics." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleVerboseLogon" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Show File Extensions" ToolTip="If enabled then File extensions (e.g., .txt, .jpg) are visible." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleShowExt" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Snap Window" ToolTip="If enabled you can align windows by dragging them. | Relogin Required" HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleSnapWindow" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Snap Assist Flyout" ToolTip="If enabled then Snap preview is disabled when maximize button is hovered." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleSnapFlyout" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Snap Assist Suggestion" ToolTip="If enabled then you will get suggestions to snap other applications in the left over spaces." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleSnapSuggestion" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Mouse Acceleration" ToolTip="If Enabled then Cursor movement is affected by the speed of your physical mouse movements." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleMouseAcceleration" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Taskbar Widgets" ToolTip="If Enabled then Widgets Icon in Taskbar will be shown." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleTaskbarWidgets" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<DockPanel LastChildFill="True">
<Label Content="Sticky Keys" ToolTip="If Enabled then Sticky Keys is activated - Sticky keys is an accessibility feature of some graphical user interfaces which assists users who have physical disabilities or help users reduce repetitive strain injury." HorizontalAlignment="Left"/>
<CheckBox Name="WPFToggleStickyKeys" Style="{StaticResource ColorfulToggleSwitchStyle}" Margin="2.5,0" HorizontalAlignment="Right"/>
</DockPanel>
<Label Name="WPFLabelPerformancePlans" Content="Performance Plans" FontSize="16"/>
<Button Name="WPFAddUltPerf" Content="Add and Activate Ultimate Performance Profile" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
<Button Name="WPFRemoveUltPerf" Content="Remove Ultimate Performance Profile" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
<Label Name="WPFLabelShortcuts" Content="Shortcuts" FontSize="16"/>
<Button Name="WPFWinUtilShortcut" Content="Create WinUtil Shortcut" HorizontalAlignment = "Left" Width="300" Margin="5" Padding="20,5" />
</StackPanel>
</Border>