Compare commits

...

45 Commits

Author SHA1 Message Date
Chris Titus
f4703284ef chore: Update generated dev docs (#4264) 2026-03-26 15:26:48 -05:00
Paweł Gwozdowski
0028e439b5 Cleaned up typos, fixes grammatical errors and other related fixes (#4215)
* cleaned up typo, fixes, grammatical and other related fixes (#2)

* typo in Lightshot app name

* remove trailing comma in applications.json

* consistent capitalization of Windows, WinGet - only user-facing text

	- includes update to devdocs-generator.ps1, so docs for tweaks modifying registry will have `Windows settings` rather than `windows settings`

* various fixes for typos, style, punctuation and capitalization

* capitalize 'AM'

* Update README.md

change formatting for GitHub UI interaction form code format (` `) to bold md

Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>

* typos and wording in docs

---------

Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
2026-03-26 15:26:21 -05:00
Gabi
37529a5659 Added mpc-qt and qview and TeamSpeak 3 and ecm to applications.json (#4211)
* Added mpc-qt and qview to applications.json

* Update applications.json

* Added teamspeak3

* added ecm
2026-03-26 15:23:35 -05:00
Chris Titus
2dbf3d71c0 chore: Update generated dev docs (#4258) 2026-03-25 21:29:07 -05:00
Chris Titus
ef226ac272 chore: Update generated dev docs (#4257) 2026-03-25 21:22:41 -05:00
Ivan Lepekha
1f7f653568 Typo fix WPFTweaksXboxRemoval (#4248) 2026-03-25 21:22:06 -05:00
Mochi
9bd5a2541d Add Ruby and Lua entries (#4240)
* Add Opera, OperaGX, Ruby and Lua entries

Update applications.json to include two new browser entries (Opera, OperaGX) and two development runtime entries (Ruby, Lua).

* Remove Opera and OperaGX from applications.json

Removed entries for Opera and OperaGX from applications list.
2026-03-25 21:21:35 -05:00
github-actions[bot]
c2dbcda2d5 Update sponsors in README (#4238)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-03-25 21:20:39 -05:00
Vaso
0bd333dd47 Update applications.json (#4217) 2026-03-25 21:17:46 -05:00
Sean (ANGRYxScotsman)
6188447348 updated docs (#4203)
* updated docs

* Update KnownIssues.md

* Update faq.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update faq.md

* Update faq.md

* Update faq.md
2026-03-25 21:17:09 -05:00
dependabot[bot]
edfed488e8 Bump release-drafter/release-drafter from 6 to 7 (#4226)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 6 to 7.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v6...v7)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-19 23:30:33 -05:00
Chris Titus
8d1f7d509a chore: Update generated dev docs (#4234) 2026-03-19 23:29:25 -05:00
Gabi
0a642be3b4 opps (#4220) 2026-03-19 23:28:56 -05:00
github-actions[bot]
d3f9584892 Update sponsors in README (#4212)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-03-19 23:22:54 -05:00
Gabi
a05034381d Update Win11 Creator (#4196)
* Update autounattend.xml

* Update autounattend.xml

* Updated autounattend.xml to disable reccomened section

* Update autounattend.xml
2026-03-13 10:18:36 -05:00
Chris Titus
b1d4eb022c Fix mount disk error (#4204)
* wait for mounting to assign disk letter

* update

* Gabi fixing my slop with a comment
2026-03-12 15:45:42 -05:00
Gabi
3dbd993cb4 Update bug_report.yaml (#4206) 2026-03-12 15:27:37 -05:00
Gabi
ec17c085df Fix: Prevent Win11 Creator UI reset when switching tabs during ISO Creation (#4199)
* Fix: Prevent Win11 Creator UI reset when switching tabs during ISO modification

* Update Invoke-WinUtilISO.ps1
2026-03-12 15:09:52 -05:00
Chris Titus
7da4e78d4b chore: Update generated dev docs (#4205) 2026-03-12 15:09:30 -05:00
Gabi
1943b30ec9 Make WPFTweaksRevertStartMenu more understandable and move it to essential tweaks (#4202)
* Make WPFTweaksRevertStartMenu more understandable

* Update tweaks.json
2026-03-12 15:08:56 -05:00
Chris Titus
6df8ae900c chore: Update generated dev docs (#4192) 2026-03-11 16:30:50 -05:00
Gabi
a16f4b7d07 Update WPFTweaksXboxRemoval (#4170)
* Update WPFTweaksXboxRemoval

* Update tweaks.json
2026-03-11 16:30:00 -05:00
Chris Titus
adaab0ab36 chore: Update generated dev docs (#4191) 2026-03-11 16:26:43 -05:00
Gabi
c270d25460 Added WPFTweaksDisableStoreSearch (#4173)
* Added WPFTweaksDisableStoreSearch

* Update tweaks.json
2026-03-11 16:26:06 -05:00
Eren
2bb007b6ff Fix import / export config issue (#4189)
* apply toggle fix

* apply fix that disables all toggles outside of config
2026-03-11 16:23:32 -05:00
Garratt
34f29dd04c - Added AI-Automation download section. (#4159)
* - Added AI-Automation download section
- Fixed typo in CONTRIBUTING.md teminal -> terminal

* Move Cursor to Development

* Move AutoHotkey back to Utilities
2026-03-11 10:31:33 -05:00
Gabi
ccb43bfe91 Added some apps to applications.json (#4146)
* Add Overwolf and Logitech G Hub to applications.json

* Added citrixworkspaceapp and pdf-xchange to applications.json

* Added visualstudio2026
2026-03-11 10:30:15 -05:00
Chris Titus
1d401b2e02 initial fix (#4178) 2026-03-11 10:29:38 -05:00
Gabi
d8f6a8c50b Cleanup alot of old issues in KnownIssues.md (#4181)
* Cleanup alot of old issues in KnownIssues.md and add Windows Version

* Update KnownIssues.md

* Update KnownIssues.md
2026-03-11 10:25:34 -05:00
Sean (ANGRYxScotsman)
3da0221fb4 removed windows 10 reference and pages edits (#4185)
* removed any windows 10 reference

* update links

* page clean up

* Update _index.md

* clean up getting started page

* clean up more pages

* Update faq.md

* Update _index.md

* more clean up
2026-03-11 10:24:46 -05:00
Sean (ANGRYxScotsman)
a30664002b added doc link to settings menu (#4156) 2026-03-06 08:29:20 -06:00
Chris Titus
5e78391518 chore: Update generated dev docs (#4163) 2026-03-06 08:29:10 -06:00
Sean (ANGRYxScotsman)
2d2497408f Website updated to latest version (#4157)
* updated theme to latest version

* updated tabs to the new way

* added missing frontmatter to pages

* updated hugo version

* edited the file structure

* revert back to old way

* Update _index.md

* fix typo and made sure it was upto date

* updated docs

* clean up navbar

* Update en.yaml
2026-03-06 08:28:34 -06:00
Gabi
d2dbf03572 Update Invoke-WPFFixesWinget.ps1 (#4160) 2026-03-05 16:39:50 -06:00
Chris Titus
88c68fd411 update bug report 2026-03-04 15:50:00 -06:00
Chris Titus
e82aaf03f0 update bug report 2026-03-04 15:46:18 -06:00
Chris Titus
9a77fed09b minimize feature request template 2026-03-04 15:29:48 -06:00
Chris Titus
336ac6fb8f remove key flag from unattended (#4154) 2026-03-04 15:14:16 -06:00
Gabi
72ad35bbd8 Remove product key from autounattend.xml (#4152) 2026-03-04 12:26:53 -06:00
Chris Titus
df17ca4695 Fix offline mode (#4153)
* Fix usb error on drive with no existing partitions

* fix offline mode

* Add offline banner
2026-03-04 12:21:18 -06:00
Chris Titus
7f46e8d60d Fix usb error on drive with no existing partitions (#4151) 2026-03-04 11:44:10 -06:00
Chris Titus
9769cafa7d change willshow ui (#4150) 2026-03-04 09:25:54 -06:00
Chris Titus
42dfc8c82b fix write failure on letter assignment from failed usb format 2026-03-04 09:21:39 -06:00
Gabi
d13295bdd8 Update start.ps1 (#4141) 2026-03-03 14:25:14 -06:00
Sean (ANGRYxScotsman)
5fc566b46f Winutil website edit (#4140)
* updated the iso creator docs

* added creator info to the arch docs
2026-03-03 09:17:19 -06:00
115 changed files with 1181 additions and 811 deletions

View File

@@ -21,7 +21,7 @@
* Pull requests are now handled directly on the **MAIN branch**. This was done since we can now select specific releases to launch via releases in GitHub.
* If you're doing code changes, then you can submit a PR to `main` branch, but I am very selective about these.
* If you're doing code changes, then you can submit a PR to the `main` branch, but I am very selective about these.
!!! warning "Important"
@@ -87,7 +87,7 @@ graph TD
### Testing your changes
* To test to see if your changes work as intended run following commands in a powershell terminal as admin:
* To test to see if your changes work as intended, run the following commands in a PowerShell terminal as admin:
* Change the directory where you are running the commands to the forked project.
* `cd {path to the folder with the compile.ps1}`
@@ -112,6 +112,6 @@ graph TD
![Push Commit Image](/docs/assets/images/Push-Commit.png)
### Making a PR
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is not a WinUtil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is no WinUtil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.
* If you do not see your feature in the main "/win" build, that is fine. All new changes go into the /windev build to make sure everything is working OK before going fully public.
* Congratulations! You just submitted your first PR. Thank you so much for contributing to WinUtil.

View File

@@ -6,57 +6,31 @@ body:
- type: markdown
attributes:
value: |
# 🐞 **Issue Report**
Thank you for taking the time to report an issue! Please provide as much detail as possible to help us address the problem efficiently.
- Remember, we only support Windows 11. If you encounter problems on Windows 10, please consider upgrading to Windows 11.
- For general questions, join our Community-driven [Discord Server](https://discord.gg/RUbZUZyByQ).
## ⚠️ **IMPORTANT**
- 🛠️ **Supported environments only:** We only support Windows 11.
- 💡 For general questions, use the [Discussions section](https://github.com/Christitustech/winutil/discussions) or join our Community-driven [Discord Server](https://discord.gg/RUbZUZyByQ).
- type: checkboxes
attributes:
label: ⚙️ Issue Checklist
options:
- label: I have read the guidelines.
- label: I checked for duplicate issues.
- label: I searched for existing discussions.
- label: I checked for an existing pull request that addresses this issue.
validations:
required: true
- type: input
- type: dropdown
id: affected_part
attributes:
label: 📜 What part of Winutil are you having issues with?
placeholder: "e.g., Tweaks, etc."
label: What part of Winutil are you having issues with?
options:
- Program Install Tab
- Tweaks Tab
- Config Tab
- Updates Tab
- Win11 Creator Tab
validations:
required: true
required: false
- type: textarea
id: issue_description
attributes:
label: 📝 Provide a clear and concise description of the issue.
validations:
required: true
- type: textarea
id: steps_to_reproduce
attributes:
label: 🔄 Steps to reproduce the issue.
placeholder: "e.g., Step 1: ..., Step 2: ..."
label: Provide a clear and concise description of the issue.
validations:
required: true
- type: textarea
id: error_output
attributes:
label: Paste the full error output (if available).
label: Paste the full error output (if available) or Screenshot.
placeholder: "Include any relevant logs or error messages."
- type: textarea
id: additional_context
attributes:
label: 🖼️ Additional context.
placeholder: "Include screenshots, code blocks (use triple backticks ```), or any other relevant information."
validations:
required: false

View File

@@ -13,45 +13,10 @@ body:
- 🛠️ **Supported environments only:** We only support Windows 11.
- 💡 For general questions, use the [Discussions section](https://github.com/Christitustech/winutil/discussions) or join our Community-driven [Discord Server](https://discord.gg/RUbZUZyByQ).
- type: checkboxes
attributes:
label: ⚙️ Issue Checklist
options:
- label: I have read the guidelines.
- label: I checked for duplicate issues.
- label: I searched for existing discussions.
- label: I checked for an existing pull request that addresses this request.
validations:
required: true
- type: textarea
id: problem_statement
attributes:
label: ❓ Is your feature request related to a problem?
placeholder: "Provide a clear and concise description of the issue you're facing. Example: 'I'm always frustrated when [...]'"
validations:
required: false
- type: textarea
id: proposed_solution
attributes:
label: 💡 Describe the solution you'd like
placeholder: "Provide a clear and concise description of what you want to happen."
placeholder: "Provide a clear and concise description."
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 🔄 Describe alternatives you've considered
placeholder: "Provide details on any alternative solutions or features you've thought about."
validations:
required: false
- type: textarea
id: additional_context
attributes:
label: 🖼️ Additional context
placeholder: "Include screenshots, code blocks (use triple backticks ```), or any other relevant information."
validations:
required: false

View File

@@ -30,7 +30,7 @@ jobs:
if: github.repository == 'ChrisTitusTech/winutil'
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.147.7
HUGO_VERSION: 0.156.0
HUGO_ENVIRONMENT: production
TZ: America/Chicago
steps:

View File

@@ -81,7 +81,7 @@ jobs:
- name: Generate Release Notes
id: generate_notes
uses: release-drafter/release-drafter@v6
uses: release-drafter/release-drafter@v7
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:

View File

@@ -50,9 +50,9 @@ If you have Issues, refer to [Known Issues](https://winutil.christitus.com/known
> [!NOTE]
> Winutil is a relatively large script, so it's split into multiple files which're combined into a single `.ps1` file using a custom compiler. This makes maintaining the project a lot easier.
Get a copy of the source code, this can be done using GitHub UI (`Code -> Download ZIP`), or by cloning (downloading) the repo using git.
Get a copy of the source code. This can be done using GitHub UI (**Code** > **Download ZIP**), or by cloning (downloading) the repo using git.
If git is installed, run the following commands under a PowerShell window to clone and move into project's directory:
If git is installed, run the following commands under a PowerShell window to clone and move into the project's directory:
```ps1
git clone --depth 1 "https://github.com/ChrisTitusTech/winutil.git"
cd winutil
@@ -63,10 +63,10 @@ To build the project, run the Compile Script under a PowerShell window (admin pe
.\Compile.ps1
```
You'll see a new file named `winutil.ps1`, which's created by `Compile.ps1` script, now you can run it as admin and a new window will popup, enjoy your own compiled version of WinUtil :)
You'll see a new file named `winutil.ps1`, which was created by `Compile.ps1` script. Now you can run it as admin, and a new window will pop up. Enjoy your own compiled version of WinUtil :)
> [!TIP]
> For more info on using WinUtil and how to develop for it, please consider reading [the Contribution Guidelines](https://winutil.christitus.com/contributing/), if you don't know where to start, or have questions, you can ask over on our [Discord Community Server](https://discord.gg/RUbZUZyByQ) and active project members will answer when they can.
> For more info on using WinUtil and how to develop for it, please consider reading [the Contribution Guidelines](https://winutil.christitus.com/contributing/). If you don't know where to start, or have questions, you can ask over on our [Discord Community Server](https://discord.gg/RUbZUZyByQ), and active project members will answer when they can.
## 💖 Support
- To morally and mentally support the project, make sure to leave a ⭐️!
@@ -76,7 +76,7 @@ You'll see a new file named `winutil.ps1`, which's created by `Compile.ps1` scri
These are the sponsors that help keep this project alive with monthly contributions.
<!-- sponsors --><a href="https://github.com/dwelfusius"><img src="https:&#x2F;&#x2F;github.com&#x2F;dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https:&#x2F;&#x2F;github.com&#x2F;mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https:&#x2F;&#x2F;github.com&#x2F;jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https:&#x2F;&#x2F;github.com&#x2F;robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/KenichiQaz"><img src="https:&#x2F;&#x2F;github.com&#x2F;KenichiQaz.png" width="60px" alt="User avatar: Stefan" /></a><a href="https://github.com/paulsheets"><img src="https:&#x2F;&#x2F;github.com&#x2F;paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https:&#x2F;&#x2F;github.com&#x2F;djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https:&#x2F;&#x2F;github.com&#x2F;anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https:&#x2F;&#x2F;github.com&#x2F;FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https:&#x2F;&#x2F;github.com&#x2F;DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/quaszi"><img src="https:&#x2F;&#x2F;github.com&#x2F;quaszi.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https:&#x2F;&#x2F;github.com&#x2F;DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https:&#x2F;&#x2F;github.com&#x2F;KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/andrewpayne68"><img src="https:&#x2F;&#x2F;github.com&#x2F;andrewpayne68.png" width="60px" alt="User avatar: Andrew P" /></a><a href="https://github.com/nathanzilgo"><img src="https:&#x2F;&#x2F;github.com&#x2F;nathanzilgo.png" width="60px" alt="User avatar: Nathan Fernandes Pedroza" /></a><!-- sponsors -->
<!-- sponsors --><a href="https://github.com/dwelfusius"><img src="https:&#x2F;&#x2F;github.com&#x2F;dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https:&#x2F;&#x2F;github.com&#x2F;mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https:&#x2F;&#x2F;github.com&#x2F;jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https:&#x2F;&#x2F;github.com&#x2F;robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/KenichiQaz"><img src="https:&#x2F;&#x2F;github.com&#x2F;KenichiQaz.png" width="60px" alt="User avatar: Stefan" /></a><a href="https://github.com/paulsheets"><img src="https:&#x2F;&#x2F;github.com&#x2F;paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https:&#x2F;&#x2F;github.com&#x2F;djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https:&#x2F;&#x2F;github.com&#x2F;anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https:&#x2F;&#x2F;github.com&#x2F;FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https:&#x2F;&#x2F;github.com&#x2F;DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https:&#x2F;&#x2F;github.com&#x2F;DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https:&#x2F;&#x2F;github.com&#x2F;KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/partybrasil"><img src="https:&#x2F;&#x2F;github.com&#x2F;partybrasil.png" width="60px" alt="User avatar: Miguel Diaz" /></a><a href="https://github.com/andrewpayne68"><img src="https:&#x2F;&#x2F;github.com&#x2F;andrewpayne68.png" width="60px" alt="User avatar: Andrew P" /></a><a href="https://github.com/EnzoFerroni"><img src="https:&#x2F;&#x2F;github.com&#x2F;EnzoFerroni.png" width="60px" alt="User avatar: Enzo Ferroni" /></a><!-- sponsors -->
## 🏅 Thanks to all Contributors
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.

View File

@@ -36,11 +36,20 @@
"category": "Document",
"choco": "na",
"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. Self-host it to sync across devices.",
"link": "https://affine.pro/",
"winget": "ToEverything.AFFiNE",
"foss": true
},
"ai-as-workspace": {
"category": "AI-Automation",
"choco": "na",
"content": "AI as Workspace",
"description": "Workspace-style AI chat client with multiple workspaces, plugins, and local-first design; open-source (BSD-3-Clause).",
"link": "https://aiaw.app/",
"winget": "NitroRCr.AIasWorkspace",
"foss": true
},
"aimp": {
"category": "Multimedia Tools",
"choco": "aimp",
@@ -92,6 +101,15 @@
"link": "https://anydesk.com/",
"winget": "AnyDesk.AnyDesk"
},
"anythingllm": {
"category": "AI-Automation",
"choco": "na",
"content": "AnythingLLM",
"description": "Desktop AI application for chat with documents (RAG) and agent workflows; offers a Windows installer and an open-source codebase.",
"link": "https://anythingllm.com/",
"winget": "na",
"foss": true
},
"audacity": {
"category": "Multimedia Tools",
"choco": "audacity",
@@ -126,6 +144,15 @@
"winget": "AutoHotkey.AutoHotkey",
"foss": true
},
"autoit": {
"category": "AI-Automation",
"choco": "autoit.install",
"content": "AutoIt",
"description": "Windows GUI automation scripting tool (freeware) used to automate keystrokes, mouse actions, and window/control interactions.",
"link": "https://www.autoitscript.com/site/autoit/",
"winget": "na",
"foss": false
},
"azuredatastudio": {
"category": "Microsoft Tools",
"choco": "azure-data-studio",
@@ -213,6 +240,15 @@
"link": "https://www.bulkrenameutility.co.uk",
"winget": "TGRMNSoftware.BulkRenameUtility"
},
"buzz": {
"category": "AI-Automation",
"choco": "na",
"content": "Buzz",
"description": "Offline audio transcription and translation desktop app powered by Whisper, packaged for Windows and available via WinGet.",
"link": "https://github.com/chidiwilliams/buzz",
"winget": "ChidiWilliams.Buzz",
"foss": true
},
"AdvancedRenamer": {
"category": "Utilities",
"choco": "advanced-renamer",
@@ -221,6 +257,14 @@
"link": "https://www.advancedrenamer.com/",
"winget": "HulubuluSoftware.AdvancedRenamer"
},
"citrixworkspaceapp": {
"category": "Utilities",
"choco": "citrix-workspace",
"content": "Citrix Workspace app",
"description": "A secure, unified client application that provides instant access to virtual desktops, SaaS, web, and Windows apps from any device (Windows, macOS, Linux, iOS, Android) or browser.",
"link": "https://www.citrix.com/downloads/workspace-app/",
"winget": "Citrix.Workspace"
},
"calibre": {
"category": "Document",
"choco": "calibre",
@@ -248,6 +292,14 @@
"winget": "Cemu.Cemu",
"foss": true
},
"chatgpt": {
"category": "AI-Automation",
"choco": "na",
"content": "ChatGPT",
"description": "ChatGPT desktop app provides direct access to OpenAI's conversational AI assistant for writing, analysis, and productivity tasks.",
"link": "https://openai.com/chatgpt/desktop/",
"winget": "OpenAI.ChatGPT"
},
"chatterino": {
"category": "Communications",
"choco": "chatterino",
@@ -274,6 +326,24 @@
"winget": "Hibbiki.Chromium",
"foss": true
},
"claude": {
"category": "AI-Automation",
"choco": "claude",
"content": "Claude",
"description": "Anthropic's Claude desktop application for Windows, designed for focused AI-assisted work and chat.",
"link": "https://claude.ai/",
"winget": "Anthropic.Claude",
"foss": false
},
"claude-code": {
"category": "AI-Automation",
"choco": "claude-code",
"content": "Claude Code",
"description": "Anthropic's agentic coding tool for the terminal/IDE workflows, available on Windows and distributed via WinGet.",
"link": "https://code.claude.com/",
"winget": "Anthropic.ClaudeCode",
"foss": false
},
"clementine": {
"category": "Multimedia Tools",
"choco": "clementine",
@@ -287,7 +357,7 @@
"category": "Development",
"choco": "clink",
"content": "Clink",
"description": "Clink is a powerful Bash-compatible command-line interface (CLIenhancement for Windows, adding features like syntax highlighting and improved history).",
"description": "Clink is a powerful Bash-compatible command-line interface (CLI enhancement for Windows, adding features like syntax highlighting and improved history).",
"link": "https://mridgers.github.io/clink/",
"winget": "chrisant996.Clink",
"foss": true
@@ -353,6 +423,15 @@
"winget": "CrystalDewWorld.CrystalDiskMark",
"foss": true
},
"cursor": {
"category": "Development",
"choco": "cursoride",
"content": "Cursor",
"description": "AI-powered code editor (VS Code-based) with agentic coding features and integrated AI assistance for development workflows.",
"link": "https://cursor.com/",
"winget": "Anysphere.Cursor",
"foss": false
},
"darktable": {
"category": "Multimedia Tools",
"choco": "darktable",
@@ -379,6 +458,15 @@
"link": "https://www.wagnardsoft.com/display-driver-uninstaller-DDU-",
"winget": "Wagnardsoft.DisplayDriverUninstaller"
},
"deepl": {
"category": "AI-Automation",
"choco": "deepl",
"content": "DeepL",
"description": "DeepL desktop translation and writing assistant for Windows, including shortcuts and in-app writing improvement features.",
"link": "https://www.deepl.com/en/windows-app",
"winget": "DeepL.DeepL",
"foss": false
},
"deluge": {
"category": "Utilities",
"choco": "deluge",
@@ -435,7 +523,7 @@
"category": "Utilities",
"choco": "ditto",
"content": "Ditto",
"description": "Ditto is an extension to the standard windows clipboard.",
"description": "Ditto is an extension to the standard Windows Clipboard.",
"link": "https://github.com/sabrogden/Ditto",
"winget": "Ditto.Ditto",
"foss": true
@@ -522,6 +610,14 @@
"winget": "Duplicati.Duplicati",
"foss": true
},
"ecm": {
"category": "Utilities",
"choco": "ecm",
"content": "Easy Context Menu",
"description": "Easy Context Menu (ECM) lets you add a variety of useful commands and tweaks to the Desktop, My Computer, Drives, File and Folder right-click context menus. This enables you to access the most used Windows components quickly and easily. Simply check the box next to the items you wish to add. Once added, just right click and the select the component shortcut to launch it. Easy Context Menu is both portable and freeware.",
"link": "https://www.sordum.org/7615/easy-context-menu-v1-6/",
"winget": "sordum.EasyContextMenu"
},
"eaapp": {
"category": "Games",
"choco": "ea-app",
@@ -638,7 +734,7 @@
"category": "Multimedia Tools",
"choco": "ffmpeg-full",
"content": "FFmpeg (full)",
"description": "FFmpeg is a powerful multimedia processing tool that enables users to convert, edit, and stream audio and video files with a vast range of codecs and formats. | Note: FFmpeg can not be uninstalled using winget.",
"description": "FFmpeg is a powerful multimedia processing tool that enables users to convert, edit, and stream audio and video files with a vast range of codecs and formats. | Note: FFmpeg can not be uninstalled using WinGet.",
"link": "https://ffmpeg.org/",
"winget": "Gyan.FFmpeg"
},
@@ -699,7 +795,7 @@
"category": "Multimedia Tools",
"choco": "lightshot",
"content": "Lightshot (Screenshots)",
"description": "Ligthshot is an easy-to-use, light-weight screenshot software tool, where you can optionally edit your screenshots using different tools, share them via Internet and/or save to disk, and customize the available options.",
"description": "Lightshot is an easy-to-use, light-weight screenshot software tool, where you can optionally edit your screenshots using different tools, share them via Internet and/or save to disk, and customize the available options.",
"link": "https://app.prntscr.com/",
"winget": "Skillbrains.Lightshot"
},
@@ -831,6 +927,15 @@
"winget": "GitHub.cli",
"foss": true
},
"github-copilot-cli": {
"category": "AI-Automation",
"choco": "na",
"content": "GitHub Copilot CLI",
"description": "GitHub Copilot experience for the command line: natural-language assistance for commands and development tasks; distributed via WinGet.",
"link": "https://github.com/github/copilot-cli",
"winget": "GitHub.Copilot",
"foss": false
},
"githubdesktop": {
"category": "Development",
"choco": "git;github-desktop",
@@ -899,6 +1004,15 @@
"link": "https://www.google.com/drive/",
"winget": "Google.GoogleDrive"
},
"gpt4all": {
"category": "AI-Automation",
"choco": "gpt4all",
"content": "GPT4All",
"description": "Open-source desktop application to run LLMs locally with an emphasis on privacy (MIT-licensed codebase).",
"link": "https://nomic.ai/gpt4all",
"winget": "nomic.gpt4all",
"foss": true
},
"gpuz": {
"category": "Utilities",
"choco": "gpu-z",
@@ -1055,6 +1169,15 @@
"winget": "SFLinux.Jami",
"foss": true
},
"jan": {
"category": "AI-Automation",
"choco": "jan",
"content": "Jan",
"description": "Open-source ChatGPT alternative that runs on your computer (offline-first desktop AI assistant / local model runner).",
"link": "https://jan.ai/",
"winget": "Jan.Jan",
"foss": true
},
"java8": {
"category": "Development",
"choco": "corretto8jdk",
@@ -1244,7 +1367,7 @@
"category": "Communications",
"choco": "linphone",
"content": "Linphone",
"description": "Linphone is an open-source voice over IP (VoIPservice that allows for audio and video calls, messaging, and more.",
"description": "Linphone is an open-source voice over IP (VoIP) service that allows for audio and video calls, messaging, and more.",
"link": "https://www.linphone.org/",
"winget": "BelledonneCommunications.Linphone",
"foss": true
@@ -1258,6 +1381,15 @@
"winget": "rocksdanister.LivelyWallpaper",
"foss": true
},
"lm-studio": {
"category": "AI-Automation",
"choco": "lm-studio",
"content": "LM Studio",
"description": "Desktop app to discover, download, and run local LLMs on your machine, with a built-in chat UI and local inference tooling.",
"link": "https://lmstudio.ai/",
"winget": "ElementLabs.LMStudio",
"foss": false
},
"localsend": {
"category": "Utilities",
"choco": "localsend.install",
@@ -1284,6 +1416,14 @@
"winget": "Logseq.Logseq",
"foss": true
},
"logitechghub": {
"category": "Utilities",
"choco": "lghub",
"content": "Logitech G Hub",
"description": "Official software for managing Logitech gaming peripherals (mice, keyboards, headsets, lighting profiles, etc.).",
"link": "https://www.logitechg.com/en-us/software/ghub",
"winget": "Logitech.GHUB"
},
"malwarebytes": {
"category": "Utilities",
"choco": "malwarebytes",
@@ -1292,6 +1432,15 @@
"link": "https://www.malwarebytes.com/",
"winget": "Malwarebytes.Malwarebytes"
},
"mpc-qt": {
"category": "Multimedia Tools",
"choco": "mediainfo",
"content": "mpc-qt",
"description": "MPC-HC (Media Player Classic Home Cinema) is considered by many to be the quintessential media player for the Windows desktop. MPC-QT (Media Player Classic Qute Theater) aims to reproduce most of the interface and functionality of MPC-HC while using libmpv to play video instead of DirectShow.",
"link": "https://github.com/mpc-qt/mpc-qt",
"winget": "mpc-qt.mpc-qt",
"foss": true
},
"masscode": {
"category": "Document",
"choco": "na",
@@ -1318,6 +1467,24 @@
"link": "https://meldmerge.org/",
"winget": "Meld.Meld",
"foss": true
},
"microsoft-aishell": {
"category": "AI-Automation",
"choco": "na",
"content": "Microsoft AI Shell",
"description": "CLI shell that connects to AI assistance providers ('agents') for command-line productivity; distributed via WinGet.",
"link": "https://github.com/PowerShell/AIShell",
"winget": "Microsoft.AIShell",
"foss": true
},
"microsoft-copilot": {
"category": "AI-Automation",
"choco": "na",
"content": "Microsoft Copilot",
"description": "Microsoft Copilot desktop app for Windows (consumer Copilot), distributed via Microsoft Store and commonly installed via its Store ID.",
"link": "https://apps.microsoft.com/detail/9nht9rb2f4hd",
"winget": "9NHT9RB2F4HD",
"foss": false
},
"ModernFlyouts": {
"category": "Multimedia Tools",
@@ -1490,7 +1657,7 @@
"category": "Pro Tools",
"choco": "netbird",
"content": "NetBird",
"description": "NetBird is a open-source alternative comparable to TailScale that can be connected to a selfhosted Server.",
"description": "NetBird is a open-source alternative comparable to TailScale that can be connected to a self-hosted server.",
"link": "https://netbird.io/",
"winget": "netbird",
"foss": true
@@ -1643,6 +1810,15 @@
"winget": "KDE.Okular",
"foss": true
},
"ollama": {
"category": "AI-Automation",
"choco": "na",
"content": "Ollama",
"description": "Ollama lets you run and manage local large language models on your desktop.",
"link": "https://ollama.com/",
"winget": "Ollama.Ollama",
"foss": true
},
"onedrive": {
"category": "Microsoft Tools",
"choco": "onedrive",
@@ -1740,6 +1916,15 @@
"winget": "Fleex255.PolicyPlus",
"foss": true
},
"qview": {
"category": "Multimedia Tools",
"choco": "na",
"content": "qView",
"description": "qView is an image viewer designed with minimalism and usability in mind.",
"link": "https://github.com/jurplel/qView",
"winget": "jurplel.qView",
"foss": true
},
"potplayer": {
"category": "Multimedia Tools",
"choco": "na",
@@ -1748,6 +1933,15 @@
"link": "https://potplayer.tv/",
"winget": "Daum.PotPlayer"
},
"power-automate-desktop": {
"category": "AI-Automation",
"choco": "na",
"content": "Power Automate for desktop",
"description": "Microsoft's Windows RPA tool for building desktop flows to automate repetitive tasks across apps and services.",
"link": "https://powerautomate.microsoft.com/desktop/",
"winget": "na",
"foss": false
},
"processexplorer": {
"category": "Microsoft Tools",
"choco": "na",
@@ -1772,6 +1966,14 @@
"link": "https://parsec.app/",
"winget": "Parsec.Parsec"
},
"pdf-xchange": {
"category": "Document",
"choco": "pdfxchangeeditor",
"content": "PDF-XChangeEditor",
"description": "A comprehensive Windows-based software suite and editor for creating, viewing, editing, annotating, and signing PDF files.",
"link": "https://www.pdf-xchange.com/",
"winget": "TrackerSoftware.PDF-XChangeEditor"
},
"pdf24creator": {
"category": "Document",
"choco": "pdf24",
@@ -1917,6 +2119,42 @@
"winget": "Proton.ProtonAuthenticator",
"foss": true
},
"protonmail": {
"category": "Communications",
"choco": "na",
"content": "Proton Mail",
"description": "Proton Mail is an end-to-end encrypted email service by Proton, protecting your privacy with zero-access encryption.",
"link": "https://proton.me/mail",
"winget": "Proton.ProtonMail",
"foss": true
},
"protondrive": {
"category": "Utilities",
"choco": "na",
"content": "Proton Drive",
"description": "Proton Drive is an end-to-end encrypted Swiss vault for your files that protects your data.",
"link": "https://proton.me/drive",
"winget": "Proton.ProtonDrive",
"foss": true
},
"protonpass": {
"category": "Utilities",
"choco": "na",
"content": "Proton Pass",
"description": "Proton Pass is a cloud-based password manager with end-to-end encryption and unique email aliases.",
"link": "https://proton.me/pass",
"winget": "Proton.ProtonPass",
"foss": true
},
"protonvpn": {
"category": "Pro Tools",
"choco": "protonvpn",
"content": "Proton VPN",
"description": "Proton VPN is a no-logs VPN service that protects your privacy online with features like Secure Core and Tor over VPN.",
"link": "https://protonvpn.com/",
"winget": "Proton.ProtonVPN",
"foss": true
},
"processmonitor": {
"category": "Microsoft Tools",
"choco": "procexp",
@@ -2376,6 +2614,14 @@
"link": "https://www.teamviewer.com/",
"winget": "TeamViewer.TeamViewer"
},
"teamspeak3": {
"category": "Utilities",
"choco": "teamspeak",
"content": "TeamSpeak 3",
"description": "TEAMSPEAK. YOUR TEAM. YOUR RULES. Use crystal clear sound to communicate with your team mates cross-platform with military-grade security, lag-free performance & unparalleled reliability and uptime.",
"link": "https://www.teamspeak.com/",
"winget": "TeamSpeakSystems.TeamSpeakClient"
},
"telegram": {
"category": "Communications",
"choco": "telegram",
@@ -2584,7 +2830,7 @@
"winget": "GianlucaPernigotto.Videomass",
"foss": true
},
"visualstudio": {
"visualstudio2022": {
"category": "Development",
"choco": "visualstudio2022community",
"content": "Visual Studio 2022",
@@ -2592,6 +2838,14 @@
"link": "https://visualstudio.microsoft.com/",
"winget": "Microsoft.VisualStudio.2022.Community"
},
"visualstudio2026": {
"category": "Development",
"choco": "visualstudio2026community",
"content": "Visual Studio 2026",
"description": "Visual Studio 2026 is an integrated development environment (IDE) for building, debugging, and deploying applications.",
"link": "https://visualstudio.microsoft.com/",
"winget": "Microsoft.VisualStudio.2026.Community"
},
"vivaldi": {
"category": "Browsers",
"choco": "vivaldi",
@@ -2663,7 +2917,7 @@
"wazuh": {
"category": "Utilities",
"choco": "wazuh-agent",
"content": "Wazuh.",
"content": "Wazuh",
"description": "Wazuh is an open-source security monitoring platform that offers intrusion detection, compliance checks, and log analysis.",
"link": "https://wazuh.com/",
"winget": "Wazuh.WazuhAgent",
@@ -2698,7 +2952,7 @@
"category": "Utilities",
"choco": "wingetui",
"content": "UniGetUI",
"description": "UniGetUI is a GUI for Winget, Chocolatey, and other Windows CLI package managers.",
"description": "UniGetUI is a GUI for WinGet, Chocolatey, and other Windows CLI package managers.",
"link": "https://www.marticliment.com/wingetui/",
"winget": "MartiCliment.UniGetUI",
"foss": true
@@ -3146,6 +3400,14 @@
"link": "https://www.dropbox.com/en_GB/desktop",
"winget": "Dropbox.Dropbox"
},
"Overwolf": {
"category": "Games",
"choco": "overwolf",
"content": "Overwolf",
"description": "Popular platform for game overlays and companion apps (mod managers, trackers, etc.), widely used by gamers.",
"link": "https://www.overwolf.com/app/overwolf-curseforge",
"winget": "Overwolf.CurseForge"
},
"OFGB": {
"category": "Utilities",
"choco": "ofgb",
@@ -3177,7 +3439,7 @@
"category": "Utilities",
"choco": "na",
"content": "Lenovo Legion Toolkit",
"description": "Lenovo Legion Toolkit (LLT) is a open-source utility created for Lenovo Legion (and similar) series laptops, that allows changing a couple of features that are only available in Lenovo Vantage or Legion Zone. It runs no background services, uses less memory, uses virtually no CPU, and contains no telemetry. Just like Lenovo Vantage, this application is Windows only.",
"description": "Lenovo Legion Toolkit (LLT) is a open-source utility created for Lenovo Legion laptops, that allows changing a couple of features that are only available in Lenovo Vantage or Legion Zone. It runs no background services, uses less memory, uses virtually no CPU, and contains no telemetry. Just like Lenovo Vantage, this application is Windows only.",
"link": "https://github.com/BartoszCichecki/LenovoLegionToolkit",
"winget": "BartoszCichecki.LenovoLegionToolkit",
"foss": true
@@ -3252,5 +3514,23 @@
"content": "NASM",
"link": "https://nasm.us",
"foss": true
},
"Ruby": {
"category": "Development",
"choco": "ruby",
"winget": "RubyInstallerTeam.RubyWithDevkit.3.4",
"description": "A Ruby language execution environment with a MSYS2 installation.",
"content": "Ruby",
"link": "https://rubyinstaller.org/",
"foss": true
},
"Lua": {
"category": "Development",
"choco": "lua",
"winget": "rjpcomputing.luaforwindows",
"description": "A 'batteries included environment' for the Lua scripting language on Windows.",
"content": "Lua",
"link": "https://github.com/rjpcomputing/luaforwindows",
"foss": true
}
}

View File

@@ -21,13 +21,13 @@
"Description": "Upgrade all applications to the latest version"
},
"WingetRadioButton": {
"Content": "Winget",
"Content": "WinGet",
"Category": "__Package Manager",
"Type": "RadioButton",
"GroupName": "PackageManagerGroup",
"Checked": true,
"Order": "1",
"Description": "Use Winget for package management"
"Description": "Use WinGet for package management"
},
"ChocoRadioButton": {
"Content": "Chocolatey",

View File

@@ -88,9 +88,9 @@
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/widget"
},
"WPFTweaksRevertStartMenu": {
"Content": "Revert the new start menu",
"Description": "Uses vivetool to revert to the original start menu from 24H2.",
"category": "z__Advanced Tweaks - CAUTION",
"Content": "Revert Start Menu layout",
"Description": "Bring back the old Start Menu layout from before the gradual rollout of the new one in 25H2.",
"category": "Essential Tweaks",
"panel": "1",
"InvokeScript": [
"
@@ -103,7 +103,7 @@
Remove-Item ViVeTool -Recurse
Write-Host 'Old start menu reverted please restart your computer to take effect'
Write-Host 'Old start menu reverted. Please restart your computer to take effect.'
"
],
"UndoScript": [
@@ -117,10 +117,23 @@
Remove-Item ViVeTool -Recurse
Write-Host 'New start menu reverted please restart your computer to take effect'
Write-Host 'New start menu reverted. Please restart your computer to take effect.'
"
],
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/revertstartmenu"
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/revertstartmenu"
},
"WPFTweaksDisableStoreSearch": {
"Content": "Disable Microsoft Store search results",
"Description": "Will not display recommended Microsoft Store apps when searching for apps in the Start menu.",
"category": "Essential Tweaks",
"panel": "1",
"InvokeScript": [
"icacls \"$Env:LocalAppData\\Packages\\Microsoft.WindowsStore_8wekyb3d8bbwe\\LocalState\\store.db\" /deny Everyone:F"
],
"UndoScript": [
"icacls \"$Env:LocalAppData\\Packages\\Microsoft.WindowsStore_8wekyb3d8bbwe\\LocalState\\store.db\" /grant Everyone:F"
],
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/disablestoresearch"
},
"WPFTweaksLocation": {
"Content": "Disable Location Tracking",
@@ -1444,7 +1457,7 @@
},
"WPFTweaksUTC": {
"Content": "Set Time to UTC (Dual Boot)",
"Description": "Essential for computers that are dual booting. Fixes the time sync with Linux Systems.",
"Description": "Essential for computers that are dual booting. Fixes the time sync with Linux systems.",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"registry": [
@@ -1477,7 +1490,7 @@
Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force
Remove-Item \"C:\\ProgramData\\Microsoft OneDrive\" -Recurse -Force
# Grant back permission to accses OneDrive folder
# Grant back permission to access OneDrive folder
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
# Disable OneSyncSvc
@@ -1490,7 +1503,7 @@
winget install Microsoft.Onedrive --source winget
# Enabled OneSyncSvc
Set-Service -Name OneSyncSvc -StartupType Enabled
Set-Service -Name OneSyncSvc -StartupType Automatic
"
],
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removeonedrive"
@@ -1515,7 +1528,7 @@
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removehome"
},
"WPFTweaksRemoveGallery": {
"Content": "Remove Gallery from explorer",
"Content": "Remove Gallery from Explorer",
"Description": "Removes the Gallery from Explorer and sets This PC as default.",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
@@ -1635,6 +1648,15 @@
"Description": "Removes Xbox services, the Xbox app, Game Bar, and related authentication components.",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"registry": [
{
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\GameDVR",
"Name": "AppCaptureEnabled",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1"
}
],
"appx": [
"Microsoft.XboxIdentityProvider",
"Microsoft.XboxSpeechToTextOverlay",
@@ -1777,7 +1799,7 @@
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/endtaskontaskbar"
},
"WPFTweaksPowershell7Tele": {
"Content": "Disable Powershell 7 Telemetry",
"Content": "Disable PowerShell 7 Telemetry",
"Description": "Creates an Environment Variable called 'POWERSHELL_TELEMETRY_OPTOUT' with a value of '1' which will tell PowerShell 7 to not send Telemetry Data.",
"category": "Essential Tweaks",
"panel": "1",
@@ -2066,7 +2088,7 @@
},
"WPFTweaksTeredo": {
"Content": "Disable Teredo",
"Description": "Teredo network tunneling is a IPv6 feature that can cause additional latency, but may cause problems with some games.",
"Description": "Teredo network tunneling is an IPv6 feature that can cause additional latency, but may cause problems with some games.",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"registry": [
@@ -2202,7 +2224,7 @@
},
"WPFToggleStandbyFix": {
"Content": "Modern Standby fix",
"Description": "Disable network connection during S0 sleep. If network connectivity is turned on during S0 sleep it could cause overheating on modern laptops",
"Description": "Disable network connection during S0 Sleep. If network connectivity is turned on during S0 Sleep it could cause overheating on modern laptops.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",

View File

@@ -24,7 +24,7 @@ toc: true
* Pull requests are now handled directly on the **MAIN branch**. This was done since we can now select specific releases to launch via releases in GitHub.
* If you're doing code changes, then you can submit a PR to `main` branch, but I am very selective about these.
* If you're doing code changes, then you can submit a PR to the `main` branch, but I am very selective about these.
> [!IMPORTANT]
> Do not use a code formatter, make massive amounts of line changes, or make multiple feature changes. EACH FEATURE CHANGE SHOULD BE IT'S OWN PULL REQUEST!
@@ -85,7 +85,7 @@ graph TD
### Testing your changes
* To test to see if your changes work as intended run following commands in a powershell teminal as admin:
* To test to see if your changes work as intended, run the following commands in a PowerShell terminal as admin:
* Change the directory where you are running the commands to the forked project.
* `cd {path to the folder with the compile.ps1}`
@@ -110,6 +110,6 @@ graph TD
{{< image src="images/Push-Commit" alt="Push Commit Image" >}}
### Making a PR
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is not a Winutil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is no Winutil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.
* If you do not see your feature in the main "/win" build, that is fine. All new changes go into the /windev build to make sure everything is working OK before going fully public.
* Congratulations! You just submitted your first PR. Thank you so much for contributing to Winutil.

View File

@@ -11,16 +11,9 @@ If `https://christitus.com/win` is not working, or you want to download the code
irm https://github.com/ChrisTitusTech/Winutil/releases/latest/download/Winutil.ps1 | iex
```
If you are seeing errors referencing TLS or security, you may be running an older version of Windows where TLS 1.2 is not the default security protocol used for network connections. The following commands will force .NET to use TLS 1.2, and download the script directly using .NET instead of PowerShell:
If it still isn't working in your region, it may be due to temporary ISP or network filtering of GitHub content domains. This has been reported by some users in India in the past. See: [Times of India](https://timesofindia.indiatimes.com/gadgets-news/github-content-domain-blocked-for-these-indian-users-reports/articleshow/96687992.cms).
```
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
iex https://christitus.com/win | iex
```
If it still isn't working and you live in India, it might be due to India blocking GitHub's content domain and preventing downloads. See more on [Times of India](https://timesofindia.indiatimes.com/gadgets-news/github-content-domain-blocked-for-these-indian-users-reports/articleshow/96687992.cms).
If you are still having issues, try using a **VPN**, or changing your **DNS provider** to one of following two providers:
If you are still having issues, try using a **VPN**, or changing your **DNS provider** to one of the following two providers:
| Provider | Primary DNS | Secondary DNS |
| :--------: | :---------: | :-----------: |
@@ -35,159 +28,40 @@ $ExecutionContext.SessionState.LanguageMode
```
If it returns `ConstrainedLanguage`, you may need to switch to `FullLanguage` mode or run the script in a session with administrative privileges. Be aware that some security policies may enforce Constrained Language Mode, especially in corporate or managed environments.
### Script blocked by Execution Policy
**If the download fails**:
1. Ensure you are running PowerShell as admin: Press `Windows Key`+`X` and select _PowerShell (Admin)_ in Windows 10, or `Windows Terminal (Admin)` in Windows 11.
2. In the PowerShell window, type this to allow unsigned code to execute and run the installation script:
```
Set-ExecutionPolicy Unrestricted -Scope Process -Force
irm https://christitus.com/win | iex
```
## Runtime Issues
### WinGet configuration
If you have not installed anything using PowerShell before, you may be prompted to configure WinGet. This requires user interaction on first run. You will need to manually type `y` into the PowerShell console and press enter to continue. Once you do it the first time, you will not be prompted again.
## Windows Issues
### Windows takes longer to shut down
This could be for a number of reasons:
- Turn on fast startup: Press `Windows key`+`R`, then type:
```bat
control /name Microsoft.PowerOptions /page pageGlobalSettings
```
If that doesn't work, disable Hibernation:
- Press `Windows Key`+`X` and select _PowerShell (Admin)_ in Windows 10, or `Windows Terminal (Admin)` in Windows 11. then type:
```bat
powercfg /H off
```
Related issue: [#69](https://github.com/ChrisTitusTech/Winutil/issues/69)
### Windows Search does not work
Enable Background Apps. Related issues: [#69](https://github.com/ChrisTitusTech/Winutil/issues/69) [#95](https://github.com/ChrisTitusTech/Winutil/issues/95) [#232](https://github.com/ChrisTitusTech/Winutil/issues/232)
### Xbox Game Bar Activation Broken
Set the Xbox Accessory Management Service to Automatic:
1. Try the direct GitHub link:
```powershell
Get-Service -Name "XboxGipSvc" | Set-Service -StartupType Automatic
irm https://github.com/ChrisTitusTech/Winutil/releases/latest/download/Winutil.ps1 | iex
```
Related issue: [#198](https://github.com/ChrisTitusTech/Winutil/issues/198)
2. Force TLS 1.2:
### Windows 11: Quick Settings no longer works
```powershell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
irm "https://christitus.com/win" | iex
```
Launch the Script and click _Enable Action Center_.
> [!NOTE]
> On Windows 11, you usually do not need the TLS 1.2 command. Use it only if you encounter download or security protocol errors.
### Explorer (file browser) no longer launches
### Execution Policy Error
- Press `Windows key`+`R` then type:
If you see an execution policy error when running the downloaded script, you can allow the current session to run unsigned scripts with this command:
```bat
control /name Microsoft.FolderOptions
```
```powershell
Set-ExecutionPolicy Unrestricted -Scope Process -Force
irm "https://christitus.com/win" | iex
```
- Change the _Open File Explorer to_ option to _This PC_.
This only changes the policy for the current PowerShell process and is safe for one-off runs.
### Battery drains too fast
### Interface Doesn't Appear
If you're using a laptop or tablet and find your battery drains too fast, please try the below troubleshooting steps, and report the results back to the Winutil community.
If Winutil downloads, but the GUI does not open or appear, try these steps:
1. **Check Battery Health:**
- Press `Windows Key`+`X` and select _PowerShell (Admin)_ in Windows 10, or `Windows Terminal (Admin)` in Windows 11.
- Run the following command to generate a battery report:
```powershell
powercfg /batteryreport /output "C:\battery_report.html"
```
- Open the generated HTML report to review information about battery health and usage. A battery with poor health may hold less charge, discharge faster, or cause other issues.
2. **Review Power Settings:**
- Open the Settings app, and go to _System_ > _Power & sleep_.
- Adjust power plan settings based on your preferences and usage patterns.
- Click on _Additional power settings_ to access advanced power settings that may help.
3. **Identify Power-Hungry Apps:**
- Right-click on the taskbar and select _Task Manager_.
- Navigate to the _Processes_ tab to identify applications with high CPU or memory usage.
- Consider reconfiguring, closing, disabling, or uninstalling applications that use a lot of resources.
4. **Update Drivers:**
- Visit your device manufacturer's website or use Windows Update to check for driver updates.
- Ensure graphics, chipset, and other essential drivers are up to date.
5. **Check for Windows Updates:**
- Open the Settings app, and go to _Update & Security_ > _Windows Update_.
- Check for and install any available updates for your operating system.
6. **Reduce Screen Brightness:**
- Open the Settings app, and go to _System_ > _Display_.
- Adjust screen brightness based on your preferences and lighting conditions.
7. **Enable Battery Saver:**
- Open the Settings app, and go to _System_ > _Battery_.
- Turn on _Battery saver_ to limit background activity and conserve power.
8. **Check Power Usage in Settings:**
- Open the Settings app, and go to _System_ > _Battery_ > _Battery usage by app_.
- Review the list of apps and their power usage. Disable or uninstall any you don't need.
9. **Check Background Apps:**
- Open the Settings app, and go to _Privacy_ > _Background apps_.
- Disable or uninstall unnecessary apps running in the background.
10. **Use `powercfg` for Analysis:**
- Press `Windows Key`+`X` and select _PowerShell (Admin)_ in Windows 10, or `Windows Terminal (Admin)` in Windows 11.
- Run the following command to analyze energy usage and generate a report:
```powershell
powercfg /energy /output "C:\energy_report.html"
```
- Open the generated HTML report to identify energy consumption patterns.
11. **Review Event Logs:**
- Open Event Viewer by searching for it in the Start menu.
- Navigate to _Windows Logs_ > _System_.
- Look for events with the source _Power-Troubleshooter_ to identify power-related events. These may highlight battery, input power, and other issues.
12. **Check Wake-up Sources:**
- Press `Windows Key`+`X` and select _PowerShell (Admin)_ in Windows 10, or `Windows Terminal (Admin)` in Windows 11.
- Use the command `powercfg /requests` to identify processes preventing sleep.
- Use the command `powercfg /waketimers` to view active wake timers.
- Check Task Scheduler to see if any of the discovered processes are scheduled to start on boot or at regular intervals.
13. **Advanced Identification of Power-Hungry Apps:**
- Open Resource Monitor from the Start menu.
- Navigate to the _CPU_, _Memory_, _Network_, and other tabs to identify processes with high resource usage.
- Consider reconfiguring, closing, disabling, or uninstalling applications that use a lot of resources.
14. **Disable Activity History:**
- Open the Settings app, and go to _Privacy_ > _Activity history_.
- Turn off _Let Windows collect my activities from this PC_.
15. **Prevent Network Adapters From Waking PC:**
- Open Device Manager by searching for it in the Start menu.
- Locate your network adapter, right-click, and go to _Properties_.
- Under the _Power Management_ tab, uncheck the option that allows the device to wake the computer.
16. **Review Installed Applications:**
- Manually review installed applications by searching for _Add or remove programs_ in the Start menu.
- Check settings/preferences of individual applications for power-related options.
- Uninstall unnecessary or problematic software.
These troubleshooting steps are generic, but should help in most situations. You should have these key takeaways:
- Battery health is the most significant limiter on your device's runtime. A battery in poor health usually cannot be made to last like it used to, simply by closing some applications. Consider replacing your battery.
- Background applications that use CPU and memory, make lots of or large network requests, read/write to disk frequently, or that keep your PC awake when it could be conserving energy are the next major concern. Avoid installing programs you don't need, only use programs you trust, and configure applications to use as little power and run as infrequently as possible.
- Windows performs a lot of tasks that may affect battery life by default. Changing settings, stopping scheduled tasks, and disabling features can help the system stay in lower power states to conserve battery.
- Bad chargers, inconsistent power input, and high temperatures will cause batteries to degrade and discharge faster. Use trusted high-quality chargers, ensure input power is steady, clean any fans or airflow ports, and keep the battery/PC cool.
1. Check if your antivirus or Windows Defender is blocking the script — add an exclusion if necessary.
2. Ensure you launched PowerShell / Terminal as **Administrator**.
3. Close and reopen PowerShell, then run the launch command again.
4. If the script still doesn't show, try running the script in a visible PowerShell window (avoid background/silent shells) to observe output and errors.

View File

@@ -14,7 +14,7 @@ Welcome to the official documentation for Winutil, your go-to utility for optimi
## Running the latest release of Winutil
* You will first need to start a Powershell terminal **as Admin**.
* You will first need to start a PowerShell terminal **as Admin**.
* Now you can run the following command:
```

View File

@@ -128,6 +128,154 @@ winutil/
- CheckBoxes for options
- ListBoxes for selections
## Win11 Creator Architecture
The **Win11 Creator** is a specialized subsystem within Winutil that creates customized Windows 11 ISOs. It operates independently from the main package installation and tweak system.
### Win11 Creator Components
**Core Functions** (`functions/private/`):
- `Invoke-WinUtilISO.ps1`: Main orchestrator containing all Win11 Creator functions
- `Invoke-WinUtilISOBrowse`: ISO file selection dialog
- `Invoke-WinUtilISOMountAndVerify`: Validates and mounts ISO, verifies it's official Windows 11
- `Invoke-WinUtilISOModify`: Launches modification in background runspace
- `Invoke-WinUtilISOExport`: Handles ISO and USB export
- `Invoke-WinUtilISOCheckExistingWork`: Recovers incomplete work sessions
- `Invoke-WinUtilISOCleanAndReset`: Cleans up temp directories and resets UI
- `Invoke-WinUtilISOScript.ps1`: Applies modifications to mounted install.wim
- Removes provisioned AppX packages (40+ bloatware apps)
- Injects drivers (optional) from the current system
- Removes OneDrive setup files
- Applies offline registry tweaks (hardware bypass, privacy, telemetry, OOBE)
- Deletes telemetry scheduled task definitions
- Pre-stages setup scripts from autounattend.xml
- Removes unused Windows editions
- Cleans component store via DISM
### Win11 Creator Data Flow
```
User selects official Windows 11 ISO
Invoke-WinUtilISOBrowse → OpenFileDialog, validates file size
Invoke-WinUtilISOMountAndVerify
├─ Mount ISO via Mount-DiskImage
├─ Verify install.wim or install.esd exists
├─ Check for "Windows 11" in image metadata
├─ Extract available editions (Home, Pro, Enterprise, etc.)
└─ Store ISO path, drive letter, WIM path, image info in $sync
User optionally enables the Driver Injection checkbox
Invoke-WinUtilISOModify (runs in background runspace)
├─ Create work directory: ~WinUtil_Win11ISO_[timestamp]
├─ Copy ISO contents to disk (~5-6 GB)
├─ Mount install.wim at selected edition/index
├─ Invoke-WinUtilISOScript:
│ ├─ Remove 40+ bloat AppX packages
│ ├─ Export and inject drivers (if enabled)
│ ├─ Remove OneDrive setup
│ ├─ Load offline registry hives
│ ├─ Apply 50+ registry tweaks (hardware bypass, privacy, telemetry, OOBE, etc.)
│ ├─ Delete telemetry scheduled task files
│ ├─ Pre-stage setup scripts from autounattend.xml to C:\Windows\Setup\Scripts\
│ └─ Unload registry hives
├─ DISM /Cleanup-Image /StartComponentCleanup /ResetBase (saves 300-800 MB)
├─ Dismount and save the modified install.wim (~10+ minutes, slowest step)
├─ Export selected edition only (removes all other editions, saves 1-2 GB each)
├─ Dismount source ISO
└─ Report completion, enable export options
Invoke-WinUtilISOExport (user chooses output)
├─ Option 1: Save as ISO
│ ├─ Build bootable ISO via oscdimg.exe (BIOS/UEFI dual-boot)
│ └─ Output: Win11_Modified_[date].iso (2.5-3.5 GB)
└─ Option 2: Write to USB
├─ Format USB as GPT
├─ Create 512 MB EFI partition
├─ Copy modified ISO contents
└─ Output: Bootable USB (minimum 8 GB)
Invoke-WinUtilISOCleanAndReset (optional)
└─ Delete temp working directory (~10-15 GB)
└─ Reset UI to initial state
```
### Win11 Creator Validation & Safety
**ISO Validation**:
- Only accepts official Microsoft Windows 11 ISOs
- Validates presence of install.wim or install.esd
- Checks image metadata for "Windows 11" string
- Rejects custom, modified, or non-Windows 11 ISOs
**Work Session Recovery**:
- Auto-detects incomplete work from previous sessions
- Allows resuming Step 4 (export) without re-running Steps 1-3
- Prevents redundant modifications
**Modification Safety**:
- All registry changes are documented in a script (reversible)
- Original ISO never modified; only working copy
- Logged to `WinUtil_Win11ISO.log` for debugging
- DISM handles image dismount with automatic cleanup on error
### Win11 Creator Registry Tweaks
The `Invoke-WinUtilISOScript` function applies **50+ offline registry tweaks**:
**Hardware Bypass**:
- TPM 2.0 check bypass
- Secure Boot requirement bypass
- CPU compatibility bypass
- RAM requirement bypass
- Storage check bypass
**Privacy & Telemetry**:
- Disable advertising ID
- Disable tailored experiences
- Disable input personalization
- Disable speech online privacy
- Disable cloud content suggestions
- Disable app suggestion subscriptions
- Remove CEIP, Appraiser, WaaSMedic, etc.
**OOBE & Setup**:
- Enable local account setup
- Skip Microsoft account requirement
- Dark mode by default
- Empty taskbar and Start Menu
**Post-Setup Installations**:
- Prevent DevHome auto-installation
- Prevent new Outlook Mail app installation
- Prevent Teams auto-installation
**System Features**:
- Disable BitLocker and device encryption
- Disable Chat icon from the Taskbar
- Disable OneDrive folder backup
- Disable Copilot
- Disable Windows Update during OOBE (re-enabled at first login)
### Driver Injection Feature
**Optional Enhancement**: When enabled, exports all drivers from the running system and injects them into both:
- `install.wim` (main OS image)
- `boot.wim` index 2 (Windows Setup PE environment)
**Use Case**: Enables offline installation on systems with missing drivers.
### Disk Space Requirements
- **Temporary working directory**: ~10-15 GB
- **Original ISO**: 4-6 GB
- **Modified ISO**: 2.5-3.5 GB
- **Total needed**: ~25 GB for safe operation
## Data Flow
### Application Installation Flow
@@ -139,7 +287,7 @@ Get-WinUtilCheckBoxes → Retrieves selected apps
For each selected app:
Check if WinGet/Choco installed
Check if WinGet/Choco is installed
Install-WinUtilWinget/Choco (if needed)
@@ -185,7 +333,7 @@ Retrieve "OriginalState" from tweak definition
Invoke-WPFUndoTweak → Restore original values
Remove from applied tweaks log
Remove from the applied tweaks log
Update UI
```
@@ -377,7 +525,7 @@ $sync.form.Dispatcher.Invoke([action]{
```
2. Recompile: `.\Compile.ps1`
3. The app appears automatically in Install tab
3. The app appears automatically in the Install tab
### Adding a New Tweak
@@ -402,7 +550,7 @@ $sync.form.Dispatcher.Invoke([action]{
```
2. Recompile: `.\Compile.ps1`
3. Tweak appears in Tweaks tab
3. Tweak appears in the Tweaks tab
### Adding a New Function
@@ -463,7 +611,7 @@ Outputs `winutil.ps1` in the root directory.
**Required**:
- PowerShell 5.1+
- .NET Framework 4.5+
- Windows 10 1809+
- Windows 11
**Optional (auto-installed)**:
- WinGet (Windows Package Manager)
@@ -514,6 +662,7 @@ Outputs `winutil.ps1` in the root directory.
- [Contributing Guide](../../contributing/) - How to contribute code
- [User Guide](../../userguide/) - End-user documentation
- [Win11 Creator Guide](../../userguide/win11Creator/) - Building customized Windows 11 ISOs
- [FAQ](../../faq/) - Common questions
## Additional Resources

View File

@@ -9,20 +9,20 @@ function Invoke-WPFFixesWinget {
<#
.SYNOPSIS
Fixes Winget by running choco install winget
Fixes WinGet by running `choco install winget`
.DESCRIPTION
BravoNorris for the fantastic idea of a button to reinstall winget
BravoNorris for the fantastic idea of a button to reinstall WinGet
#>
# Install Choco if not already present
try {
Set-WinUtilTaskbaritem -state "Indeterminate" -overlay "logo"
Write-Host "==> Starting Winget Repair"
Install-WinUtilWinget -Force
Write-Host "==> Starting WinGet Repair"
Install-WinUtilWinget
} catch {
Write-Error "Failed to install winget: $_"
Write-Error "Failed to install WinGet: $_"
Set-WinUtilTaskbaritem -state "Error" -overlay "warning"
} finally {
Write-Host "==> Finished Winget Repair"
Write-Host "==> Finished WinGet Repair"
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
}

View File

@@ -13,6 +13,6 @@ function Invoke-WinUtilUninstallPSProfile {
Remove-Item $Profile
}
Write-Host "Successfully uninstalled CTT Powershell Profile" -ForegroundColor Green
Write-Host "Successfully uninstalled CTT PowerShell Profile." -ForegroundColor Green
}
```

View File

@@ -3,7 +3,7 @@ title: "Bing Search in Start Menu"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2185}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2207}
"WPFToggleBingSearch": {
"Content": "Bing Search in Start Menu",
"Description": "If enabled, Bing web search results will be included in your Start Menu search.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Dark Theme for Windows"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2143}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2165}
"WPFToggleDarkMode": {
"Content": "Dark Theme for Windows",
"Description": "Enable/Disable Dark Mode.",
@@ -48,6 +48,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Detailed BSoD"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2559}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2581}
"WPFToggleDetailedBSoD": {
"Content": "Detailed BSoD",
"Description": "If enabled, you will see a detailed Blue Screen of Death (BSOD) with more information.",
@@ -32,6 +32,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Cross-Device Resume"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2689}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2711}
"WPFToggleDisableCrossDeviceResume": {
"Content": "Cross-Device Resume",
"Description": "This tweak controls the Resume function in Windows 11 24H2 and later, which allows you to resume an activity from a mobile device and vice-versa.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Show Hidden Files"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2439}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2461}
"WPFToggleHiddenFiles": {
"Content": "Show Hidden Files",
"Description": "If enabled, Hidden Files will be shown.",
@@ -34,6 +34,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Remove Settings Home Page"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2309}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2331}
"WPFToggleHideSettingsHome": {
"Content": "Remove Settings Home Page",
"Description": "Removes the Home Page in the Windows Settings app.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Mouse Acceleration"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2327}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2349}
"WPFToggleMouseAcceleration": {
"Content": "Mouse Acceleration",
"Description": "If enabled, the Cursor movement is affected by the speed of your physical mouse movements.",
@@ -40,6 +40,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Disable Multiplane Overlay"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2421}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2443}
"WPFToggleMultiplaneOverlay": {
"Content": "Disable Multiplane Overlay",
"Description": "Disable the Multiplane Overlay which can sometimes cause issues with Graphics Cards.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "New Outlook"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2379}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2401}
"WPFToggleNewOutlook": {
"Content": "New Outlook",
"Description": "If disabled, it removes the new Outlook toggle, disables the new Outlook migration, and ensures the classic Outlook application is used.",
@@ -48,6 +48,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Num Lock on Startup"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2221}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2243}
"WPFToggleNumLock": {
"Content": "Num Lock on Startup",
"Description": "Toggle the Num Lock key state when your computer starts.",
@@ -32,6 +32,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "S3 Sleep"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2585}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2607}
"WPFToggleS3Sleep": {
"Content": "S3 Sleep",
"Description": "Toggles between Modern Standby and S3 Sleep.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Show File Extensions"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2467}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2489}
"WPFToggleShowExt": {
"Content": "Show File Extensions",
"Description": "If enabled, File extensions (e.g., .txt, .jpg) are visible.",
@@ -34,6 +34,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,10 +3,10 @@ title: "Modern Standby fix"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2203}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2225}
"WPFToggleStandbyFix": {
"Content": "Modern Standby fix",
"Description": "Disable network connection during S0 sleep. If network connectivity is turned on during S0 sleep it could cause overheating on modern laptops",
"Description": "Disable network connection during S0 Sleep. If network connectivity is turned on during S0 Sleep it could cause overheating on modern laptops.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Recommendations in Start Menu"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2265}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2287}
"WPFToggleStartMenuRecommendations": {
"Content": "Recommendations in Start Menu",
"Description": "If disabled, then you will not see recommendations in the Start Menu. WARNING: This will also disable Windows Spotlight on your Lock Screen as a side effect.",
@@ -50,6 +50,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Sticky Keys"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2361}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2383}
"WPFToggleStickyKeys": {
"Content": "Sticky Keys",
"Description": "If enabled, 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.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Task View Button in Taskbar"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2513}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2535}
"WPFToggleTaskView": {
"Content": "Task View Button in Taskbar",
"Description": "If enabled, Task View Button in Taskbar will be shown.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Center Taskbar Items"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2531}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2553}
"WPFToggleTaskbarAlignment": {
"Content": "Center Taskbar Items",
"Description": "[Windows 11] If enabled, the Taskbar Items will be shown on the Center, otherwise the Taskbar Items will be shown on the Left.",
@@ -34,6 +34,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Search Button in Taskbar"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2495}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2517}
"WPFToggleTaskbarSearch": {
"Content": "Search Button in Taskbar",
"Description": "If enabled, Search Button will be on the Taskbar.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Verbose Messages During Logon"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2247}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2269}
"WPFToggleVerboseLogon": {
"Content": "Verbose Messages During Logon",
"Description": "Show detailed messages during the login process for troubleshooting and diagnostics.",
@@ -24,6 +24,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -36,6 +36,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Disable ConsumerFeatures"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1291}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1304}
"WPFTweaksConsumerFeatures": {
"Content": "Disable ConsumerFeatures",
"Description": "Windows will not automatically install any games, third-party apps, or application links from the Windows Store for the signed-in user. Some default Apps will be inaccessible (eg. Phone Link).",
@@ -22,6 +22,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Delete Temporary Files"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2038}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2060}
"WPFTweaksDeleteTempFiles": {
"Content": "Delete Temporary Files",
"Description": "Erases TEMP Folders.",

View File

@@ -3,7 +3,7 @@ title: "Disable Explorer Automatic Folder Discovery"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2634}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2656}
"WPFTweaksDisableExplorerAutoDiscovery": {
"Content": "Disable Explorer Automatic Folder Discovery",
"Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience. WARNING! Will disable File Explorer grouping.",

View File

@@ -0,0 +1,18 @@
---
title: "Disable Microsoft Store search results"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=125}
"WPFTweaksDisableStoreSearch": {
"Content": "Disable Microsoft Store search results",
"Description": "Will not display recommended Microsoft Store apps when searching for apps in the Start menu.",
"category": "Essential Tweaks",
"panel": "1",
"InvokeScript": [
"icacls \"$Env:LocalAppData\\Packages\\Microsoft.WindowsStore_8wekyb3d8bbwe\\LocalState\\store.db\" /deny Everyone:F"
],
"UndoScript": [
"icacls \"$Env:LocalAppData\\Packages\\Microsoft.WindowsStore_8wekyb3d8bbwe\\LocalState\\store.db\" /grant Everyone:F"
],
```

View File

@@ -3,7 +3,7 @@ title: "Run Disk Cleanup"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2025}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2047}
"WPFTweaksDiskCleanup": {
"Content": "Run Disk Cleanup",
"Description": "Runs Disk Cleanup on Drive C: and removes old Windows Updates.",

View File

@@ -3,7 +3,7 @@ title: "Enable End Task With Right Click"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1763}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1785}
"WPFTweaksEndTaskOnTaskbar": {
"Content": "Enable End Task With Right Click",
"Description": "Enables option to end task when right clicking a program in the taskbar.",
@@ -22,6 +22,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -35,6 +35,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Disable Location Tracking"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=125}
```json {filename="config/tweaks.json",linenos=inline,linenostart=138}
"WPFTweaksLocation": {
"Content": "Disable Location Tracking",
"Description": "Disables Location Tracking.",
@@ -43,6 +43,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,11 +1,11 @@
---
title: "Disable Powershell 7 Telemetry"
title: "Disable PowerShell 7 Telemetry"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1779}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1801}
"WPFTweaksPowershell7Tele": {
"Content": "Disable Powershell 7 Telemetry",
"Content": "Disable PowerShell 7 Telemetry",
"Description": "Creates an Environment Variable called 'POWERSHELL_TELEMETRY_OPTOUT' with a value of '1' which will tell PowerShell 7 to not send Telemetry Data.",
"category": "Essential Tweaks",
"panel": "1",

View File

@@ -3,7 +3,7 @@ title: "Create Restore Point"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1736}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1758}
"WPFTweaksRestorePoint": {
"Content": "Create Restore Point",
"Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications.",
@@ -33,6 +33,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,13 +1,13 @@
---
title: "Revert the new start menu"
title: "Revert Start Menu layout"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=90}
"WPFTweaksRevertStartMenu": {
"Content": "Revert the new start menu",
"Description": "Uses vivetool to revert to the original start menu from 24H2.",
"category": "z__Advanced Tweaks - CAUTION",
"Content": "Revert Start Menu layout",
"Description": "Bring back the old Start Menu layout from before the gradual rollout of the new one in 25H2.",
"category": "Essential Tweaks",
"panel": "1",
"InvokeScript": [
"
@@ -20,7 +20,7 @@ description: ""
Remove-Item ViVeTool -Recurse
Write-Host 'Old start menu reverted please restart your computer to take effect'
Write-Host 'Old start menu reverted. Please restart your computer to take effect.'
"
],
"UndoScript": [
@@ -34,7 +34,7 @@ description: ""
Remove-Item ViVeTool -Recurse
Write-Host 'New start menu reverted please restart your computer to take effect'
Write-Host 'New start menu reverted. Please restart your computer to take effect.'
"
],
```

View File

@@ -3,7 +3,7 @@ title: "Set Services to Manual"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=162}
```json {filename="config/tweaks.json",linenos=inline,linenostart=175}
"WPFTweaksServices": {
"Content": "Set Services to Manual",
"Description": "Turns a bunch of system services to manual that don't need to be running all the time. This is pretty harmless as if the service is needed, it will simply start on demand.",

View File

@@ -3,7 +3,7 @@ title: "Disable Telemetry"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1307}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1320}
"WPFTweaksTelemetry": {
"Content": "Disable Telemetry",
"Description": "Disables Microsoft Telemetry.",
@@ -128,6 +128,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Disable Windows Platform Binary Table (WPBT)"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1892}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1914}
"WPFTweaksWPBT": {
"Content": "Disable Windows Platform Binary Table (WPBT)",
"Description": "If enabled, WPBT allows your computer vendor to execute programs at boot time, such as anti-theft software, software drivers, as well as force install software without user consent. Poses potential security risk.",
@@ -22,6 +22,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Adobe Network Block"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1973}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1995}
"WPFTweaksBlockAdobeNet": {
"Content": "Adobe Network Block",
"Description": "Reduces user interruptions by selectively blocking connections to Adobe's activation and telemetry servers. Credit: Ruddernation-Designs",

View File

@@ -3,7 +3,7 @@ title: "Brave Debloat"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1126}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1139}
"WPFTweaksBraveDebloat": {
"Content": "Brave Debloat",
"Description": "Disables various annoyances like Brave Rewards, Leo AI, Crypto Wallet and VPN.",
@@ -50,6 +50,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Remove ALL MS Store Apps - NOT RECOMMENDED"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1647}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1669}
"WPFTweaksDeBloat": {
"Content": "Remove ALL MS Store Apps - NOT RECOMMENDED",
"Description": "USE WITH CAUTION!!! This will remove ALL Microsoft Store apps.",

View File

@@ -3,7 +3,7 @@ title: "Disable Background Apps"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2111}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2133}
"WPFTweaksDisableBGapps": {
"Content": "Disable Background Apps",
"Description": "Disables all Microsoft Store apps from running in the background, which has to be done individually since Windows 11.",
@@ -22,6 +22,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Disable Fullscreen Optimizations"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2127}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2149}
"WPFTweaksDisableFSO": {
"Content": "Disable Fullscreen Optimizations",
"Description": "Disables FSO in all applications. NOTE: This will disable Color Management in Exclusive Fullscreen.",
@@ -22,6 +22,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Disable IPv6"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2089}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2111}
"WPFTweaksDisableIPv6": {
"Content": "Disable IPv6",
"Description": "Disables IPv6.",
@@ -28,6 +28,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Disable Notification Tray/Calendar"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1950}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1972}
"WPFTweaksDisableNotifications": {
"Content": "Disable Notification Tray/Calendar",
"Description": "Disables all Notifications INCLUDING Calendar.",
@@ -29,6 +29,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Set Display for Performance"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1534}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1547}
"WPFTweaksDisplay": {
"Content": "Set Display for Performance",
"Description": "Sets the system preferences to performance. You can do this manually with sysdm.cpl as well.",
@@ -105,6 +105,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Edge Debloat"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1170}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1183}
"WPFTweaksEdgeDebloat": {
"Content": "Edge Debloat",
"Description": "Disables various telemetry options, popups, and other annoyances in Edge.",
@@ -127,6 +127,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Prefer IPv4 over IPv6"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2051}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2073}
"WPFTweaksIPv46": {
"Content": "Prefer IPv4 over IPv6",
"Description": "Setting the IPv4 preference can have latency and security benefits on private networks where IPv6 is not configured.",
@@ -22,6 +22,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Block Razer Software Installs"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1908}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1930}
"WPFTweaksRazerBlock": {
"Content": "Block Razer Software Installs",
"Description": "Blocks ALL Razer Software installations. The hardware works fine without any software.",
@@ -48,6 +48,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Disable Microsoft Copilot"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1808}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1830}
"WPFTweaksRemoveCopilot": {
"Content": "Disable Microsoft Copilot",
"Description": "Disables MS Copilot AI built into Windows since 23H2.",
@@ -90,6 +90,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "Remove Microsoft Edge"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1429}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1442}
"WPFTweaksRemoveEdge": {
"Content": "Remove Microsoft Edge",
"Description": "Unblocks Microsoft Edge uninstaller restrictions then uses that uninstaller to remove Microsoft Edge.",

View File

@@ -1,11 +1,11 @@
---
title: "Remove Gallery from explorer"
title: "Remove Gallery from Explorer"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1517}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1530}
"WPFTweaksRemoveGallery": {
"Content": "Remove Gallery from explorer",
"Content": "Remove Gallery from Explorer",
"Description": "Removes the Gallery from Explorer and sets This PC as default.",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",

View File

@@ -3,7 +3,7 @@ title: "Remove Home from Explorer"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1498}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1511}
"WPFTweaksRemoveHome": {
"Content": "Remove Home from Explorer",
"Description": "Removes the Home from Explorer and sets This PC as default.",

View File

@@ -3,7 +3,7 @@ title: "Remove OneDrive"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1461}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1474}
"WPFTweaksRemoveOneDrive": {
"Content": "Remove OneDrive",
"Description": "Denies permission to remove OneDrive user files, then uses its own uninstaller to remove it and restores the original permission afterward.",
@@ -23,7 +23,7 @@ description: ""
Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force
Remove-Item \"C:\\ProgramData\\Microsoft OneDrive\" -Recurse -Force
# Grant back permission to accses OneDrive folder
# Grant back permission to access OneDrive folder
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
# Disable OneSyncSvc
@@ -36,7 +36,7 @@ description: ""
winget install Microsoft.Onedrive --source winget
# Enabled OneSyncSvc
Set-Service -Name OneSyncSvc -StartupType Enabled
Set-Service -Name OneSyncSvc -StartupType Automatic
"
],
```

View File

@@ -3,7 +3,7 @@ title: "Set Classic Right-Click Menu"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2003}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2025}
"WPFTweaksRightClickMenu": {
"Content": "Set Classic Right-Click Menu",
"Description": "Restores the classic context menu when right-clicking in File Explorer, replacing the simplified Windows 11 version.",

View File

@@ -3,7 +3,7 @@ title: "Disable Storage Sense"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1792}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1814}
"WPFTweaksStorage": {
"Content": "Disable Storage Sense",
"Description": "Storage Sense deletes temp files automatically.",
@@ -22,6 +22,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,10 +3,10 @@ title: "Disable Teredo"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2067}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2089}
"WPFTweaksTeredo": {
"Content": "Disable Teredo",
"Description": "Teredo network tunneling is a IPv6 feature that can cause additional latency, but may cause problems with some games.",
"Description": "Teredo network tunneling is an IPv6 feature that can cause additional latency, but may cause problems with some games.",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"registry": [
@@ -28,6 +28,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,10 +3,10 @@ title: "Set Time to UTC (Dual Boot)"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1445}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1458}
"WPFTweaksUTC": {
"Content": "Set Time to UTC (Dual Boot)",
"Description": "Essential for computers that are dual booting. Fixes the time sync with Linux Systems.",
"Description": "Essential for computers that are dual booting. Fixes the time sync with Linux systems.",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"registry": [
@@ -22,6 +22,6 @@ description: ""
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,12 +3,21 @@ title: "Remove Xbox & Gaming Components"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1633}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1646}
"WPFTweaksXboxRemoval": {
"Content": "Remove Xbox & Gaming Components",
"Description": "Removes Xbox services, the Xbox app, Game Bar, and related authentication components.",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"registry": [
{
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\GameDVR",
"Name": "AppCaptureEnabled",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1"
}
],
"appx": [
"Microsoft.XboxIdentityProvider",
"Microsoft.XboxSpeechToTextOverlay",
@@ -17,3 +26,9 @@ description: ""
"Microsoft.XboxGamingOverlay"
],
```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -3,7 +3,7 @@ title: "DNS"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2610}
```json {filename="config/tweaks.json",linenos=inline,linenostart=2632}
"WPFchangedns": {
"Content": "DNS",
"category": "z__Advanced Tweaks - CAUTION",

View File

@@ -5,23 +5,27 @@ toc: true
## General Questions
### Is Windows 10 still supported?
No. Windows 10 is no longer supported by Winutil because it reached the end of support on **October 14, 2025**.
Winutil is focused on Windows 11.
### How do I uninstall Winutil?
You do not have to uninstall Winutil. As it is a script you run from PowerShell, it only loads into your RAM. This means as soon as you close Winutil, it will be cleared from your system. Winutil doesn't install itself permanently on your computer.
You do not need to uninstall Winutil. Because it runs as a PowerShell script, it is loaded into memory only while it is open. Once you close it, it is removed from memory and does not remain installed on your system.
### Is Winutil safe to use?
Yes, Winutil is open source and the code is publicly available on GitHub. Thousands of users run it daily. However, like any system modification tool, you should:
Yes, Winutil is open source, and the code is publicly available on GitHub. Thousands of users run it daily. However, like any system modification tool, you should:
- Run it as Administrator (required)
- Create a restore point before major changes
- Understand what tweaks you're applying
- Download only from official sources
- Run only from [official source](https://github.com/ChrisTitusTech/winutil/)
### Do I need to keep running Winutil?
No. Once you've applied tweaks or installed applications, you can close Winutil. Changes persist after closing. You only need to run Winutil again when you want to make additional changes or undo tweaks.
### Does Winutil require internet access?
- **For downloading**: Yes, installing applications requires internet
- **For downloading**: Yes, installing applications requires the internet
- **For tweaks**: No, most tweaks work offline
- **Initial run**: Yes, to download the latest script
- **Initial run**: Yes, to run the latest script
### How often is Winutil updated?
Winutil is actively maintained with frequent updates. New features, bug fixes, and application additions are released regularly. The script auto-downloads the latest version each time you run it.
@@ -44,12 +48,15 @@ Try these solutions in order:
irm https://github.com/ChrisTitusTech/Winutil/releases/latest/download/Winutil.ps1 | iex
```
2. **Force TLS 1.2** (for older Windows):
2. **Force TLS 1.2**:
```powershell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
irm "https://christitus.com/win" | iex
```
> [!NOTE]
> On Windows 11, you usually do not need the TLS 1.2 command. Use it only if you encounter download or security protocol errors.
3. **Change DNS** to Cloudflare (1.1.1.1) or Google (8.8.8.8)
4. **Use a VPN** if GitHub is blocked in your region
@@ -70,7 +77,7 @@ If you applied a tweak and it breaks something, you can revert it:
1. Open Winutil again
2. Go to the **Tweaks** tab
3. Select the same tweak you applied
4. Click **"Undo Selected Tweaks"**
4. Click **Undo Selected Tweaks**
5. The system will revert to the previous state
Alternatively, use System Restore if you created a restore point.
@@ -84,19 +91,13 @@ Alternatively, use System Restore if you created a restore point.
- Run Disk Cleanup
- Create Restore Point
**Caution needed (Advanced Tweaks)**:
- Remove Microsoft Store
- Disable Windows Defender
- Remove all bloatware
- Disable system services
Start with Essential Tweaks. Only use Advanced Tweaks if you understand the implications.
**(Advanced Tweaks)** should only be run by advanced users.
### Will tweaks survive Windows Updates?
Most tweaks persist through updates, but some may be reset by major Windows updates (feature updates). You may need to reapply certain tweaks after major updates.
Most tweaks persist through updates, but some may be reset by major Windows feature updates. You may need to reapply certain tweaks afterwards.
### Can I create my own tweak presets?
Currently, Winutil uses predefined presets (Desktop, Laptop, Minimal, Standard). Custom presets aren't directly supported in the GUI, but you can script your preferred configuration.
Currently, Winutil uses predefined presets (Standard, Minimal). Custom presets aren't directly supported in the GUI, but you can script your preferred configuration.
### What's the difference between Essential and Advanced tweaks?
- **Essential Tweaks**: Safe for most users, improve performance/privacy with minimal risk
@@ -112,8 +113,8 @@ Yes! Check the boxes for all applications you want, then click "Install Selected
### WinGet isn't working. How do I fix it?
1. Go to the **Config** tab
2. Find **Fixes** section
3. Click **"WinGet Reinstall"**
2. Find the **Fixes** section
3. Click **WinGet Reinstall**
4. Wait for completion
5. Try installing applications again
@@ -121,9 +122,10 @@ Yes! Check the boxes for all applications you want, then click "Install Selected
No. WinGet and Chocolatey install clean versions of applications without bundled offers, toolbars, or bloatware.
### Can I uninstall applications through Winutil?
Winutil focuses on installation. To uninstall:
- Use Windows Settings > Apps > Installed Apps
- Or use the application's built-in uninstaller
Winutil primarily focuses on installing and managing applications rather than providing a full GUI for uninstalling every program. To remove applications you can:
- Use Windows Settings > Apps > Installed apps to uninstall programs.
- Use package manager commands in PowerShell (for example `winget uninstall <package>` or `choco uninstall <package>`).
- Some packages installed by Winutil (AppX/MSIX) include removal helpers; check the app entry or use Winutil's remove helpers when available.
### Will installed apps auto-update?
Applications with built-in update mechanisms will auto-update. You can also update them via WinGet/Chocolatey commands or through Winutil's "Upgrade Selected" feature.
@@ -138,8 +140,8 @@ Generally, **no**. Security updates are important. However, you might:
### How do I re-enable updates after disabling them?
1. Open Winutil
2. Go to **Updates** tab
3. Click **"Enable Updates"**
2. Go to the **Updates** tab
3. Click **Default Updates**
4. Updates will resume normally
### What's the difference between "Security Updates Only" and "Disable Updates"?
@@ -163,13 +165,13 @@ Troubleshooting steps:
1. Check your internet connection
2. Try installing just that one application
3. Review error messages in the output panel
4. Check if antivirus is blocking
4. Check if the antivirus is blocking
5. Try the WinGet Reinstall fix
### Network tweaks broke my internet connection
1. Open Winutil
2. Go to **Config** > **Fixes**
3. Click **"Reset Network"**
3. Click **Reset Network**
4. Restart your computer
5. Connection should be restored
@@ -177,7 +179,7 @@ Troubleshooting steps:
Undo the tweaks that might have affected those features:
1. Reopen Winutil
2. Select the tweaks you applied
3. Click "Undo Selected Tweaks"
3. Click **Undo Selected Tweaks**
If that doesn't work, use System Restore to revert to a previous state.
@@ -190,10 +192,10 @@ Yes, Winutil works on Windows Server editions, though some features may not be a
Yes, Winutil works with Windows 10/11 LTSC editions. Some applications may not be available depending on your configuration.
### Can I use Winutil in a corporate/enterprise environment?
Yes, but check your organization's policies first. Some tweaks may conflict with group policies or corporate requirements.
Yes, but check your organization's policies first. Some tweaks may conflict with Group Policy or other corporate requirements.
### How do I automate Winutil for multiple PCs?
See the [Automation Guide](userguide/automation/) for details on:
See the [Automation Guide](/userguide/automation/) for details on:
- Configuration files
- PowerShell parameters
- Batch deployment
@@ -206,7 +208,7 @@ Yes! Contributions are welcome:
- Improve documentation
- Help others in Discord
See the [Contributing Guide](contributing/) for details.
See the [Contributing Guide](/contributing/) for details.
## Privacy & Security
@@ -221,12 +223,6 @@ It disables:
- Usage statistics
- Error reporting (optional)
### Is it safe to disable Windows Defender?
**Generally not recommended**. Only disable Defender if:
- You have alternative antivirus installed
- You understand the security risks
- You're in a controlled/isolated environment
### Will removing Microsoft Store affect security updates?
No, Windows security updates are independent of the Microsoft Store.
@@ -239,39 +235,32 @@ Tweaks can improve performance by:
- Cleaning temporary files
- Optimizing startup programs
Results vary based on your system and which tweaks you apply.
Results may vary depending on your system.
### What's the best preset for gaming?
Use the **Desktop** preset, then additionally apply:
- Disable GameDVR
- Ultimate Performance power plan
- Disable fullscreen optimizations (Advanced)
- Disable full-screen optimizations (Advanced)
- Set display for performance (Advanced)
### How much RAM does Winutil use?
Winutil itself uses ~50-100MB while running. Once closed, it's removed from memory.
Winutil itself uses about 50-100 MB while running. Once closed, it is removed from memory.
## Error Messages
### "Access Denied" errors
- Ensure PowerShell is running as Administrator
- Check if antivirus is blocking changes
- Check if the antivirus is blocking changes
- Verify you have ownership of files/registry keys
### WinGet configuration prompt won't go away
Type `Y` and press Enter in the PowerShell window. This only happens on first use and configures WinGet for your system.
## Still Need Help?
Can't find your answer? Try these resources:
- **[Known Issues](knownissues/)** - Check if it's a known problem
- **[User Guide](userguide/)** - Comprehensive documentation
- **[Known Issues](/knownissues/)** - Check if it's a known problem
- **[User Guide](/userguide/)** - Comprehensive documentation
- **[Discord Community](https://discord.gg/RUbZUZyByQ)** - Get help from other users
- **[GitHub Issues](https://github.com/ChrisTitusTech/winutil/issues)** - Report bugs
- **[YouTube Tutorial](https://www.youtube.com/watch?v=6UQZ5oQg8XA)** - Video walkthrough
---
**Last Updated**: January 2026
**Found this helpful?** Consider starring the project on [GitHub](https://github.com/ChrisTitusTech/winutil)!

View File

@@ -3,7 +3,10 @@ title: User Guide
weight: 2
---
Welcome to the official User Guide for **Winutil**, your all-in-one Windows toolkit!
Welcome to the official User Guide for **Winutil**, your all-in-one Windows toolkit.
> [!IMPORTANT]
> Windows 10 is not supported by Winutil. Windows 10 reached the end of support on **October 14, 2025**.
## What is Winutil?
@@ -19,19 +22,19 @@ Winutil (Chris Titus Tech's Windows Utility) is a comprehensive PowerShell-based
Winutil is designed for:
- **Home Users**: Wanting to optimize their personal PCs
- **Power Users**: Needing fine-grained control over Windows
- **IT Professionals**: Managing multiple systems efficiently
- **Gamers**: Optimizing systems for gaming performance
- **Privacy-Conscious Users**: Reducing telemetry and data collection
- **Developers**: Setting up clean development environments
- **Home Users**: People who want to optimize their personal PCs
- **Power Users**: Users who want fine-grained control over Windows
- **IT Professionals**: Teams managing multiple systems efficiently
- **Gamers**: Users optimizing systems for gaming performance
- **Privacy-Conscious Users**: People reducing telemetry and data collection
- **Developers**: Users setting up clean development environments
## Getting Started
New to Winutil? Start here:
1. **[Getting Started Guide](getting-started/)** - Installation and first steps
2. **[Application Store](application/)** - Learn to install software easily
2. **[Applications Guide](application/)** - Learn to install, upgrade, and uninstall software
3. **[Tweaks Guide](tweaks/)** - Optimize your system
4. **[Features & Fixes](features/)** - Troubleshoot common issues
5. **[Win11 Creator](win11Creator/)** - Build a custom debloated Windows 11 ISO
@@ -42,7 +45,7 @@ New to Winutil? Start here:
Browse and install hundreds of popular applications with a single click. No more hunting for download links or dealing with installer bloat.
**[Read the Store Guide →](application/)**
**[Read the Applications Guide →](application/)**
### ⚙️ System Tweaks
@@ -82,7 +85,7 @@ Automate Winutil configurations for:
### 💿 Windows 11 Creator
Build a custom Windows 11 ISO with bloatware removed, telemetry disabled, and hardware requirement checks bypassed then export it as an ISO file or write it directly to a USB drive.
Build a custom Windows 11 ISO with bloatware removed, telemetry disabled, and hardware requirement checks bypassed. You can then export it as an ISO file or write it directly to a USB drive.
**[Read the Win11 Creator Guide →](win11Creator/)**
@@ -91,7 +94,7 @@ Build a custom Windows 11 ISO with bloatware removed, telemetry disabled, and ha
| I want to... | Go to... |
|--------------|----------|
| Install Winutil for the first time | [Getting Started](getting-started/) |
| Install applications quickly | [Application Store](application/) |
| Install, upgrade, or uninstall apps | [Applications Guide](application/) |
| Speed up my computer | [Tweaks Guide](tweaks/) |
| Fix Windows Update problems | [Features - Fixes](features/) |
| Automate setup for multiple PCs | [Automation](automation/) |
@@ -117,15 +120,15 @@ Before using Winutil:
## System Requirements
- **Operating System**: Windows 10 (1809+) or Windows 11
- **PowerShell**: Version 5.1 or later (included in Windows)
- **Operating System**: Windows 11
- **PowerShell**: Version 5.1 or later (included in Windows 11)
- **Permissions**: Administrator access required
- **Internet**: Required for downloading apps and updates
- **.NET Framework**: 4.5+ (usually pre-installed)
## Getting Help
Need assistance?
Need help?
- **📖 Documentation**: You're reading it! Use the navigation menu
- **❓ FAQ**: Check [Frequently Asked Questions](../faq/)
@@ -151,7 +154,7 @@ Want to help improve Winutil?
This User Guide covers everything you need to know:
1. **[Getting Started](getting-started/)** - Installation, first run, basic usage
2. **[Application Store](application/)** - Installing software, using presets
2. **[Applications](application/)** - Installing, upgrading, and uninstalling software
3. **[Tweaks](tweaks/)** - System optimizations and customizations
4. **[Features & Fixes](features/)** - Troubleshooting tools and utilities
5. **[Win11 Creator](win11Creator/)** - Build a custom debloated Windows 11 ISO
@@ -164,4 +167,4 @@ Watch the complete Winutil overview:
{{< youtube id=6UQZ5oQg8XA loading=lazy >}}
Ready to get started? Head to the **[Getting Started Guide](getting-started/)** now!
Ready to get started? Head to the **[Getting Started Guide](getting-started/)**.

View File

@@ -1,33 +1,33 @@
---
title: Applications
weight: 2
weight: 3
---
{{< tabs items="Installation & Updates,Upgrade All,Uninstall,Get Installed,Clear Selection" defaultIndex="0" >}}
{{< tabs >}}
{{< tab >}}
* Choose the programs you want to install or upgrade.
{{< tab name="Installation & Updates" selected=true >}}
* Choose the applications you want to install or upgrade.
* For programs not currently installed, this action will install them.
* For programs already installed, this action will update them to the latest version.
* Click the `Install/Upgrade Selected` button to start the installation or upgrade process.
{{< /tab >}}
{{< tab >}}
{{< tab name="Upgrade All" >}}
* Simply press the `Upgrade All` button.
* This will upgrade all applicable programs that are installed without the need for individual selection.
{{< /tab >}}
{{< tab >}}
{{< tab name="Uninstall" >}}
* Select the programs you wish to uninstall.
* Click the `Uninstall Selected` button to remove the selected programs.
{{< /tab >}}
{{< tab >}}
{{< tab name="Get Installed" >}}
* Click the `Show Installed Apps` button.
* This will scan for and select all installed programs in Winutil that WinGet supports.
* This scans for and selects installed applications supported by WinGet.
{{< /tab >}}
{{< tab >}}
{{< tab name="Clear Selection" >}}
* Click the `Clear Selection` button.
* This will unselect all checked programs.
{{< /tab >}}
@@ -36,4 +36,4 @@ weight: 2
{{< image src="images/Install-Tab" alt="Install Image" >}}
> [!TIP]
> If you have trouble finding an application, press `ctrl + f` and search the name of it. Applications will filter depending on your input.
> If you have trouble finding an application, press `Ctrl + F` and search for its name. The list filters as you type.

View File

@@ -1,7 +1,27 @@
Automation option in winutil allows you to run winutil from a config file,
you can get your own config file inside winutil by clicking the gear icon on the top right and clicking export and saving it as a file
---
title: Automation
weight: 7
---
you can automate winutil launch with this command
Use Automation to run Winutil from an exported configuration file.
To create a config file:
1. Open Winutil.
2. Click the gear icon in the top-right corner.
3. Choose **Export**.
4. Save the exported JSON file.
Once you have exported a config, launch Winutil with it using this command:
```powershell
& ([ScriptBlock]::Create((irm "https://christitus.com/win"))) -Config C:\Path\To\Config -Run
& ([ScriptBlock]::Create((irm "https://christitus.com/win"))) -Config "C:\Path\To\Config.json" -Run
```
This is useful for:
- Applying the same Winutil configuration across multiple Windows 11 PCs
- Reusing a known-good baseline after reinstalling Windows
- Standardizing deployments for labs, workstations, or personal setups
> [!NOTE]
> Run the command in an elevated PowerShell session so Winutil can apply system-level changes.

View File

@@ -1,33 +1,37 @@
---
title: Features
weight: 4
weight: 5
---
* Install the most used **Windows Features** by checking the checkbox and clicking "Install Features" to install them.
Use the **Features** and **Fixes** sections to install optional Windows components and run common repair tasks.
* All .Net Frameworks (2, 3, 4)
* HyperV Virtualization
## Windows Features
Install common **Windows features** by selecting the feature checkboxes and clicking **Install Features**.
* All .NET Frameworks (2, 3, 4)
* Hyper-V Virtualization
* Legacy Media (WMP, DirectPlay)
* NFS - Network File System
* Enable Daily Registry Backup Task 12:30am
* Enable Daily Registry Backup Task 12:30 AM
* Enable Legacy F8 Boot Recovery
* Disable Legacy F8 Boot Recovery
* Windows Subsystem for Linux
* Windows Sandbox
### Fixes
* Quick fixes for your system if you are having issues.
## Fixes
Use these one-click fixes for common system problems.
* Set Up Autologin
* Reset Windows Update
* Reset Network
* System Corruption Scan
* WinGet Reinstall
* Remove Adobe Creative Cloud
### Legacy Windows Panels
## Legacy Windows Panels
Open old-school Windows panels directly from Winutil. Following Panels are available:
Open old-school Windows panels directly from Winutil. Available panels include:
* Control Panel
* Network Connections
@@ -37,6 +41,6 @@ Open old-school Windows panels directly from Winutil. Following Panels are avail
* System Properties
* User Accounts
### Remote Access
## Remote Access
Enables OpenSSH server on your windows machine.
Enable an OpenSSH server on your Windows machine for remote access.

View File

@@ -1,18 +1,21 @@
---
title: Getting Started
weight: 1
weight: 2
---
## Welcome to Winutil!
Winutil is a powerful Windows utility that helps you optimize, customize, and maintain your Windows system. This guide will walk you through everything you need to get started.
Winutil is a powerful Windows utility that helps you optimize, customize, and maintain your system. This guide walks you through everything you need to get started.
## System Requirements
Before running Winutil, ensure your system meets these requirements:
- **Operating System**: Windows 10 (Latest Version) or Windows 11
- **PowerShell**: Version 5.1 or later (included by default in Windows 10/11)
> [!IMPORTANT]
> Windows 10 is not supported by Winutil. Windows 10 reached the end of support on **October 14, 2025**.
- **Operating System**: Windows 11
- **PowerShell**: Version 5.1 or later (included by default in Windows 11)
- **Administrator Access**: Required for system-level changes
- **Internet Connection**: Required for downloading applications and updates
- **.NET Framework**: Version 4.5 or later (usually pre-installed)
@@ -27,9 +30,8 @@ There are several ways to open PowerShell with admin rights:
**Method 1: Start Menu (Recommended)**
1. Right-click on the Windows Start button
2. Select "Windows PowerShell (Admin)" on Windows 10
3. Or select "Terminal (Admin)" on Windows 11
1. Right-click the Windows Start button
2. Select "Terminal (Admin)"
**Method 2: Search Method**
@@ -46,41 +48,34 @@ There are several ways to open PowerShell with admin rights:
### Step 2: Run the Launch Command
Once PowerShell is open with administrator privileges, run one of these commands:
With PowerShell running as Administrator, run one of the following commands depending on the release channel you want.
**Stable Release (Recommended for most users)**
**Stable release (recommended)**
```powershell
irm "https://christitus.com/win" | iex
```
**Development Branch (For testing latest features)**
**Development branch (bleeding edge — for testing only)**
```powershell
irm "https://christitus.com/windev" | iex
```
> [!NOTE]
> The `irm` command downloads the script, and `iex` executes it. This is safe when downloading from the official source.
> - The `irm` command downloads the script, and `iex` executes it. This is safe when downloading from the official source.
> - The development branch may contain experimental changes and should only be used for testing on non-production systems.
### Step 3: Wait for Winutil to Load
The first time you run Winutil, it may take a few moments to:
- Download the latest version
- Run the latest version
- Initialize the interface
- Load all features and settings
## First Time Setup
### Configure WinGet (If Prompted)
On your first run, you may be prompted to configure WinGet (Windows Package Manager). This is normal.
1. When prompted, type `Y` and press Enter
2. Accept the terms and conditions
3. This only needs to be done once
### Understanding the Interface
Winutil opens with a clean, tabbed interface:
@@ -91,6 +86,7 @@ Winutil opens with a clean, tabbed interface:
- **Tweaks**: Apply system optimizations and customizations
- **Config**: Access system tools and utilities
- **Updates**: Manage Windows updates
- **Win11 Creator**: Allows user to debloat Windows 11 ISO files.
## Your First Actions
@@ -102,25 +98,25 @@ Before making any changes, create a system restore point:
1. Go to the **Tweaks** tab
2. Find "Create Restore Point" under Essential Tweaks
3. Check the box and click "Run Tweaks"
3. Check the box and click **Run Tweaks**
This allows you to undo changes if needed.
This gives you a rollback point if needed.
### 2. Install Essential Applications
1. Navigate to the **Install** tab
2. Browse categories or use the search bar
3. Check applications you want to install
4. Click "Install Selected" at the bottom
3. Check the applications you want to install
4. Click "Install/Upgrade Selected" at the bottom
### 3. Apply Basic Tweaks
For a better Windows experience without risks:
For a better Windows experience with minimal risk:
1. Go to the **Tweaks** tab
2. Select the **"Desktop" preset** for a balanced configuration
2. Select the **Standard** for a balanced configuration
3. Review the selected tweaks
4. Click "Run Tweaks"
4. Click **Run Tweaks**
## Common Tasks
@@ -128,10 +124,10 @@ For a better Windows experience without risks:
**Single Application**:
1. Open **Install** tab
1. Open the **Install** tab
2. Search for the application name
3. Check the box next to it
4. Click "Install Selected"
4. Click "Install/Upgrade Selected"
**Multiple Applications**:
@@ -143,9 +139,9 @@ For a better Windows experience without risks:
**Essential Tweaks** (Safe for all users):
1. Go to **Tweaks** tab
2. Select from Essential Tweaks section
3. Click "Run Tweaks"
1. Go to the **Tweaks** tab
2. Select from the Essential Tweaks section
3. Click **Run Tweaks**
**Advanced Tweaks** (Use with caution):
@@ -156,15 +152,15 @@ For a better Windows experience without risks:
**Undoing Tweaks**:
1. Select the same tweaks you applied
2. Click "Undo Selected Tweaks"
3. System will revert to previous state
2. Click **Undo Selected Tweaks**
3. The system reverts to the previous state
### Using Quick Fixes
For common Windows issues:
1. Go to **Config** tab
2. Navigate to **Fixes** section
1. Go to the **Config** tab
2. Navigate to the **Fixes** section
3. Select the appropriate fix:
- **Reset Network**: Fixes network connectivity issues
- **Reset Windows Update**: Resolves update problems
@@ -175,21 +171,21 @@ For common Windows issues:
For improved privacy and speed:
1. Go to **Config** or **Tweaks** tab
1. Go to the **Tweaks** tab
2. Find the DNS section
3. Select a provider:
- **Cloudflare**: Fast and privacy-focused
- **Google**: Reliable and widely used
- **Quad9**: Security-focused with malware blocking
- **AdGuard**: Blocks ads and trackers
4. Click Apply
4. Click **Apply**
## Understanding Presets
Winutil offers several preset configurations:
- **Minimal**: Minimal changes, keeps most Windows features
- **Standard**: Good middle-ground for most users
- **Minimal**: Minimal changes that keep most Windows features
- **Standard**: A good middle ground for most users
## Safety Tips
@@ -213,75 +209,37 @@ Winutil offers several preset configurations:
### Script Won't Download
**If the download fails**:
1. Try the direct GitHub link:
```powershell
irm https://github.com/ChrisTitusTech/Winutil/releases/latest/download/Winutil.ps1 | iex
```
2. Force TLS 1.2 (for older Windows versions):
```powershell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
irm "https://christitus.com/win" | iex
```
### Execution Policy Error
If you get an execution policy error:
```powershell
Set-ExecutionPolicy Unrestricted -Scope Process -Force
irm "https://christitus.com/win" | iex
```
### Download Blocked (India/Certain Regions)
If GitHub is blocked in your region:
1. Use a VPN service
2. Change DNS to Cloudflare (1.1.1.1) or Google (8.8.8.8)
3. Try again
### Interface Doesn't Appear
If Winutil downloads but doesn't open:
1. Check if antivirus is blocking it
2. Ensure you ran PowerShell as administrator
3. Try closing and reopening PowerShell
4. Check Windows Defender exclusions
If you get any errors when running Winutil please refer to [Known Issues](/knownissues/) page
## Next Steps
Now that you're set up, explore these guides:
- [Application Installation Guide](../application/) - Learn about installing software
- [Applications Guide](../application/) - Learn about installing, upgrading, and uninstalling software
- [Tweaks Guide](../tweaks/) - Understand system optimizations
- [FAQ](../../faq/) - Common questions and answers
- [FAQ](/faq/) - Common questions and answers
## Getting Help
If you need assistance:
- **Documentation**: Browse this documentation site
- **Known Issues**: Check the [Known Issues](../../knownissues/) page
- **Known Issues**: Check the [Known Issues](/knownissues/) page
- **Discord**: Join the [community Discord server](https://discord.gg/RUbZUZyByQ)
- **GitHub Issues**: Report bugs on [GitHub](https://github.com/ChrisTitusTech/winutil/issues)
- **YouTube**: Watch [video tutorials](https://www.youtube.com/watch?v=6UQZ5oQg8XA)
## Quick Reference Card
| Task | Location | Action |
| -------------------- | ----------- | ------------------------------------ |
| Install Apps | Install Tab | Check boxes Install Selected |
| Apply Tweaks | Tweaks Tab | Select tweaks → Run Tweaks |
| Undo Tweaks | Tweaks Tab | Select tweaks → Undo Selected Tweaks |
| Create Restore Point | Tweaks Tab | Essential Tweaks section |
| Fix Network | Config Tab | Fixes → Reset Network |
| Change DNS | Tweaks Tab | DNS section |
| Open Control Panel | Config Tab | Legacy Windows Panels |
| Task | Location | Action |
| ---- | -------- | ------ |
| Install or upgrade apps | Install tab | Check boxes -> Install/Upgrade Selected |
| Uninstall apps | Install tab | Check boxes -> Uninstall Selected |
| Apply tweaks | Tweaks tab | Select tweaks -> Run Tweaks |
| Undo tweaks | Tweaks tab | Select tweaks -> Undo Selected Tweaks |
| Create restore point | Tweaks tab | Essential Tweaks section |
| Fix network | Config tab | Fixes -> Reset Network |
| Change DNS | Tweaks tab | DNS section |
| Open Control Panel | Config tab | Legacy Windows Panels |
Happy optimizing! 🚀
Happy optimizing!

View File

@@ -1,19 +1,19 @@
---
title: Tweaks
weight: 3
weight: 4
---
{{< image src="images/Tweaks-Tab" alt="Image of Tweaks Tab" >}}
### Run Tweaks
* **Open Tweaks Tab**: Navigate to the 'Tweaks' tab in the application.
* **Open the Tweaks tab**: Navigate to the **Tweaks** tab in the application.
* **Select Tweaks**: Choose the tweaks you want to apply. You can use the presets available at the top for convenience.
* **Run Tweaks**: After selecting the desired tweaks, click the 'Run Tweaks' button at the bottom of the screen.
* **Run Tweaks**: After selecting the desired tweaks, click **Run Tweaks** at the bottom of the screen.
### Undo Tweaks
* **Open Tweaks Tab**: Go to the 'Tweaks' tab located next to 'Install'.
* **Open the Tweaks tab**: Go to the **Tweaks** tab located next to **Install**.
* **Select Tweaks to Remove**: Choose the tweaks you want to disable or remove.
* **Undo Tweaks**: Click the 'Undo Selected Tweaks' button at the bottom of the screen to apply the changes.
* **Undo Tweaks**: Click **Undo Selected Tweaks** at the bottom of the screen to apply the changes.
### Essential Tweaks
Essential Tweaks are modifications and optimizations that are generally safe for most users to implement. These tweaks are designed to enhance system performance, improve privacy, and reduce unnecessary system activities. They are considered low-risk and are recommended for users who want to ensure their system runs smoothly and efficiently without delving too deeply into complex configurations. The goal of Essential Tweaks is to provide noticeable improvements with minimal risk, making them suitable for a wide range of users, including those who may not have advanced technical knowledge.
@@ -21,10 +21,8 @@ Essential Tweaks are modifications and optimizations that are generally safe for
### Advanced Tweaks (CAUTION)
Advanced Tweaks are intended for experienced users who have a solid understanding of their system and the potential implications of making deep-level changes. These tweaks involve more significant alterations to the operating system and can provide substantial customization. However, they also carry a higher risk of causing system instability or unintended side effects if not implemented correctly. Users who choose to apply Advanced Tweaks should proceed with caution, ensuring they have adequate knowledge and backups in place to recover if something goes wrong. These tweaks are not recommended for novice users or those unfamiliar with the inner workings of their operating system.
### O&O Shutup
[O&O ShutUp10++](https://www.oo-software.com/en/shutup10) can be launched from Winutil with only one button click. It is a free privacy tool for Windows that lets users easily manage their privacy settings. It disables telemetry, controls updates, and manages app permissions to enhance security and privacy. The tool offers recommended settings for optimal privacy with just a few clicks.
### O&O ShutUp10++
[O&O ShutUp10++](https://www.oo-software.com/en/shutup10) can be launched from Winutil with one click. It is a free privacy tool for Windows that helps users manage telemetry, update behavior, and app permission settings.
{{< youtube id=3HvNr8eMcv0 loading=lazy >}}
@@ -41,16 +39,16 @@ The utility provides a convenient DNS selection feature, allowing users to choos
* [**Cloudflare_Malware_Adult**](https://developers.cloudflare.com/1.1.1.1/setup/#:~:text=Use%20the%20following%20DNS%20resolvers%20to%20block%20malware%20and%20adult%20content%3A): Blocks both malware and adult content, offering more comprehensive filtering.
* [**Open_DNS**](https://www.opendns.com/setupguide/#familyshield): Offers customizable filtering and enhanced security features.
* [**Quad9**](https://quad9.net/): Focuses on security by blocking known malicious domains.
* [**AdGuard_Ads_Trackers**](https://adguard-dns.io/en/welcome.html) AdGuard DNS will block ads, trackers, or any other DNS requests. Visit website and login for a dashboard, statistics and customize your experience in the server settings.
* [**AdGuard_Ads_Trackers_Malware_Adult**](https://adguard-dns.io/en/welcome.html) AdGuard DNS will block ads, trackers, adult content, and enable Safe Search and Safe Mode, where possible.
* [**AdGuard_Ads_Trackers**](https://adguard-dns.io/en/welcome.html): AdGuard DNS blocks ads, trackers, and other unwanted DNS requests. Visit the website and sign in for a dashboard, statistics, and additional server-side customization.
* [**AdGuard_Ads_Trackers_Malware_Adult**](https://adguard-dns.io/en/welcome.html): AdGuard DNS blocks ads, trackers, malware, and adult content, and enables Safe Search and Safe Mode where possible.
### Customize Preferences
The Customize Preferences section allows users to personalize their Windows experience by toggling various visual and functional features. These preferences are designed to enhance usability and tailor the system to the users specific needs and preferences.
The Customize Preferences section allows users to personalize their Windows experience by toggling visual and functional settings.
### Performance Plans
The Performance Plans section allows users to manage the Ultimate Performance Profile on their system. This feature is designed to optimize the system for maximum performance.
The Performance Plans section allows users to manage the Ultimate Performance Profile for maximum performance.
#### Add and activate the Ultimate Performance Profile:
* Enables and activates the Ultimate Performance Profile to enhance system performance by minimizing latency and increasing efficiency.

View File

@@ -1,21 +1,30 @@
The utility provides three distinct settings for managing Windows updates: Default (Out of Box) Settings, Security (Recommended) Settings, and Disable ALL Updates (NOT RECOMMENDED!). Each setting offers a different approach to handling updates, catering to various user needs and preferences.
---
title: Updates
weight: 6
---
Winutil provides three update modes so you can choose how aggressively Windows Update is managed on your system:
- **Default (Out of the Box) Settings**: Restores standard Windows Update behavior
- **Security (Recommended) Settings**: Prioritizes stability while still receiving security updates
- **Disable ALL Updates**: Turns off Windows Update entirely and should only be used with extreme caution
### Default (Out of Box) Settings
- **Description**: This setting retains the default configurations that come with Windows, ensuring no modifications are made.
- **Functionality**: It will remove any custom Windows update settings previously applied.
- **Note**: If update errors persist, reset all updates in the configuration tab to restore all Microsoft Update Services to their default settings, reinstalling them from their servers.
- **What it does**: Restores the default Windows Update configuration.
- **Best for**: Systems where you want Windows to manage updates normally.
- **Notes**: This removes custom update settings previously applied by Winutil. If update errors continue, use the reset option in the **Config** tab to restore Microsoft Update services to their default state.
### Security (Recommended) Settings
- **Description**: This is the recommended setting for all computers.
- **Update Schedule**:
- **Feature Updates**: Delays feature updates by 365 days to avoid potential bugs and instability.
- **Security Updates**: Installs security updates 4 days after their release to ensure system protection against pressing security flaws.
- **Rationale**:
- **Feature Updates**: Often introduce new features and bugs; delaying these updates minimizes the risk of system disruptions.
- **Security Updates**: Essential for patching critical security vulnerabilities. Delaying them by a few days allows for verification of stability and compatibility without leaving the system exposed for extended periods.
- **What it does**: Applies a more conservative update strategy designed for most users.
- **Feature updates**: Delayed by **365 days** to reduce the chance of disruption from major Windows changes.
- **Security updates**: Delayed by **4 days** to allow time for early issues to surface while still keeping the system protected.
- **Why use it**: This mode offers the best balance between security and stability, which is why it is the recommended option for most PCs.
### Disable ALL Updates (NOT RECOMMENDED!)
- **Description**: This setting completely disables all Windows updates.
- **Suitability**: May be appropriate for systems used for specific purposes that do not require active internet browsing.
- **Warning**: Disabling updates significantly increases the risk of the system being hacked or infected due to the lack of security patches.
- **Note**: It is strongly advised against using this setting due to the heightened security risks.
- **What it does**: Disables all Windows updates.
- **Best for**: Highly controlled or special-purpose systems where updates must remain off temporarily.
- **Warning**: This leaves the system without security patches and significantly increases security risk.
- **Recommendation**: Avoid this mode unless you fully understand the tradeoffs and have a specific reason to use it.

View File

@@ -1,21 +1,21 @@
---
title: Win 11 Creator
weight: 5
title: Win11 Creator
weight: 8
---
## Using Winutil's Win11 Creator
Winutil includes a built-in **Win11 Creator** tool that lets you take any official Windows 11 ISO and produce a customized, debloated version — with telemetry removed, hardware requirement checks bypassed, and local account setup enabled out of the box. You can export the result as a new ISO file or write it directly to a USB drive.
Winutil includes a built-in **Win11 Creator** tool that lets you take an official Windows 11 ISO and produce a customized, debloated version. The resulting image can remove telemetry, bypass hardware requirement checks, and enable local account setup out of the box. You can export the result as a new ISO file or write it directly to a USB drive.
> [!IMPORTANT]
> You need a valid Windows 11 ISO before starting. Download one from [Microsoft's official site](https://www.microsoft.com/en-us/software-download/windows11) or use [UUP Dump](https://uupdump.net/). The process uses ~1015 GB of temporary disk space, so make sure you have room.
> You need an **official Windows 11 ISO** from [Microsoft's website](https://www.microsoft.com/en-us/software-download/windows11) before starting. Custom, modified, or non-official ISOs are not supported. The process uses ~1015 GB of temporary disk space, so make sure you have room.
---
### Step 1 — Select Your ISO
### Step 1 — Select Your Official Windows 11 ISO
1. Open Winutil and go to the **Win11 Creator** tab.
2. Click **Browse** and select your Windows 11 ISO file (must be 4 GB or larger).
2. Click **Browse** and select your **official Windows 11 ISO file** from Microsoft (must be 4 GB or larger). Custom or modified ISOs are not supported.
3. The file path and size will appear on screen once selected.
---
@@ -35,26 +35,43 @@ Winutil includes a built-in **Win11 Creator** tool that lets you take any offici
Click **Run Windows ISO Modification and Creator** to start the customization process. Winutil will:
**App & Component Removal:**
- **Remove 40+ bloat apps** — Clipchamp, Teams, Copilot, Dev Home, new Outlook, Bing apps, Solitaire, and more
- **Delete OneDrive setup** from the image
- **Apply registry tweaks** — disables telemetry, advertising ID, tailored experiences, and cloud content features
- **Bypass hardware checks** — removes TPM, Secure Boot, CPU, and RAM requirement enforcement so the ISO installs on unsupported hardware
**System Customization:**
- **Bypass hardware checks** — removes TPM, Secure Boot, CPU, RAM, and storage requirement enforcement so the ISO installs on unsupported hardware
- **Enable local account setup** — injects an `autounattend.xml` that skips the Microsoft account screen during OOBE
- **Disable BitLocker and device encryption** — removes startup overhead
- **Disable Chat icon** — removes chat taskbar button
- **Strip unused editions** — keeps only your selected edition, saving 12 GB per removed edition
- **Clean the component store** — runs DISM cleanup to reclaim another 300800 MB
- **Remove telemetry scheduled tasks** — CEIP, Appraiser, WaaSMedic, and others
A live log shows progress as each step completes. This stage takes **1030 minutes** depending on your disk speed — the WIM dismount near the end is the slowest part, so don't close Winutil while it's running.
**Privacy & Telemetry Tweaks:**
- **Disable telemetry** — advertising ID, tailored experiences, input personalization, speech online privacy
- **Disable cloud content features** — app suggestions, Microsoft Store recommendations
- **Remove telemetry scheduled tasks** — CEIP, Appraiser, WaaSMedic, and others
- **Disable OneDrive folder backup** — prevents automatic backups to cloud
- **Prevent DevHome and Outlook post-setup installation**
- **Prevent Teams installation** — blocks auto-install after OOBE
- **Prevent new Outlook Mail app installation**
- **Disable Windows Update during OOBE** — re-enabled automatically on first login
- **Disable Copilot and search box suggestions**
**Optional: Driver Injection**
- If enabled, it injects all drivers from your current system into the install.wim and boot.wim — useful for offline installations on machines with missing drivers. This is an optional checkbox in Step 3.
A live log shows progress as each step completes. This stage usually takes **1030 minutes** depending on disk speed. The WIM dismount near the end is the slowest part, so do not close Winutil while it is running.
---
### Step 4 — Export Your Result
Once modification is complete, choose how to save your image:
Once the modification is complete, choose how to save your image:
{{< tabs items="Save as ISO,Write to USB" defaultIndex="0" >}}
{{< tabs >}}
{{< tab >}}
{{< tab name="Save as ISO" selected=true >}}
1. Click **Save as an ISO File**.
2. Choose a save location (defaults to your Desktop as `Win11_Modified_yyyyMMdd.iso`).
3. Winutil builds a dual BIOS/UEFI bootable ISO using `oscdimg.exe`.
@@ -65,7 +82,7 @@ Once modification is complete, choose how to save your image:
**Typical output size:** 2.53.5 GB (down from 56 GB original)
{{< /tab >}}
{{< tab >}}
{{< tab name="Write to USB" >}}
1. Click **Write Directly to a USB Drive**.
2. Select your USB drive from the dropdown (click **Refresh** if it doesn't appear).
3. Click **Erase & Write to USB** and confirm the warning — **all data on the drive will be permanently erased**.
@@ -83,7 +100,7 @@ Once modification is complete, choose how to save your image:
### Step 5 — Clean Up (Optional)
Click **Clean & Reset** to delete the temporary working directory (~1015 GB) and reset the tool back to its initial state, ready for a new ISO. You'll be asked to confirm before anything is deleted.
Click **Clean & Reset** to delete the temporary working directory (~1015 GB) and return the tool to its initial state, ready for a new ISO. You will be asked to confirm before anything is deleted.
---
@@ -94,9 +111,9 @@ When you install Windows 11 from your modified ISO:
- **No Microsoft account required** — create a local account directly during setup
- **No hardware checks** — installs on machines without TPM 2.0, Secure Boot, or supported CPUs
- **Dark mode enabled by default**
- **Empty taskbar and Start Menu** — no pinned apps
- **Windows Update re-enabled automatically** after first login (it's paused during OOBE to prevent interruption)
- **BitLocker disabled**, Recall disabled, desktop shortcuts removed
- **Empty taskbar and Start Menu** — no pinned apps, Chat icon removed
- **Windows Update disabled during OOBE** — automatically re-enabled on first login to prevent setup interruptions
- **BitLocker disabled** — removes startup overhead on first boot
---
@@ -112,14 +129,14 @@ When you install Windows 11 from your modified ISO:
---
A list of the best free and open source tools for downloading, creating and flashing Windows ISOs.
Below is a list of free and open-source tools for downloading, creating, and flashing Windows ISOs.
## Download Windows ISOs
| Tool | Description | Website |
|------|-------------|---------|
| **[UUP Dump](https://uupdump.net/)** | Download Windows UUP files directly from Microsoft's servers and convert them into a clean ISO — great for getting the latest builds | [uupdump.net](https://uupdump.net/) |
| **[Microsoft Media Creation Tool](https://www.microsoft.com/en-us/software-download/windows11)** | Microsoft's official tool for downloading and creating Windows 10/11 installation media | [microsoft.com](https://www.microsoft.com/en-us/software-download/windows11) |
| **[Microsoft Media Creation Tool](https://www.microsoft.com/en-us/software-download/windows11)** | Microsoft's official tool for downloading and creating Windows 11 installation media | [microsoft.com](https://www.microsoft.com/en-us/software-download/windows11) |
## Customize Windows ISOs
@@ -144,10 +161,10 @@ A list of the best free and open source tools for downloading, creating and flas
---
> [!TIP]
> Already have a Windows 11 ISO? Skip the third-party tools and use Winutil's built-in **[Win11 Creator](#using-winutilss-win11-creator)** at the top of this page.
> Already have a Windows 11 ISO? Skip the third-party tools and use Winutil's built-in **[Win11 Creator](#using-winutils-win11-creator)** at the top of this page.
> [!NOTE]
> Always download Windows ISOs from official Microsoft sources or trusted tools like Rufus/UUP Dump to avoid tampered images.
> [!NOTE]
> Newer Windows 11 ISOs may not boot correctly on older versions of Ventoy — make sure Ventoy is up to date before use. If issues persist after updating, this is a Ventoy compatibility limitation outside of Winutil's control.
> Newer Windows 11 ISOs may not boot correctly on older versions of Ventoy — make sure Ventoy is up to date before use. If issues persist after updating, this is a Ventoy compatibility limitation outside of Winutil's control.

View File

@@ -1,5 +1,5 @@
module github.com/ChrisTitusTech/WinUtil
go 1.23.3
go 1.26
require github.com/imfing/hextra v0.11.1 // indirect
require github.com/imfing/hextra v0.12.0 // indirect

View File

@@ -2,3 +2,5 @@ github.com/imfing/hextra v0.9.7 h1:Zg5n24us36Bn/S/5mEUPkRW6uwE6vHHEqWSgN0bPXaM=
github.com/imfing/hextra v0.9.7/go.mod h1:cEfel3lU/bSx7lTE/+uuR4GJaphyOyiwNR3PTqFTXpI=
github.com/imfing/hextra v0.11.1 h1:8pTc4ReYbzGTHAnyiebmlT3ijFfIXiGu1r7tM/UGjFI=
github.com/imfing/hextra v0.11.1/go.mod h1:cEfel3lU/bSx7lTE/+uuR4GJaphyOyiwNR3PTqFTXpI=
github.com/imfing/hextra v0.12.0 h1:f6y35hW/WDJEcx9S0dOmbICOBxYE0PmP6IJFsTUgVyY=
github.com/imfing/hextra v0.12.0/go.mod h1:YAv8XRNSmcqjieFwI7fVQK1AoY2Do+45DO9HGqxSGu4=

View File

@@ -12,29 +12,48 @@ canonifyURLs = true
path = "github.com/imfing/hextra"
[[menu.main]]
name = "Developer Documentation"
pageRef = "/dev"
identifier = "userguide"
name = "User Guides"
pageRef = "/userguide"
weight = 1
[[menu.main]]
name = "User Guides"
pageRef = "/userguide"
identifier = "documentation"
name = "Developer Documentation"
weight = 2
[[menu.main]]
identifier = "contribution-guides"
name = "Contribution Guides"
pageRef = "CONTRIBUTING.md"
weight = 1
parent = "documentation"
[[menu.main]]
identifier = "developer-documentation"
name = "Developer Docs"
pageRef = "/dev"
weight = 2
parent = "documentation"
[[menu.main]]
identifier = "help"
name = "Help"
weight = 3
[[menu.main]]
identifier = "faq"
name = "FAQ"
pageRef = "faq.md"
weight = 4
weight = 1
parent = "help"
[[menu.main]]
identifier = "known-issues"
name = "Known Issues"
pageRef = "KnownIssues.md"
weight = 4
weight = 2
parent = "help"
[[menu.main]]
name = "Store"

View File

@@ -1,5 +1,4 @@
copyright: "&copy; <script>document.write(new Date().getFullYear())</script>&nbsp;<a href='https://christitus.com'>Chris Titus Tech</a>. All rights reserved."
backToTop: "Scroll to top"
changeLanguage: "Change language"
changeTheme: "Change theme"

View File

@@ -34,21 +34,21 @@ function Get-WinUtilSelectedPackages
if ($package.choco -eq "na") {
Write-Debug "$($package.content) has no Choco value."
$null = $packagesWinget.add($($package.winget))
Write-Host "Queueing $($package.winget) for Winget"
Write-Host "Queueing $($package.winget) for WinGet..."
} else {
$null = $packagesChoco.add($package.choco)
Write-Host "Queueing $($package.choco) for Chocolatey"
Write-Host "Queueing $($package.choco) for Chocolatey..."
}
break
}
"Winget" {
if ($package.winget -eq "na") {
Write-Debug "$($package.content) has no Winget value."
Write-Debug "$($package.content) has no WinGet value."
$null = $packagesChoco.add($package.choco)
Write-Host "Queueing $($package.choco) for Chocolatey"
Write-Host "Queueing $($package.choco) for Chocolatey..."
} else {
$null = $packagesWinget.add($($package.winget))
Write-Host "Queueing $($package.winget) for Winget"
Write-Host "Queueing $($package.winget) for WinGet..."
}
break
}

View File

@@ -20,9 +20,9 @@ Function Get-WinUtilToggleStatus {
if (($ToggleSwitchReg.path -imatch "hku") -and !(Get-PSDrive -Name HKU -ErrorAction SilentlyContinue)) {
$null = (New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS)
if (Get-PSDrive -Name HKU -ErrorAction SilentlyContinue) {
Write-Debug "HKU drive created successfully"
Write-Debug "HKU drive created successfully."
} else {
Write-Debug "Failed to create HKU drive"
Write-Debug "Failed to create HKU drive."
}
}
} catch {

View File

@@ -10,6 +10,6 @@ function Install-WinUtilChoco {
return
}
Write-Host "Chocolatey is not installed, installing now."
Write-Host "Chocolatey is not installed. Installing now..."
Invoke-WebRequest -Uri https://community.chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression
}

View File

@@ -205,7 +205,7 @@ function Install-WinUtilProgramChoco {
Write-Host "Searching for metapackages of $Program (.install or .portable)"
$chocoPackages = ((choco list | Select-String -Pattern "$Program(\.install|\.portable)?").Matches.Value) -join " "
if ($chocoPackages) {
Write-Host "Starting uninstallation of $chocoPackages with Chocolatey."
Write-Host "Starting uninstallation of $chocoPackages with Chocolatey..."
try {
$uninstallStatusCode = Invoke-ChocoCommand "uninstall $chocoPackages -y"
Write-Host "$Program" $(if ($uninstallStatusCode -eq 0) { "uninstalled successfully." } else { "failed to uninstall." })

View File

@@ -28,10 +28,10 @@ Function Install-WinUtilProgramWinget {
Invokes the winget.exe with the provided arguments and return the exit code
.PARAMETER wingetId
The Id of the Program that Winget should Install/Uninstall
The Id of the Program that WinGet should Install/Uninstall
.NOTES
Invoke Winget uses the public variable $Action defined outside the function to determine if a Program should be installed or removed
Invoke WinGet uses the public variable $Action defined outside the function to determine if a Program should be installed or removed
#>
param (
[string]$wingetId
@@ -61,7 +61,7 @@ Function Install-WinUtilProgramWinget {
Contains the Install Logic and return code handling from winget
.PARAMETER Program
The Winget ID of the Program that should be installed
The WinGet ID of the Program that should be installed
#>
param (
[string]$Program
@@ -71,7 +71,7 @@ Function Install-WinUtilProgramWinget {
Write-Host "$($Program) installed successfully."
return $true
} elseif ($status -eq -1978335189) {
Write-Host "$($Program) No applicable update found"
Write-Host "No applicable update found for $($Program)."
return $true
}
@@ -82,10 +82,10 @@ Function Install-WinUtilProgramWinget {
Function Invoke-Uninstall {
<#
.SYNOPSIS
Contains the Uninstall Logic and return code handling from winget
Contains the Uninstall Logic and return code handling from WinGet
.PARAMETER Program
The Winget ID of the Program that should be uninstalled
The WinGet ID of the Program that should be uninstalled
#>
param (
[string]$Program
@@ -110,7 +110,7 @@ Function Install-WinUtilProgramWinget {
$failedPackages = @()
Write-Host "==========================================="
Write-Host "-- Configuring winget packages ---"
Write-Host "-- Configuring WinGet packages ---"
Write-Host "==========================================="
for ($i = 0; $i -lt $count; $i++) {
@@ -130,6 +130,6 @@ Function Install-WinUtilProgramWinget {
}
}
Set-WinUtilProgressBar -label "$($Action)ation done" -percent 100
Set-WinUtilProgressBar -label "$($Action) action done." -percent 100
return $failedPackages
}

View File

@@ -2,16 +2,16 @@ function Install-WinUtilWinget {
<#
.SYNOPSIS
Installs Winget if not already installed.
Installs WinGet if not already installed.
.DESCRIPTION
installs winget if needed
installs winGet if needed
#>
if ((Test-WinUtilPackageManager -winget) -eq "installed") {
return
}
Write-Host "Winget is not Installed. Installing." -ForegroundColor Red
Write-Host "WinGet is not installed. Installing now..." -ForegroundColor Red
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-PackageProvider -Name NuGet -Force

View File

@@ -21,7 +21,7 @@ function Invoke-WinUtilFeatureInstall {
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
} else {
Write-Warning "Unable to Install $feature due to unhandled exception"
Write-Warning "Unable to Install $feature due to unhandled exception."
Write-Warning $CheckBox.Exception.StackTrace
}
}
@@ -40,7 +40,7 @@ function Invoke-WinUtilFeatureInstall {
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
} else {
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
Write-Warning "Unable to Install $feature due to unhandled exception"
Write-Warning "Unable to Install $feature due to unhandled exception."
Write-Warning $CheckBox.Exception.StackTrace
}
}

View File

@@ -49,8 +49,13 @@ function Invoke-WinUtilISOMountAndVerify {
Set-WinUtilProgressBar -Label "Mounting ISO..." -Percent 10
try {
$diskImage = Mount-DiskImage -ImagePath $isoPath -PassThru -ErrorAction Stop
$driveLetter = ($diskImage | Get-Volume).DriveLetter + ":"
Mount-DiskImage -ImagePath $isoPath -ErrorAction Stop | Out-Null
do {
Start-Sleep -Milliseconds 500
} until ((Get-DiskImage -ImagePath $isoPath | Get-Volume).DriveLetter)
$driveLetter = (Get-DiskImage -ImagePath $isoPath | Get-Volume).DriveLetter + ":"
Write-Win11ISOLog "Mounted at drive $driveLetter"
Set-WinUtilProgressBar -Label "Verifying ISO contents..." -Percent 30
@@ -128,7 +133,7 @@ function Invoke-WinUtilISOModify {
if (-not $isoPath) {
[System.Windows.MessageBox]::Show(
"No verified ISO found. Please complete Steps 1 and 2 first.",
"No verified ISO found. Please complete Steps 1 and 2 first.",
"Not Ready", "OK", "Warning")
return
}
@@ -144,6 +149,7 @@ function Invoke-WinUtilISOModify {
Write-Win11ISOLog "Selected edition: $selectedEditionName (Index $selectedWimIndex)"
$sync["WPFWin11ISOModifyButton"].IsEnabled = $false
$sync["Win11ISOModifying"] = $true
$existingWorkDir = Get-Item -Path (Join-Path $env:TEMP "WinUtil_Win11ISO*") -ErrorAction SilentlyContinue |
Where-Object { $_.PSIsContainer } | Sort-Object LastWriteTime -Descending | Select-Object -First 1
@@ -303,6 +309,7 @@ function Invoke-WinUtilISOModify {
})
} finally {
Start-Sleep -Milliseconds 800
$sync["Win11ISOModifying"] = $false
$sync["WPFWin11ISOStatusLog"].Dispatcher.Invoke([action]{
$sync.progressBarTextBlock.Text = ""
$sync.progressBarTextBlock.ToolTip = ""
@@ -323,6 +330,11 @@ function Invoke-WinUtilISOModify {
function Invoke-WinUtilISOCheckExistingWork {
if ($sync["Win11ISOContentsDir"] -and (Test-Path $sync["Win11ISOContentsDir"])) { return }
# Check if ISO modification is currently in progress
if ($sync["Win11ISOModifying"]) {
return
}
$existingWorkDir = Get-Item -Path (Join-Path $env:TEMP "WinUtil_Win11ISO*") -ErrorAction SilentlyContinue |
Where-Object { $_.PSIsContainer } | Sort-Object LastWriteTime -Descending | Select-Object -First 1
@@ -404,12 +416,12 @@ function Invoke-WinUtilISOCleanAndReset {
Log "WIM dismounted successfully."
}
} elseif (Test-Path $mountDir) {
Log "No mounted WIM reported by Get-WindowsImage, running DISM /Cleanup-Wim as a precaution..."
Log "No mounted WIM reported by Get-WindowsImage. Running DISM /Cleanup-Wim as a precaution..."
SetProgress "Running DISM cleanup..." 3
& dism /English /Cleanup-Wim 2>&1 | ForEach-Object { Log $_ }
}
} catch {
Log "Warning: could not dismount WIM cleanly, attempting DISM /Cleanup-Wim fallback: $_"
Log "Warning: could not dismount WIM cleanly. Attempting DISM /Cleanup-Wim fallback: $_"
try { & dism /English /Cleanup-Wim 2>&1 | ForEach-Object { Log $_ } }
catch { Log "Warning: DISM /Cleanup-Wim also failed: $_" }
}

View File

@@ -5,7 +5,7 @@ function Invoke-WinUtilISORefreshUSBDrives {
$combo.Items.Clear()
if ($removable.Count -eq 0) {
$combo.Items.Add("No USB drives detected")
$combo.Items.Add("No USB drives detected.")
$combo.SelectedIndex = 0
$sync["Win11ISOUSBDisks"] = @()
Write-Win11ISOLog "No USB drives detected."
@@ -26,7 +26,7 @@ function Invoke-WinUtilISOWriteUSB {
$usbDisks = $sync["Win11ISOUSBDisks"]
if (-not $contentsDir -or -not (Test-Path $contentsDir)) {
[System.Windows.MessageBox]::Show("No modified ISO content found. Please complete Steps 1-3 first.", "Not Ready", "OK", "Warning")
[System.Windows.MessageBox]::Show("No modified ISO content found. Please complete Steps 1-3 first.", "Not Ready", "OK", "Warning")
return
}
@@ -103,13 +103,24 @@ function Invoke-WinUtilISOWriteUSB {
try {
SetProgress "Formatting USB drive..." 10
# Phase 1: Clean disk via diskpart
# Phase 1: Clean disk via diskpart (retry once if the drive is not yet ready)
$dpFile1 = Join-Path $env:TEMP "winutil_diskpart_$(Get-Random).txt"
"select disk $diskNum`nclean`nexit" | Set-Content -Path $dpFile1 -Encoding ASCII
Log "Running diskpart clean on Disk $diskNum..."
diskpart /s $dpFile1 2>&1 | Where-Object { $_ -match '\S' } | ForEach-Object { Log " diskpart: $_" }
$dpCleanOut = diskpart /s $dpFile1 2>&1
$dpCleanOut | Where-Object { $_ -match '\S' } | ForEach-Object { Log " diskpart: $_" }
Remove-Item $dpFile1 -Force -ErrorAction SilentlyContinue
if (($dpCleanOut -join ' ') -match 'device is not ready') {
Log "Disk $diskNum was not ready; waiting 5 seconds and retrying clean..."
Start-Sleep -Seconds 5
Update-Disk -Number $diskNum -ErrorAction SilentlyContinue
$dpFile1b = Join-Path $env:TEMP "winutil_diskpart_$(Get-Random).txt"
"select disk $diskNum`nclean`nexit" | Set-Content -Path $dpFile1b -Encoding ASCII
diskpart /s $dpFile1b 2>&1 | Where-Object { $_ -match '\S' } | ForEach-Object { Log " diskpart: $_" }
Remove-Item $dpFile1b -Force -ErrorAction SilentlyContinue
}
# Phase 2: Initialize as GPT
Start-Sleep -Seconds 2
Update-Disk -Number $diskNum -ErrorAction SilentlyContinue
@@ -122,7 +133,8 @@ function Invoke-WinUtilISOWriteUSB {
Log "Disk $diskNum converted to GPT (was $($diskObj.PartitionStyle))."
}
# Phase 3: Create FAT32 partition via diskpart
# Phase 3: Create FAT32 partition via diskpart, then format with Format-Volume
# (diskpart's 'format' command can fail with "no volume selected" on fresh/never-formatted drives)
$volLabel = "W11-" + (Get-Date).ToString('yyMMdd')
$dpFile2 = Join-Path $env:TEMP "winutil_diskpart2_$(Get-Random).txt"
$maxFat32PartitionMB = 32768
@@ -136,28 +148,38 @@ function Invoke-WinUtilISOWriteUSB {
@(
"select disk $diskNum"
$createPartitionCommand
"format quick fs=fat32 label=`"$volLabel`""
"exit"
) | Set-Content -Path $dpFile2 -Encoding ASCII
Log "Creating partitions on Disk $diskNum..."
diskpart /s $dpFile2 2>&1 | Where-Object { $_ -match '\S' } | ForEach-Object { Log " diskpart: $_" }
Remove-Item $dpFile2 -Force -ErrorAction SilentlyContinue
SetProgress "Assigning drive letters..." 30
SetProgress "Formatting USB partition..." 25
Start-Sleep -Seconds 3
Update-Disk -Number $diskNum -ErrorAction SilentlyContinue
$partitions = Get-Partition -DiskNumber $diskNum -ErrorAction Stop
Log "Partitions on Disk $diskNum after format: $($partitions.Count)"
Log "Partitions on Disk $diskNum after creation: $($partitions.Count)"
foreach ($p in $partitions) {
Log " Partition $($p.PartitionNumber) Type=$($p.Type) Letter=$($p.DriveLetter) Size=$([math]::Round($p.Size/1MB))MB"
}
$winpePart = $partitions | Where-Object { $_.Type -eq "Basic" } | Select-Object -Last 1
if (-not $winpePart) {
throw "Could not find the WINPE (Basic) partition on Disk $diskNum after format."
throw "Could not find the Basic partition on Disk $diskNum after creation."
}
# Format using Format-Volume (reliable on fresh drives; diskpart format fails
# with 'no volume selected' when the partition has never been formatted before)
Log "Formatting Partition $($winpePart.PartitionNumber) as FAT32 (label: $volLabel)..."
Get-Partition -DiskNumber $diskNum -PartitionNumber $winpePart.PartitionNumber |
Format-Volume -FileSystem FAT32 -NewFileSystemLabel $volLabel -Force -Confirm:$false | Out-Null
Log "Partition $($winpePart.PartitionNumber) formatted as FAT32."
SetProgress "Assigning drive letters..." 30
Start-Sleep -Seconds 2
Update-Disk -Number $diskNum -ErrorAction SilentlyContinue
try { Remove-PartitionAccessPath -DiskNumber $diskNum -PartitionNumber $winpePart.PartitionNumber -AccessPath "$($winpePart.DriveLetter):" -ErrorAction SilentlyContinue } catch {}
$usbLetter = Get-FreeDriveLetter
if (-not $usbLetter) { throw "No free drive letters (D-Z) available to assign to the USB data partition." }
@@ -166,6 +188,12 @@ function Invoke-WinUtilISOWriteUSB {
Start-Sleep -Seconds 2
$usbDrive = "${usbLetter}:"
$retries = 0
while (-not (Test-Path $usbDrive) -and $retries -lt 6) {
$retries++
Log "Waiting for $usbDrive to become accessible (attempt $retries/6)..."
Start-Sleep -Seconds 2
}
if (-not (Test-Path $usbDrive)) { throw "Drive $usbDrive is not accessible after letter assignment." }
Log "USB data partition: $usbDrive"

View File

@@ -9,12 +9,12 @@ function Invoke-WinUtilSSHServer {
# Install the OpenSSH Server feature if not already installed
if ($FeatureName.State -ne "Installed") {
Write-Host "Enabling OpenSSH Server"
Write-Host "Enabling OpenSSH Server..."
Add-WindowsCapability -Online -Name $FeatureName.Name
}
# Sets up the OpenSSH Server service
Write-Host "Starting the services"
Write-Host "Starting the services..."
Start-Service -Name sshd
Set-Service -Name sshd -StartupType Automatic
@@ -50,7 +50,7 @@ function Invoke-WinUtilSSHServer {
}
#Adding Firewall rule for port 22
Write-Host "Setting up firewall rules"
Write-Host "Setting up firewall rules..."
$firewallRule = (Get-NetFirewallRule -Name 'sshd').Enabled
if ($firewallRule) {
Write-Host "Firewall rule for OpenSSH Server (sshd) already exists."

View File

@@ -21,7 +21,7 @@ function Invoke-WinUtilScript {
)
try {
Write-Host "Running Script for $name"
Write-Host "Running Script for $Name"
Invoke-Command $scriptblock -ErrorAction Stop
} catch [System.Management.Automation.CommandNotFoundException] {
Write-Warning "The specified command was not found."
@@ -37,7 +37,7 @@ function Invoke-WinUtilScript {
Write-Warning $PSItem.Exception.message
} catch {
# Generic catch block to handle any other type of exception
Write-Warning "Unable to run script for $name due to unhandled exception"
Write-Warning "Unable to run script for $Name due to unhandled exception."
Write-Warning $psitem.Exception.StackTrace
}

View File

@@ -60,7 +60,7 @@ function Invoke-WinUtilTweaks {
$changeservice = $false
}
} catch [System.ServiceProcess.ServiceNotFoundException] {
Write-Warning "Service $($psitem.Name) was not found"
Write-Warning "Service $($psitem.Name) was not found."
}
}
@@ -76,9 +76,9 @@ function Invoke-WinUtilTweaks {
if (($psitem.Path -imatch "hku") -and !(Get-PSDrive -Name HKU -ErrorAction SilentlyContinue)) {
$null = (New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS)
if (Get-PSDrive -Name HKU -ErrorAction SilentlyContinue) {
Write-Debug "HKU drive created successfully"
Write-Debug "HKU drive created successfully."
} else {
Write-Debug "Failed to create HKU drive"
Write-Debug "Failed to create HKU drive."
}
}
Set-WinUtilRegistry -Name $psitem.Name -Path $psitem.Path -Type $psitem.Type -Value $psitem.$($values.registry)

View File

@@ -7,5 +7,5 @@ function Invoke-WinUtilUninstallPSProfile {
Remove-Item $Profile
}
Write-Host "Successfully uninstalled CTT Powershell Profile" -ForegroundColor Green
Write-Host "Successfully uninstalled CTT PowerShell Profile." -ForegroundColor Green
}

View File

@@ -59,17 +59,19 @@ function Reset-WPFCheckBoxes {
$sync.selectedApps | Foreach-Object { Add-SelectedAppsMenuItem -name $($sync.configs.applicationsHashtable.$_.Content) -key $_ }
if($doToggles) {
# Restore toggle switch states
# Restore toggle switch states from imported config.
# Only act on toggles that are explicitly listed in the import — toggles absent
# from the export file were not part of the saved config and should keep whatever
# state the live system already has (set during UI initialisation via Get-WinUtilToggleStatus).
$importedToggles = $sync.selectedToggles
$allToggles = $sync.GetEnumerator() | Where-Object { $_.Key -like "WPFToggle*" -and $_.Value -is [System.Windows.Controls.CheckBox] }
foreach ($toggle in $allToggles) {
if ($importedToggles -contains $toggle.Key) {
$sync[$toggle.Key].IsChecked = $true
Write-Debug "Restoring toggle: $($toggle.Key) = checked"
} else {
$sync[$toggle.Key].IsChecked = $false
Write-Debug "Restoring toggle: $($toggle.Key) = unchecked"
}
# Toggles not present in the import are intentionally left untouched;
# their current UI state already reflects the real system state.
}
}
}

View File

@@ -15,7 +15,7 @@ function Set-WinUtilDNS {
if($DNSProvider -eq "Default") {return}
try {
$Adapters = Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
Write-Host "Ensuring DNS is set to $DNSProvider on the following interfaces"
Write-Host "Ensuring DNS is set to $DNSProvider on the following interfaces:"
Write-Host $($Adapters | Out-String)
Foreach ($Adapter in $Adapters) {
@@ -27,7 +27,7 @@ function Set-WinUtilDNS {
}
}
} catch {
Write-Warning "Unable to set DNS Provider due to an unhandled exception"
Write-Warning "Unable to set DNS Provider due to an unhandled exception."
Write-Warning $psitem.Exception.StackTrace
}
}

View File

@@ -31,7 +31,7 @@ function Set-WinUtilRegistry {
if(!(Test-Path 'HKU:\')) {New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS}
If (!(Test-Path $Path)) {
Write-Host "$Path was not found, Creating..."
Write-Host "$Path was not found. Creating..."
New-Item -Path $Path -Force -ErrorAction Stop | Out-Null
}
@@ -44,13 +44,13 @@ function Set-WinUtilRegistry {
Remove-ItemProperty -Path $Path -Name $Name -Force -ErrorAction Stop | Out-Null
}
} catch [System.Security.SecurityException] {
Write-Warning "Unable to set $Path\$Name to $Value due to a Security Exception"
Write-Warning "Unable to set $Path\$Name to $Value due to a Security Exception."
} catch [System.Management.Automation.ItemNotFoundException] {
Write-Warning $psitem.Exception.ErrorRecord
} catch [System.UnauthorizedAccessException] {
Write-Warning $psitem.Exception.Message
} catch {
Write-Warning "Unable to set $Name due to unhandled exception"
Write-Warning "Unable to set $Name due to unhandled exception."
Write-Warning $psitem.Exception.StackTrace
}
}

Some files were not shown because too many files have changed in this diff Show More