a8af90a112
* Several Additions to 'applications.json' File (#1865) * Add 'ditto' App to 'applications.json' File * Add 'rdcman' App to 'applications.json' File * Add 'mp3tag' App to 'applications.json' File * Add 'fan control' App to 'applications.json' File * Compile Winutil * Add 'betterbird' App to 'applications.json' File (#1876) * Compile Winutil * Added fnm to the install menu (#1879) * Compile Winutil * Update applications.json (#1883) * Compile Winutil * Simple improvement: make WinUtil's Shortcut Function Do Less (Lazier) (#1903) * Add Extra Comments to 'Invoke-WPFShortcut' to make the Logic a Bit Clearer * Make The 'Invoke-WPFShortcut' Function Lazier for Added Efficiency and to not Display False Info whenever the User Cancels the 'Save As' Operation * Compile Winutil * Update applications.jsonremove Whatsapp because it is not being maintained and is named "outdated" when installed * Update applications.json remove Whatsapp because it is not being maintained and is named "outdated" when installed * Compile Winutil * Add option to remove Microsoft Copilot AI * Add option to remove MS Copilot * Update tweaks.json * fix bugs - remove appx caused a lockup - also it looks like copilot will be the dependency for some built-in windows searches Due to this I am changing it from a removal to a disable. * Compile Winutil * remove authy authy reached EOLhttps://help.twilio.com/articles/22771146070299-User-guide-End-of-Life-EOL-for-Twilio-Authy-Desktop-app * remove authy authy reached EOL https://help.twilio.com/articles/22771146070299-User-guide-End-of-Life-EOL-for-Twilio-Authy-Desktop-app * Compile Winutil * Update applications.jsonWindhawkThe customization marketplace for Windows programshttps://www.youtube.com/watch?v=ijG0nXnO2gQ * Update applications.json Windhawk The customization marketplace for Windows programs https://www.youtube.com/watch?v=ijG0nXnO2gQ * add MSEdgeRedirect to applications.jsonperhaps a good "tweak" that could be added to Tweaks section down the road. project is foss... could be a good resource for someone with enough skills.in the meantime, does what it says it will, and does it well. * add MSEdgeRedirect to applications.json perhaps a good "tweak" that could be added to Tweaks section down the road. project is foss... could be a good resource for someone with enough skills. in the meantime, does what it says it will, and does it well. * Fix Winget Detection by doing Proper Error Handling using a Try-Catch * Fix Winget Detection by doing Proper Error Handling using a Try-Catch * Remove unnecessary Variable Initialization of 'wingetFullVersion' Co-authored-by: Martin Wiethan <47688561+Marterich@users.noreply.github.com> * Add Comments to be make The Logic a Lot More Clear to Follow and Understand * Add Another Catch Statement with some 'Write-Warning' for Extra Information * Remove StartAllBack + Adobe Debloater Tweak + Add Netbird * remove StartAllBack * Added Adobe Service Debloater Sets Adobe Services to manual for people that sadly need to work with their apps. * Add Netbird https://netbird.io * Compile Winutil * Update applications.json * Compile Winutil * Added ability to import drivers * Added ability to import drivers Added the ability to import drivers from the active installation to the MicroWin image. * Merge branch 'test-2024-04-20-2' into CW-MicroWin-240420 * Update inputXML.xaml Removed warning because of a fluke * Update Invoke-WPFMicrowin.ps1 Use the driver injection directory if it is specified and if the directory exists * Merge branch 'test-2024-04-20-2' into CW-MicroWin-240420 * Merge branch 'test-2024-04-20-2' into CW-MicroWin-240420 * Compile Winutil * Test 2024 04 20 2 | 7 additions to applications.json * 7 additions to applications.json Adds: NetLimiter - https://www.netlimiter.com OneCommander - https://www.onecommander.com Borderless Gaming - https://github.com/Codeusa/Borderless-Gaming Equalizer APO - https://sourceforge.net/projects/equalizerapo FreeFileSync - https://freefilesync.org Elgato Stream Deck - https://www.elgato.com/uk/en/s/downloads Stardock Curtains - https://www.stardock.com/products/curtains * Added Compact GUI support Link: https://github.com/IridiumIO/CompactGUI Since I wasn't sure what category to put it in, I chose Utilities. * Added ExifCleaner support Link: https://github.com/szTheory/exifcleaner * Removed trial ware additions Removed: Net Limiter One Commander Elgato: Stream Deck Stardock Curtains * Compile Winutil * add GlazeWM to applications.js (#1891) Co-authored-by: Chris Titus <contact@christitus.com> * Compile Winutil * Remove old Win7 game tweak * Compile Winutil * Test 1715290913 fix ugly ifs (#1957) * fix nested ifs * Compile Winutil * fix syntax * Compile Winutil * Add Spotify and Choco Fallback * Compile Winutil --------- Co-authored-by: ty802 <ty802@users.noreply.github.com> Co-authored-by: Chris Titus <contact@christitus.com> Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> * Compile Winutil * Fix incorrect url for jellyfin-media-player (#1912) * Compile Winutil * Update name and description for Element (#1930) - Fixed the name and description for Element to reflect the name of the client, rather than the underlying technology-Matrix. * Compile Winutil * Optimize winget download speed (#1931) * Optimize Winget Download Speed * Add Downloading Message * Compile Winutil * Include OOSU Config in winutil.ps1 (#1932) * Compile Winutil * Only install choco if needed (#1943) * Compile Winutil * Install Choco if needed * Compile Winutil * Added ForceAutoHDR application to applications.json (#1951) * Added ForceAutoHDR application to applications.json Entry added on line 2642 * Update config/applications.json Yep my bad I though games related tools should be under "Games" Co-authored-by: Mr.k <mineshtine28546271@gmail.com> --------- Co-authored-by: Mr.k <mineshtine28546271@gmail.com> * Compile Winutil * add Godot Engine to applications.json (#1933) Added Godot Engine (https://godotengine.org/). Godot Engine is a free, open-source 2D and 3D game engine with a focus on usability and flexibility. * Compile Winutil * Add GitKraken Client (#1927) Adds development utility client for git repository management * Compile Winutil * Simplified Admin Check and Added Code Comments (#1938) - Simplified the admin check by filtering the "WindowsIdentity" class for owner value and comparing against admin value - Removed the need for an if admin check by moving its commands under the if not admin check. - Added code comments * Compile Winutil * Main window handle (#1941) Condition is comparing $proc.Id with [System.IntPtr]::Zero. The Id property is an integer, representing the process ID, and it's not directly related to window handles. Instead, you should compare the MainWindowHandle property against [System.IntPtr]::Zero * Compile Winutil * Add SMPlayer to `applications.json` (#1948) * Add SMPlayer to `applications.json` * Fix formatting --------- Co-authored-by: Chris Titus <contact@christitus.com> * Compile Winutil * Adobe Network Blocking / Adobe Debloater / Tweak Fixes & more (#1954) * Added Applications AFFiNE: Open source Notion alternative with selfhostable option for syncing. Wazuh Agent: Adgent for open-source security monitoring platform * Change layout of toggles Change the layout of the toggles to first show toggles and then the content (text). - testet, works * added snap related toggles - disable snapping entirely (requires relogin of windows user) - disable suggestion to snap other windows next to the snapped window -tested * Layouted Checkboxes, redesigned Toggles & renamed RDCMan - Removed text inside toggle as it can be confusing because it sais "enable" while enabled and "disable" if disabled. The coloring should be enough to know in what state that setting is. - without the text i could make it a little bit smaller while still letting it look good. - Renamed "Remote Desktop Connection Manager (RDCMan)" to "RDCMan" because that name is shorter and also mostly used by the linked site. - layouted checkboxes so they are not more left than the title and look tidy. - tested * Disable Acrobat auto-updates - added script & undoscript to disable automatic downloads & installation of acrobat reader. The user gets a notified if there is an update available. I put some info to that inside the code * edited AFFiNE description * Tweak Adobe Debloater -disable Adobe Desktop Service by getting ownership and renaming it. - added AGMService service - disable AGMService and AGSService entirely * Block Adobe Network, Debloat Adobe & Compile - fixes order of tweaks to always run "WPFTweaksRestorePoint" first. Before it was only the case because if was one of the first letter0s of the alphabet - Fixed some stuff at Debloat Adobe & added Adobe Reader update stopper & "deactivated" Adobe Desktop Service. - Added Blocking of Adobe Servers (as of your suggestion) to it's own Tweak. - ran compile for testing & showing * undo compilation * added Note to AcrobatUpdates Management in Tweak "Debloat Adobe" * Fix Right Click Method to use accurate names * fixed my mistake in README --------- Co-authored-by: Chris Titus <contact@christitus.com> * Compile Winutil * Install flow rework (#1961) * Install flow rework Sperated Winget and Chocolatey setps when installing software add skip them when not needed * fix uninstall --------- Co-authored-by: Chris Titus <contact@christitus.com> * Compile Winutil * Made disabling Fullscreen optimizations its own tweak (#1934) * Removed "GameDVR_DXGIHonorFSEWindowsCompatible" modification from "Disable GameDVR" tweak * Created advanced tweak "Disable fullscreen optimizations" Disables fullscreen optimizations in all applications. (Which can cause problems with Color Management in Exclusive Fullscreen) * Compile Winutil * fix glaze * Compile Winutil * Fix Typo in the App Entry 'GlazeWM' in 'applications.json' File (#1958) * Reorder Tweaks * Fix ordering of Advanced Tweaks * Compile Winutil * Preset Update * Organize Tweaks * Compile Winutil * Add the pixi package manager * Add the pixi package manager * Compile Winutil * Add Arc Browser to the application list. * Add Arc Browser to the application list. * Compile Winutil * Update applications.json - Added NDI toolsNDI, or Network Device Interface, is developed by Newtek. It enables the encoding, transmission, and reception of high-quality, low latency, video and audio over IP.https://ndi.video/Apologies if I'm not doing this right. I have zero experience using Github. * Update applications.json - Added NDI tools NDI, or Network Device Interface, is developed by Newtek. It enables the encoding, transmission, and reception of high-quality, low latency, video and audio over IP. https://ndi.video/ Apologies if I'm not doing this right. I have zero experience using Github. * Compile Winutil * docs: minor spellchecking * docs: minor spellchecking * Fix scratch textbox bug * Fix scratch textbox bug * Fixing Microwin, no more errors and it creats image now without issues * Compile Winutil * Tweaks page overhaul: * Toggle page overhaul: * Modern toggles + Tweak: Disable Copilot + Tweak: Set hibernation to default (fix issue https://github.com/ChrisTitusTech/winutil/issues/1399) * Merge branch 'test-2024-04-20-2' into TweaksToggles * Compile Winutil * Able to set the Default Terminal to Powershell 7 in Windows Terminal * Run winget in open powershell window if possible and handle update * add return code reference * Seperated Logic for PS7 Profile change * Add tweak * Revert changes to last commit in Christitus Repo * Merge pull request #1 from Marterich/PS7profile Split Logic in different Script, Re-Add files with to reflect Chris's Repo * Compile Winutil * Update tweaks.json * Compile Winutil * Update tweaks.json * Compile Winutil * disables to disable * Compile Winutil * Update applications.json - Files, ditto, spotube, sagethumbs added & file converter choco variable fixed (#1996) Added Files, ditto, spotube and sagethumbs. Fixed File Converted by Adrien Allard with proper Choco variable. "files">"file-conveter" "WPFInstallfileconverter": { "category": "Utilities", "choco": "file-converter", "content": "File-Converter", "description": "File Converter is a very simple tool which allows you to convert and compress one or several file(s) using the context menu in windows explorer.", "link": "https://file-converter.io/", "winget": "AdrienAllard.FileConverter" * Compile Winutil * Winget install return code handling & Window management (#1992) * Run winget in open powershell window if possible and handle update * add return code reference * Compile Winutil * Fix typo (#1965) Co-authored-by: Chris Titus <contact@christitus.com> * Change voicemeeter URL to their newer site (#1967) * Compile Winutil * Change voicemeeter URL to newest site * Compile Winutil --------- Co-authored-by: Yuuh15 <Yuuh15@users.noreply.github.com> Co-authored-by: Chris Titus <contact@christitus.com> * Removed broken winget from applications.json (#1968) The winget does not work for vencord. The installer downloads and then fails. (#1515) * Compile Winutil * Optimize Display Behaviour of Category Labels (#1979) * Hide Category title if empty * Changed labels to a hashtable for faster access * Extract WPFNamecreation to function, fix hide all if none match * Compile Winutil * ps1 ext add * Update oosu10 config files and ad missing fileextension (#1980) Co-authored-by: Chris Titus <contact@christitus.com> * Compile Winutil * Fix fallback bug and merge choco uninstall rework (#1962) * Implement Uninstall Command for Chocolatey, and Made a Starting Point on the Automatic Upgrade when a Package is Already Installed, similar to WinGet Install Command * Add Extra Guards/Checks in 'Install-WinUtilProgramChoco' Private Function * Fix fallback bug and merge choco uninstall rework - fixed return from wrong return from winget install Install-WinUtilProgramWinget - syntax/wording cleenup in Install-WinUtilProgramWinget - fix bugs in ty802/winutil#1 after merge --------- Co-authored-by: Mr.k <mineshtine28546271@gmail.com> Co-authored-by: Chris Titus <contact@christitus.com> * Compile Winutil * Update applications.json (#1976) added qgis in right format Co-authored-by: Chris Titus <contact@christitus.com> * Compile Winutil * fix sagethumbs error * Compile Winutil --------- Co-authored-by: Mr.k <mineshtine28546271@gmail.com> Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> Co-authored-by: Melloni <66322451+MelloniDev@users.noreply.github.com> Co-authored-by: Justawildwolf <62820836+blusewill@users.noreply.github.com> Co-authored-by: MyDrift <personal@mdiana.ch> Co-authored-by: ModernTTY <165050080+ModernTTY@users.noreply.github.com> Co-authored-by: Kasim <kasim@rafique.co.uk> Co-authored-by: trenton4k <trenton4k@gmail.com> Co-authored-by: Evan Galvin <evan.galvin@blissroms.org> Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com> Co-authored-by: misspent <78914154+misspent@users.noreply.github.com> Co-authored-by: Federico Pulcino <78621373+FedeP14@users.noreply.github.com> Co-authored-by: kian yamamoto <kiany@thatnameisnotavailable.com> Co-authored-by: ty802 <ty802@users.noreply.github.com> Co-authored-by: Callum Carmicheal <callumcarmicheal@gmail.com> Co-authored-by: Rux <jonathan.e.rux@ruxunderscore.com> Co-authored-by: Martin Wiethan <47688561+Marterich@users.noreply.github.com> Co-authored-by: Andrew <121936658+7gxycn08@users.noreply.github.com> Co-authored-by: Jelle <89023848+mrjbongo@users.noreply.github.com> Co-authored-by: Marc Brooks <IDisposable@gmail.com> Co-authored-by: Hayden Plumley <mrhaydendp@gmail.com> Co-authored-by: Berrick Werkman <105836264+BKlaasWerkman@users.noreply.github.com> Co-authored-by: o-iu <168581616+o-iu@users.noreply.github.com> Co-authored-by: Luadih <50816896+Luadih@users.noreply.github.com> Co-authored-by: Morten Enemark Lund <melund@gmail.com> Co-authored-by: Pleș Alexandru <34649178+plesalex100@users.noreply.github.com> Co-authored-by: tvrepairguy <170785918+tvrepairguy@users.noreply.github.com> Co-authored-by: LazyStability <Klysmus@online.de> Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com> Co-authored-by: drabspirit <39843622+drabspirit@users.noreply.github.com> Co-authored-by: Yuri Gabriel <97139700+Yuuh15@users.noreply.github.com> Co-authored-by: Yuuh15 <Yuuh15@users.noreply.github.com> Co-authored-by: Owen <78411938+Owen-3456@users.noreply.github.com> Co-authored-by: Snoep <128747388+SnoepNFTs@users.noreply.github.com> |
||
---|---|---|
.github | ||
config | ||
functions | ||
lint | ||
logs | ||
pester | ||
releases | ||
scripts | ||
wiki | ||
xaml | ||
.gitattributes | ||
.gitignore | ||
Compile.ps1 | ||
edgeremoval.bat | ||
edgeremoval.ps1 | ||
gpedit-home.ps1 | ||
KnownIssues.md | ||
LICENSE | ||
README.md | ||
screen-install.png | ||
winget.ps1 | ||
winutil.ps1 |
Chris Titus Tech's Windows Utility
This utility is a compilation of Windows tasks I perform on each Windows system I use. It is meant to streamline installs, debloat with tweaks, troubleshoot with config, and fix Windows updates. I am extremely picky about any contributions to keep this project clean and efficient.
Usage
Winutil must be run in Admin mode because it performs system-wide tweaks. To achieve this, open PowerShell or Windows Terminal as an administrator. Here are a few ways to do it:
-
Right-Click Method:
- Right-click on the start menu.
- Choose "Windows PowerShell (Admin)" (for Windows 10) or "Terminal (Admin)" (for Windows 11).
-
Search and Launch Method:
- Press the Windows key.
- Type "PowerShell" or "Terminal" (for Windows 11).
- Press
Ctrl + Shift + Enter
to launch it with administrator privileges.
Launch Command
Simple way
irm https://christitus.com/win | iex
Courtesy of the issue raised at: #144
or by executing:
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
irm https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/winutil.ps1 | iex
Automation
Some features are avaliable through automation. This allows you to save your config file pass it to Winutil walk away and come back to a finished system. Here is how you can set it up currently with Winutil >24.01.15
- On the Install Tab, click "Get Installed", this will get all installed apps supported by Winutil on the system
- Click on the Settings cog in the upper right corner and chose Export, chose file file and location, this will export the setting file.
- Copy this file to a USB or somewhere you can use after Windows installation.
- Use Microwin tab to create a custom Windows image.
- Install the Windows image.
- In the new Windows, Open PowerShell in the admin mode and run command to automatically apply tweaks and install apps from the config file.
iex "& { $(irm christitus.com/win) } -Config [path-to-your-config] -Run"
- Have a cup of coffee! Come back when it's done.
Issues:
- If you are unable to resolve christitus.com/win and are getting errors launching the tool, it might be due to India blocking GitHub's content domain and preventing downloads. You may use a VPN or change your DNS provider to Google/Cloudflare/etc.
-
Windows Security (formerly Defender) and other anti-virus software are known to block the script. The script gets flagged due to the fact that it requires administrator privileges & makes drastic system changes.
-
If you are having TLS 1.2 issues, or are having trouble resolving
christitus.com/win
then run with the following command:
[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12;iex(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/winutil.ps1')
If you are still having issues try changing your DNS provider to 1.1.1.1 || 1.0.0.1 or 8.8.8.8 || 8.8.4.4
Support
- To morally and mentally support the project, make sure to leave a ⭐️!
- EXE Wrapper for $10 @ https://www.cttstore.com/windows-toolbox
Tutorial
Overview
-
Install
-
Install Selection: Organize programs by category and facilitate installation by enabling users to select programs and initiate the installation process with a single click.
-
Upgrade All: Upgrade all existing programs to their latest versions, ensuring users have the most up-to-date and feature-rich software.
-
Uninstall Selection: Effortlessly uninstall selected programs, providing users with a streamlined way to remove unwanted software from their system.
-
Get Installed: Retrieve a comprehensive list of installed programs on the system, offering users visibility into the software currently installed on their computer.
-
Import / Export: Enable users to import or export the selection list of programs, allowing them to save their preferred program configurations or share them with others. This feature promotes convenience and flexibility in managing program selections across different systems.
-
-
Tweaks
-
Recommended Selection: Provides pre-defined templates tailored for desktop, laptop, and minimal configurations, allowing users to select recommended settings and optimizations specific to their system type.
-
Essential Tweaks: Offers a collection of essential tweaks aimed at improving system performance, privacy, and resource utilization. These tweaks include creating a system restore point, disabling telemetry, Wi-Fi Sense, setting services to manual, disabling location tracking, and HomeGroup, among others.
-
Advanced Tweaks: Encompasses a range of various advanced power user tweaks to further optimize the system. These tweaks include removing OneDrive and Edge, disabling User Account Control (UAC), notification panel, among others.
-
Toggles: Adds easy to use, one click shortcuts for toggling dark mode, NumLock on startup, file extensions, sticky keys, among others.
-
Additional Tweaks: Introduces various other tweaks such as enabling dark mode, changing DNS settings, adding an Ultimate Performance mode, and creating shortcuts for WinUtil tools. These tweaks provide users with additional customization options to tailor their system to their preferences.
-
-
Config
-
Features: Allows users to easily install various essential components and features to enhance their Windows experience. These features include installing .NET Frameworks, enabling Hyper-V virtualization, enabling legacy media support for Windows Media Player and DirectPlay, enabling NFS (Network File System) for network file sharing, and enabling Windows Subsystem for Linux (WSL) for running Linux applications on Windows.
-
Fixes: Provides a range of helpful fixes to address common issues and improve system stability. This includes setting up autologon for seamless login experiences, resetting Windows updates to resolve update-related problems, performing a system corruption scan to detect and repair corrupted files, and resetting network settings to troubleshoot network connectivity issues.
-
Legacy Windows Panels: Includes access to legacy Windows panels from Windows 7, allowing users to access familiar and powerful tools. These panels include Control Panel for managing system settings, Network Connections for configuring network adapters and connections, Power Panel for adjusting power and sleep settings, Sound Settings for managing audio devices and settings, System Properties for viewing and modifying system information, and User Accounts for managing user profiles and account settings.
-
-
Updates:
-
Default (Out of Box) Settings: Provides the default settings that come with Windows for updates.
-
Security (Recommended) Settings: Offers recommended settings, including a slight delay of feature updates by 2 years and installation of security updates 4 days after release.
-
Disable All Updates (Not Recommended!): Allows users to disable all Windows updates, but it's not recommended due to potential security risks.
-
Video and Written Article walkthrough @ https://christitus.com/windows-tool/
Issues
If you encounter any challenges or problems with the script, I kindly request that you submit them via the "Issues" tab on the GitHub repository. By filling out the provided template, you can provide specific details about the issue, allowing me to promptly address any bugs or consider feature requests.
Contribute Code
To contribute new code, please ensure that it is submitted to the TEST BRANCH. Please note that merges will not be performed directly on the MAIN branch.
When creating pull requests, it is essential to thoroughly document all changes made. This includes documenting any additions made to the tweaks section and ensuring that corresponding undo measures are in place to remove the newly added tweaks if necessary. Failure to adhere to this format may result in denial of the pull request. Additionally, comprehensive documentation is required for all code changes. Any code lacking sufficient documentation may also be denied.
By following these guidelines, we can maintain a high standard of quality and ensure that the codebase remains organized and well-documented.
NOTE: When creating a function please include "WPF" or "WinUtil" in the name so that it can be loaded into the runspace.
Thanks to all Contributors
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.