Compare commits

...

153 Commits

Author SHA1 Message Date
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
Chris Titus
b493737982 Win11 Creator USB and Log Fixes (#4139)
* initial usb fixes

* fix full button width

* Cleanup and Verbose output for copy

* expand ui and fix clean and reset

* Add minimal driver injection

* initial driver support

* fix verbage

* fix syntax error

* create log file on iso generation

* inject to boot.wim for install

* fix single driver install issues

* fix first run probs

* cleanup injection

* improve clean up

* Fix OSCDIMG output and cleanup comments

* Fix Scrollviewer in Status Log

* large drive support and change to Exfat

* Fix BOOT for older UEFI and Add error checks for small usb drives

* fix single usb drive error
2026-03-03 00:19:37 -06:00
Chris Titus
7ceb303f00 chore: Update generated dev docs (#4138) 2026-03-02 13:08:27 -06:00
Paweł Gwozdowski
30c9812d37 Fix typos and inconsistent punctuation in tweaks & apps descriptions (#4136)
* Update tweaks.json

* Update applications.json

* Update feature.json

* Update tweaks.json

* Update tweaks.json

* more typos

* Update applications.json
2026-03-02 13:07:54 -06:00
KamaleiZestri
ddc10b0935 Unite preferences (#4133)
* One preference file

* Set default before converting types
2026-03-02 13:05:43 -06:00
Chris Titus
a2e2395ce9 chore: Update generated dev docs (#4137) 2026-03-02 13:05:08 -06:00
Gabi
ce5e407a76 Add WPFToggleStandbyFix (#4132)
* Add WPFToggleStandbyFix

* Update config/tweaks.json

Co-authored-by: Paweł Gwozdowski <kernea.g@proton.me>

---------

Co-authored-by: Paweł Gwozdowski <kernea.g@proton.me>
2026-03-02 13:04:34 -06:00
Eren
3fb5c04693 Fix import/export functionality (#4131)
* fix: cast selections to string to prevent PSCustomObject type issues

* fix(presets): clear existing selections before importing to replace state instead of merging

* refactor(impex): warn user when exporting empty selections or importing empty config
2026-03-02 13:02:48 -06:00
Sean (ANGRYxScotsman)
58dacd5b0b New win 11 Creator page (#4115)
* made Win 11 Creator page

* update store to application
2026-02-25 13:50:36 -06:00
Chris Titus
14ad9f7fea Win11 iso (#4113)
* Tab creation

* scaffold outline for the iso tab

* autounattended creation

* inital modification success

* iso save success

* cleanup and iso improvements

* fix startmenu on new 26h2

* remove old first startup

* Fix run for use

* fix unapproved verb

* Keep step 4 output expanded

* update auto-merge

* Cleanup

* remove out-null and trailing whitespace

* explain modify and creator button

* fix scroll to end

* remove workflow change

* fix home updates
2026-02-24 15:50:41 -06:00
Gabi
52afab2252 Remove edge (#4112) 2026-02-24 15:40:41 -06:00
Chris Titus
2ba3a5d324 Win11 ISO Creator (#4110)
* Tab creation

* scaffold outline for the iso tab

* autounattended creation

* inital modification success

* iso save success

* cleanup and iso improvements

* fix startmenu on new 26h2

* remove old first startup

* Fix run for use

* fix unapproved verb

* Keep step 4 output expanded

* update auto-merge

* Cleanup

* remove out-null and trailing whitespace

* explain modify and creator button

* fix scroll to end

* remove workflow change
2026-02-24 15:28:49 -06:00
Chris Titus
f854d14117 chore: Update generated dev docs (#4105) 2026-02-23 18:28:56 -06:00
Chris Titus
19204534a2 Add --admin flag to auto-merge command 2026-02-23 18:28:25 -06:00
Chris Titus
a9d9b148db Change GH_TOKEN to use AUTO_MERGE secret 2026-02-23 18:26:20 -06:00
Chris Titus Tech
d5d0bf25f0 automerge docs 2026-02-23 14:53:46 -06:00
Chris Titus Tech
da3fd87f9a revise approval 2026-02-23 14:46:15 -06:00
Chris Titus Tech
9e8cefc973 fix automerge 2026-02-23 14:43:52 -06:00
Gabi
a532e9ec9d Remove WPFTweaksDisableExplorerAutoDiscovery From Minimal Preset (#4081)
* WPFTweaksDisableExplorerAutoDiscovery Shouldn't not be deafult

* Update preset.json

* Update tweaks.json

* Update config/tweaks.json

Co-authored-by: Paweł Gwozdowski <kernea.g@proton.me>

---------

Co-authored-by: Paweł Gwozdowski <kernea.g@proton.me>
2026-02-23 10:17:01 -06:00
dependabot[bot]
844979fee7 Bump peter-evans/create-pull-request from 6 to 8 (#4104)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 8.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v8)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: '8'
  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-02-23 09:23:33 -06:00
Sean (ANGRYxScotsman)
78302934ef updated workflows for automation (#4102)
* updated workflows for automation

* added back the debug logs

* Update docs.yaml

* Update pre-release.yaml
2026-02-22 21:25:59 -06:00
Gabi
349889b194 Minor format changes for Invoke-WPFSystemRepair.ps1 (#4100)
* Format changes

* Update Invoke-WPFSystemRepair.ps1
2026-02-22 17:31:54 -06:00
Raphaël
c619f3a830 Add more development tools to applications.json (#4093)
* Add .NET Desktop Runtime 10 to applications.json

* Add LLVM to applications.json

* Add NASM to applications.json
2026-02-22 17:30:43 -06:00
KamaleiZestri
d005a225a2 NoUI mode and Concurrency edits (#4092)
* Autorun changes

* Missed a handle

* Remove todo

---------

Co-authored-by: Chris Titus <dfm.titus@gmail.com>
2026-02-22 17:28:55 -06:00
Gabi
e79e946e76 Remove incorrect infromaiton from WPFTweaksRazerBlock (#4082) 2026-02-22 17:23:19 -06:00
github-actions[bot]
3b957e1a77 Update sponsors in README (#4095)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-02-22 17:21:52 -06:00
Gabi
d078d67b1d Remove debug option (#4094)
* Remove debug option

* Remove debug option
2026-02-22 17:21:32 -06:00
Gabi
191fe95572 Update-KnownIssues.md (#4096)
* Update KnownIssues.md

* Update KnownIssues.md
2026-02-22 17:20:39 -06:00
Sean (ANGRYxScotsman)
d10c9413ac Update devdocs-generator (#4091)
* Update devdocs-generator.ps1

* made new dir

* Update devdocs-generator.ps1

* Update devdocs-generator.ps1
2026-02-22 17:19:43 -06:00
Chris Titus
e93753e5c9 Json-Cleanup-Expansion (#4090)
* initial cleanup

* remove winutilgpu
2026-02-22 17:19:04 -06:00
Gabi
5eec99df1c Fix title screen image url (#4087) 2026-02-18 15:29:41 -06:00
Gabi
7e2ba41b8b Update inputXML.xaml (#4089) 2026-02-18 15:29:14 -06:00
Chris Titus
d3dc3e7976 Merge branches 'main' and 'main' of https://github.com/ChrisTitusTech/winutil 2026-02-18 14:44:33 -06:00
Gabi
5a4d822710 Fix more images in CONTRIBUTING.md (#4086) 2026-02-18 14:44:19 -06:00
Chris Titus
2625478ef3 assign docs label 2026-02-18 14:41:00 -06:00
github-actions[bot]
956a544c2e Update generated documentation (#4084)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-02-18 14:33:39 -06:00
Gabi
50dbf5bd05 Fix fork image (#4085) 2026-02-18 14:32:29 -06:00
Gabi
338c3e7e57 Add warning to WPFToggleStartMenuRecommendations (#4083) 2026-02-18 14:31:38 -06:00
Gabi
1a0e084d7e Add Undoscript to WPFToggleTaskbarAlignment (#4079) 2026-02-18 14:23:09 -06:00
Gabi
89147414a0 Fix WPFTweaksRemoveCopilot's InvokeScript (#4077) 2026-02-18 14:22:23 -06:00
Gabi
ae4b3f3ac7 Remove file missing error from running complie.ps1 (#4078)
* Remove Validatsion of the ExcludedItems List From complie.ps1 and remove annoying warning

* Update Invoke-Preprocessing.ps1
2026-02-18 14:21:45 -06:00
Chris Titus
043ec9abe0 Merge branch 'main' of https://github.com/ChrisTitusTech/winutil 2026-02-18 14:18:55 -06:00
Chris Titus
5c92fcbde5 delete branch after it merges 2026-02-18 14:18:53 -06:00
github-actions[bot]
b1094c9177 chore: Update Generated Dev Docs (#4076)
* Update generated documentation

* trigger workflow

---------

Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2026-02-18 20:17:33 +00:00
Chris Titus
9ab1c6bbd3 automerge pat 2026-02-18 14:16:07 -06:00
Chris Titus
97d3ada895 update auto merge 2026-02-18 14:11:15 -06:00
Chris Titus
8212b3ed5e Merge branch 'main' of https://github.com/ChrisTitusTech/winutil 2026-02-18 13:57:50 -06:00
Chris Titus
d410667c6d auto approve docs 2026-02-18 13:57:48 -06:00
Gabi
e51e345438 Update tweaks.json (#4074) 2026-02-18 12:40:53 -06:00
github-actions[bot]
3404f185f1 Update generated documentation (#4075)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-02-18 12:37:09 -06:00
Chris Titus
f15c212df5 no persist on perms workflow 2026-02-18 12:34:23 -06:00
Chris Titus
152c157b51 fix docs to create pr 2026-02-18 12:31:08 -06:00
Sean (ANGRYxScotsman)
80e54a0ea5 updated doc workflow (#4069)
* updated workflow

* changed the commit message

* fixed spacing in copyright

i will notice these issues before committing in future lol

* Update devdocs-generator.md
2026-02-18 11:51:44 -06:00
Gabi
7fb1643378 Someone touched my perfect code for WPFTweaksRemoveCopilot (#4068) 2026-02-18 11:45:05 -06:00
Eren
f6c0c9682c apply escaping (#4071) 2026-02-18 11:44:42 -06:00
github-actions[bot]
b7ef73cb10 Update sponsors in README (#4073)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-02-18 11:17:51 -06:00
Chris Titus
0b76ab3aa4 verbose checks for if PR is needed 2026-02-18 11:14:52 -06:00
Chris Titus
436e3c353e persist creds 2026-02-18 11:10:57 -06:00
Chris Titus
50ca97575b update perms 2026-02-18 11:08:56 -06:00
Chris Titus
618561e5cf update to pr for sponsors 2026-02-18 10:59:30 -06:00
Chris Titus
725244c28e change to issue pr 2026-02-18 10:52:46 -06:00
Chris Titus
d4c768315b update sponsors 2026-02-18 10:45:21 -06:00
Gabi
e909d1a847 Delete WPFTweaksLaptopHibernation (#4066) 2026-02-17 14:24:29 -06:00
Gabi
dcfa68476a Add-WPFTweaksRevertStartMenu (#4023)
* Add WPFTweaksRevertStartMenu

* Create revertstartmenu.md

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json

* Update revertstartmenu.md

* Update tweaks.json

* Update tweaks.json

* Update revertstartmenu.md

* Update tweaks.json
2026-02-17 13:49:54 -06:00
Eren
60d31a1fe0 Hightlight FOSS Apps (#4065)
* add foss tag functionality

* update applications

* update

* update

* fix

* update

* update

* fix formatting
2026-02-17 13:35:26 -06:00
Gabi
5476cd928f Fix WPFTweaksEdgeDebloat block copilot not working (#4063)
* Fix WPFTweaksEdgeDebloat block copilot not working

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json
2026-02-17 13:31:44 -06:00
Gabi
84f2046912 Update-WPFTweaksWidget (#4058)
* Update WPFTweaksWidget how did you miss this chris?

* Fix WPFTweaksWidget not working
2026-02-17 13:30:37 -06:00
Gabi
586fd56603 Update-Invoke-WPFSystemRepair.ps1 (#4043)
* Update Invoke-WPFSystemRepair.ps1

* Update Invoke-WPFSystemRepair.ps1

* add chkdsk back in to tell users if there disk is broken

* Merge branch 'Update-Invoke-WPFSystemRepair' of https://github.com/gabinun/winutil into pr/GabiNun/4043

* add doc
2026-02-17 12:55:51 -06:00
KamaleiZestri
70a94abe02 Decoupled UI and data (#4051)
* Decoupled UI and data

* Fix bad variable naming

* Fix mistype

* Fix mistype v2

Editing from mobile is hard
2026-02-17 12:39:44 -06:00
KamaleiZestri
0e41122d89 More microwin files to delete (#4050) 2026-02-17 12:31:23 -06:00
Gabi
4e7416a2dc Remove Adobe Creative Cloud (#4048)
* Delete functions/public/Invoke-WPFRunAdobeCCCleanerTool.ps1

* Update feature.json
2026-02-17 12:30:38 -06:00
Gabi
61a6265cf9 Fix WPFTweaksBlockAdobeNet (#4042)
* Fix WPFTweaksBlockAdobeNet

* Update tweaks.json
2026-02-17 12:29:41 -06:00
Sean (ANGRYxScotsman)
5582c3cb44 More winutil docs update (#4038)
* updated the gen to add a blackline under the frontmatter and added .md file in the same location with breakdown on what the script does

* copyright fix.

found out the reason why it rendered correctly on my pc and not with site builder. it was because we use --minify for the site builder and i have not been using that on the local instance

* Update pre-release.yaml

* Update en.yaml
2026-02-17 12:28:36 -06:00
Gabi
08b24c7187 Change 'Get Installed' to 'Show Installed Apps' (#4027)
* Update appnavigation.json

* Update _index.md

* Update inputXML.xaml

* Update Invoke-WinUtilCurrentSystem.ps1

* Update Invoke-WinUtilCurrentSystem.ps1
2026-02-12 14:37:11 -06:00
KamaleiZestri
5fcc288037 Disable Sticky Keys shortcut added to toggle (#4028)
* disable sticky keys shortcut

* Merge branch 'main' into sticky
2026-02-12 14:36:17 -06:00
Gabi
8e8b0bb296 Make WPFToggleTaskbarAlignment restart explorer (#4034) 2026-02-12 14:35:31 -06:00
Eren
be8d20d478 export and import toggle switch states in config JSON (#4037)
* feat: add support for importing and exporting WPFToggle checkbox states.

* feat: add export and import

* remove unnecessary buttons from tweaks tab

* Merge branch 'main' into feature/import-export

* Merge branch 'main' into feature/import-export
2026-02-12 14:34:28 -06:00
Sean (ANGRYxScotsman)
9b03b94435 more winutil website update and new features (#4030)
* updated theme to the latest version

* Update en.yaml

* removed all the order from the docs

* add the store link

* update homepage

* add filename and line number to all the code blocks and also removed pages

* auto pull the code from the json files

* Merge branch 'main' into winutil-new-features

* the script updated linenostart=

* Delete LaptopHibernation.md
2026-02-12 14:33:11 -06:00
Eren
9d841687e3 Fix winget package uninstallation issues (#4036)
* refactor: refine Program parameter type to string

* refactor: rename `Invoke-WPFRunspace` parameter `ArgumentList` to `ParameterList`
2026-02-12 13:52:09 -06:00
Gabi
20046d4b73 Delete-WPFTweaksLaptopHibernation (#4031)
* Update tweaks.json

* Delete docs/content/dev/tweaks/Essential-Tweaks/LaptopHibernation.md

---------

Co-authored-by: Chris Titus <dfm.titus@gmail.com>
2026-02-11 09:31:05 -06:00
Eren
b2ccb3669b Content-based Automatic Sorting (#4022)
* Implement Auto-sorting instead of manually defining order

* ffix visual bugs
2026-02-11 09:28:09 -06:00
Sean (ANGRYxScotsman)
aaed116798 added frontmatter to pages (#4024)
* added frontmatter to widget.md

* update more pages

* updated copyright to automatically pull the year
2026-02-10 17:59:31 -06:00
Gabi
354b09ec0d Fix-WPFTweaksWidget (#4025)
* Fix WPFTweaksWidget

* Update Widget.md
2026-02-10 17:56:10 -06:00
Sean (ANGRYxScotsman)
cfde1b5a92 Edited some things i forgot to do (#4019)
* move debloat edge to z--advanced-tweaks---caution

* updated frontmatter on the pages i have the shortcodes
2026-02-10 14:32:17 -06:00
Gabi
4ebe1a3535 Update WPFTweaksRemoveOneDrive to remove OneSyncSvc Service (#3991)
* Update tweaks.json

* Update RemoveOneDrive.md

* Update RemoveOneDrive.md

* Update tweaks.json

* Update RemoveOneDrive.md
2026-02-10 14:22:32 -06:00
Gabi
6708756574 Add xbox removal tweak (#4013)
* Update tweaks.json

* Create XboxRemoval.md

* Update tweaks.json

* Update XboxRemoval.md

* Update tweaks.json
2026-02-10 14:21:33 -06:00
Gabi
301059fd3f Add/remove a few packages to WPFTweaksDeBloat (#4012)
* Add/remove a few packages from WPFTweaksDeBloat

* Update DeBloat.md

* Update DeBloat.md

* Update tweaks.json

* Update tweaks.json

* Update DeBloat.md
2026-02-10 14:19:35 -06:00
dependabot[bot]
df8d92cf11 Bump actions/github-script from 7 to 8 (#4011)
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  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-02-10 14:18:42 -06:00
Chris Titus Tech
6cda509604 fix formatting 2026-02-10 14:18:09 -06:00
KamaleiZestri
8a8fed517c Unify $winutildir (#4004) 2026-02-10 14:14:20 -06:00
Gabi
681f0ec3b9 Change WinUtilInstallPSProfile to use pwsh (#3998)
* Update Invoke-WinUtilInstallPSProfile.ps1

* Update Invoke-WinUtilInstallPSProfile.ps1

* Update Invoke-WinUtilInstallPSProfile.ps1

* Update Invoke-WinUtilInstallPSProfile.ps1

* Update Invoke-WinUtilInstallPSProfile.ps1

* Mention that ps profile is pwsh only
2026-02-10 14:10:04 -06:00
Gabi
4a31af4faf Added WSAIFabricSvc to WPFTweaksServices (#3992)
* Added WSAIFabricSvc to WPFTweaksServices

* Update Services.md
2026-02-10 14:07:39 -06:00
Gabi
4ddb2795ff Update-WPFTweaksTelemetry (#3974)
* Update tweaks.json

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json

* Update Telemetry.md

* Update tweaks.json

* Update Telemetry.md

* Update tweaks.json

* Update Telemetry.md

* Update tweaks.json
2026-02-10 14:03:02 -06:00
Gabi
d5b5784492 Added More apps (#3961)
* Added sendme

* Update applications.json

* Update applications.json

* Update applications.json

* Added potplayer

* Update applications.json

* Update applications.json
2026-02-10 13:53:39 -06:00
Gabi
15d0b42165 Add links to tweaks without links (#3969)
* Create WPBT.md

* Create RazerBlock.md

* Update tweaks.json

* Update tweaks.json

* Create RemoveEdge.md

* Delete docs/content/dev/tweaks/Essential-Tweaks/RemoveEdge.md

* Create RazerBlock.md

* Delete docs/content/dev/tweaks/Essential-Tweaks/RazerBlock.md
2026-02-10 13:52:59 -06:00
Sean (ANGRYxScotsman)
8fc7d30112 more winutil website updates (#3967)
* changed autolinks to now use frontmatter instead off #heading

* updated all docs with front matter names

* Update DisableLegacyRecovery.md

this was the same as EnableLegacyRecovery file

* made sure pages have got the corrects scripts on them

* Update default.md

updated the archetype default to make sure every new page had the title and description automatically on the front matter

* Create BraveDebloat.md

* added brave debloat link to tweaks.json

* Update tweaks.json

* Update tweaks.json
2026-02-10 13:49:36 -06:00
QuadFeed
a12ea71adb Update winget identifier for Zed application (#3966)
Changed from Zed.Zed to Zedindustries.Zed to fix install.
2026-02-10 13:48:00 -06:00
Gabi
b00c7b1ea2 Add Remove widgets (#3962)
* Update tweaks.json

* Create Widget.md

* Update tweaks.json

* Update Widget.md

* Update tweaks.json

* Update Widget.md

* Update Widget.md

* Update tweaks.json

* Update tweaks.json

* Update Widget.md
2026-02-10 13:42:45 -06:00
Chris Titus Tech
ef29ab9ffc remove hotfix 2026-02-10 13:41:42 -06:00
Chris Titus Tech
7219329d2c fix pr template to be clearer 2026-02-10 13:41:14 -06:00
Chris Titus
27b0a59abb Zeus-toggle-fix (#4017)
* Fix Get Installed toggle detection and multiple config bugs

Fixes the issue where "Get Installed" in the Tweaks tab was not correctly
pulling all toggle states, plus several additional config bugs discovered
during investigation.

Changes:
- Unified toggle detection logic using Get-WinUtilToggleStatus
- Fixed registry value detection (0 values were incorrectly treated as missing)
- Added DefaultState support for missing registry keys
- Fixed WPFTweaksUTC registry type (QWord → DWord)
- Fixed WPFTweaksServices startup types (TermService, VaultSvc: Automatic → Manual)
- Fixed duplicate order collisions in tweaks
- Fixed FFmpeg display name
- Improved OneDrive removal script reliability
- Improved Copilot removal script with wildcard pattern and null check
- Fixed code formatting (added spaces after if/Foreach statements)

Files changed:
- functions/private/Invoke-WinUtilCurrentSystem.ps1
- functions/private/Get-WinUtilToggleStatus.ps1
- config/tweaks.json
- config/applications.json

Fixes #3762
Fixes #3189
Fixes #3876
Potentially fixes #3008
Potentially fixes #3815

* Fix toggles

---------

Co-authored-by: Akhil Achanta <akhilachanta8@gmail.com>
2026-02-10 13:37:37 -06:00
Chris Titus
457f1820c4 Revert "Fix Get Installed toggle detection and multiple config bugs (#3959)" (#4016)
This reverts commit 414cd139e2.
2026-02-10 13:33:07 -06:00
Akhil Kumar Achanta
414cd139e2 Fix Get Installed toggle detection and multiple config bugs (#3959)
Fixes the issue where "Get Installed" in the Tweaks tab was not correctly
pulling all toggle states, plus several additional config bugs discovered
during investigation.

Changes:
- Unified toggle detection logic using Get-WinUtilToggleStatus
- Fixed registry value detection (0 values were incorrectly treated as missing)
- Added DefaultState support for missing registry keys
- Fixed WPFTweaksUTC registry type (QWord → DWord)
- Fixed WPFTweaksServices startup types (TermService, VaultSvc: Automatic → Manual)
- Fixed duplicate order collisions in tweaks
- Fixed FFmpeg display name
- Improved OneDrive removal script reliability
- Improved Copilot removal script with wildcard pattern and null check
- Fixed code formatting (added spaces after if/Foreach statements)

Files changed:
- functions/private/Invoke-WinUtilCurrentSystem.ps1
- functions/private/Get-WinUtilToggleStatus.ps1
- config/tweaks.json
- config/applications.json

Fixes #3762
Fixes #3189
Fixes #3876
Potentially fixes #3008
Potentially fixes #3815
2026-02-10 13:29:50 -06:00
Gabi
e68e190ff3 Update-Compile (#3922)
* Update Compile.ps1

* Update Compile.ps1

* Update Compile.ps1

* Update Compile.ps1

* Update Compile.ps1

* Update Compile.ps1
2026-02-10 13:19:46 -06:00
Chris Titus
86097572b0 fix adobe hosts (#3955) 2026-02-10 12:53:16 -06:00
titus
94d45a30fa fix docs to only run on main branch and not forks 2026-02-09 12:30:07 -06:00
Gabi
fcc5481477 Remove microwin (#3999)
* Delete microwin functions

* Update main.ps1

* Remove oscdimg.exe which is used by microwin

* Delete config/autounattend.xml

* Update .gitignore

* Update bug_report.yaml

* Update themes.json

* Update Invoke-WinUtilFontScaling.ps1

* Update Invoke-AutoConfigDialog.ps1

* Update Invoke-WPFButton.ps1

* Update inputXML.xaml

* Delete docs/assets/images/microwin directory

* Delete docs/assets/images/MicroWinScreen.png

* Delete docs/assets/images/Microwin-Dark.png

* Delete docs/assets/images/Microwin-Light.png

* Update faq.md

* Update KnownIssues.md

* Update getting-started.md

* Update _index.md

* Delete docs/content/userguide/microwin directory

* Update architecture.md

---------

Co-authored-by: Chris Titus <dfm.titus@gmail.com>
2026-02-06 10:29:10 -06:00
Chris Titus
ac116d7083 New install gui (#3995)
* cleanup and checkbox addition

* Make collapsable categories

* finish new install GUI

* Fix search
2026-02-06 10:26:29 -06:00
Pádraic Slattery
68ab69a19c chore: Update outdated GitHub Actions version (#3980) 2026-02-04 18:51:28 -06:00
Gabi
29efb989bd Fix Links (#3965)
* Fix Links

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json
2026-01-30 15:32:11 -06:00
Sean
99eb70d81b Docs, Winutil website update (#3947)
* Updated winutil website

add git ignore to not upload unnecessarily file. i have also updated microwin docs and added a copyright info to the footer

* Update _index.md

* Update KnownIssues.md

* Update links

update all the links for github to the corresponding pages. i have kept the original links aswell but commented out

* update hugo workflow to use version 0.147.0

* Update en.yaml

* update hugo toml to get rid off powered by

* Update docs.yaml

* Update KnownIssues.md

* Update KnownIssues.md

* Update KnownIssues.md

* Update compatibility note for MicroWin and Ventoy

* removed quad 9 dns

* fixed all the incorrect code block in markdown file

* Replace hardcoded page lists with auto-discovery shortcode

Created a new shortcode at docs/layouts/shortcodes/autolinks.html. This enables auto-discovery when creating new Markdown files, streamlining the workflow for future documentation updates.

* updated os requirements
2026-01-29 13:59:26 -06:00
Gabi
9013753d88 Remove snap assists toggles (#3954)
* Remove snap assists toggle

* Remove more snap stuff
2026-01-28 16:03:26 -06:00
Gabi
8ad96a9b6e Update tweaks.json (#3956) 2026-01-28 16:01:35 -06:00
titus
8ed3a31424 auto format and make categories for releases 2026-01-28 12:32:40 -06:00
titus
424d4030c1 add Gabi to close issues command 2026-01-28 12:14:01 -06:00
titus
f88c9be70d u 2026-01-28 11:49:50 -06:00
titus
bc4cd84127 update label pr 2026-01-28 11:47:41 -06:00
titus
54b4bcdda1 fix perms 2026-01-28 11:44:38 -06:00
Gabi
c5c23d8d18 Update Compile.ps1 (#3914) 2026-01-28 11:37:53 -06:00
Gabi
28e84af33d Update tweaks.json (#3910) 2026-01-28 11:33:14 -06:00
Gabi
832af914e9 Update Microwin-NewFirstRun.ps1 (#3938) 2026-01-28 11:26:44 -06:00
Bagus Nugroho Budi Nurtomo
6d9ed9026d Disable Brave Stats Ping (#3951)
Signed-off-by: Bagus Nurtomo <bagusthanatos@gmail.com>
2026-01-28 11:23:33 -06:00
Gabi
9e877afe0e Update Services.md (#3950) 2026-01-28 11:21:56 -06:00
titus
0c0ced381a UPDATE CODEOWNERS 2026-01-28 11:21:06 -06:00
Chris Titus
8ebd127857 add flush dns (#3953) 2026-01-28 11:17:06 -06:00
Sean
25a392877f Update inputXML.xaml (#3943) 2026-01-28 11:09:01 -06:00
Gabi
ef2c91b616 Add some apps from #1782 (#3948)
* Add imhex (Hex Editor)

* Add ffmpeg
2026-01-28 11:06:47 -06:00
Gabi
b52ead87f4 Delete orig-services.txt (#3949) 2026-01-28 11:05:29 -06:00
titus
2dcfc2b109 auto-label and fix pr template 2026-01-28 11:03:02 -06:00
241 changed files with 7556 additions and 8007 deletions

61
.github/CODEOWNERS vendored
View File

@@ -1,59 +1,2 @@
# This is a comment.
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @ChrisTitusTech
# Order is important; the last matching pattern takes the most
# precedence. When someone opens a pull request that only
# modifies JS files, only @js-owner and not the global
# owner(s) will be requested for a review.
# *.js @js-owner #This is an inline comment.
# You can also use email addresses if you prefer. They'll be
# used to look up users just like we do for commit author
# emails.
# *.go docs@example.com
# Teams can be specified as code owners as well. Teams should
# be identified in the format @org/team-name. Teams must have
# explicit write access to the repository. In this example,
# the octocats team in the octo-org organization owns all .txt files.
# *.txt @octo-org/octocats
# In this example, @doctocat owns any files in the build/logs
# directory at the root of the repository and any of its
# subdirectories.
# /build/logs/ @doctocat
# The `docs/*` pattern will match files like
# `docs/getting-started.md` but not further nested files like
# `docs/build-app/troubleshooting.md`.
# docs/* docs@example.com
# In this example, @octocat owns any file in an apps directory
# anywhere in your repository.
# apps/ @octocat
# In this example, @doctocat owns any file in the `/docs`
# directory in the root of your repository and any of its
# subdirectories.
# /docs/ @doctocat
# In this example, any change inside the `/scripts` directory
# will require approval from @doctocat or @octocat.
# /scripts/ @doctocat @octocat
# In this example, @octocat owns any file in a `/logs` directory such as
# `/build/logs`, `/scripts/logs`, and `/deeply/nested/logs`. Any changes
# in a `/logs` directory will require approval from @octocat.
# **/logs @octocat
# In this example, @octocat owns any file in the `/apps`
# directory in the root of your repository except for the `/apps/github`
# subdirectory, as its owners are left empty.
# /apps/ @octocat
# /apps/github
# Chris rules EVERYTHING (including paths listed below)
* @ChrisTitusTech

View File

@@ -68,9 +68,9 @@ graph TD
### Fork the Repo
* Fork the WinUtil Repository [here](https://github.com/ChrisTitusTech/winutil) to create a copy that will be available in your repository list.
![Fork Image](assets/Fork-Button-Dark.png#only-dark#gh-dark-mode-only)
![Fork Image](/docs/assets/images/Fork-Button-Dark.png#gh-dark-mode-only)
![Fork Image](assets/Fork-Button-Light.png#only-light#gh-light-mode-only)
![Fork Image](/docs/assets/images/Fork-Button-Light.png#only-light#gh-light-mode-only)
### Clone the Fork
!!! tip
@@ -94,22 +94,22 @@ graph TD
* Run the following command to compile and run WinUtil:
* `.\Compile.ps1 -run`
![Compile](assets/Compile.png)
![Compile](/docs/assets/images/Complie.png)
* After seeing that your changes work properly, feel free to commit the changes to the repository and make a PR. For help on that, follow the documentation below.
### Committing the changes
* Before committing your changes, please discard changes made to the `winutil.ps1` file, like the following:
![Push Commit Image](assets/Discard-GHD.png)
![Push Commit Image](/docs/assets/images/Discard-GHD.png)
* Now, commit your changes once you are happy with the result.
![Commit Image](assets/Commit-GHD.png)
![Commit Image](/docs/assets/images/Commit-GHD.png)
* Push the changes to upload them to your fork on github.com.
![Push Commit Image](assets/Push-Commit.png)
![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.

View File

@@ -6,11 +6,8 @@ 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.
## ⚠️ **IMPORTANT**
- 🛠️ **Supported environments only:** We only support Windows 11. Custom ISOs that are not made using Microwin are not supported.
- 🛠️ **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
@@ -24,11 +21,16 @@ body:
validations:
required: true
- type: input
- type: dropdown
id: affected_part
attributes:
label: 📜 What part of Winutil are you having issues with?
placeholder: "e.g., Microwin, 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
@@ -39,24 +41,8 @@ body:
validations:
required: true
- type: textarea
id: steps_to_reproduce
attributes:
label: 🔄 Steps to reproduce the issue.
placeholder: "e.g., Step 1: ..., Step 2: ..."
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

@@ -4,21 +4,13 @@
- [ ] New feature
- [ ] Bug fix
- [ ] Documentation update
- [ ] Refactoring
- [ ] Hotfix
- [ ] Security patch
- [ ] UI/UX improvement
<!-- This automatically adds labels to your PR based on the selections above. -->
## Description
<!--[Provide a detailed explanation of the changes you have made. Include the reasons behind these changes and any relevant context. Link any related issues.]-->
<!--[What does this PR do? Provide Screenshots when possible.]-->
## Issue related to PR
<!--[What issue/discussion is related to this PR (if any)]-->
<!--[List any ISSUES this is related to as it AUTO-CLOSES Them!]-->
- Resolves #
## Checklist
- [ ] My code adheres to the coding and style guidelines of the project.
- [ ] I have performed a self-review of my own code.
- [ ] I have commented my code, particularly in hard-to-understand areas.
- [ ] I have made corresponding changes to the documentation.
- [ ] My changes generate no errors/warnings/merge conflicts.

View File

@@ -4,15 +4,16 @@ categories:
labels:
- 'feature'
- 'enhancement'
- 'new feature'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'hotfix'
- 'bugfix'
- 'bug'
- title: '📚 Documentation'
label: 'documentation'
- title: '🔒 Security'
label: 'security'
- title: '🎨 UI/UX Improvements'
label: 'ui update'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
template: |
## Changes
@@ -31,7 +32,7 @@ autolabeler:
- '/fix\/.+/'
title:
- '/fix/i'
- label: 'enhancement'
- label: 'new feature'
branch:
- '/feature\/.+/'
body:
@@ -40,9 +41,6 @@ autolabeler:
files:
- '**/*.md'
- 'docs/**/*'
- label: 'security'
branch:
- '/security\/.+/'
replacers:
- search: /"/g
replace: ''

31
.github/workflows/auto-merge-docs.yaml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: Auto-merge Docs PRs
on:
pull_request:
types: [opened, synchronize, reopened]
branches:
- main
jobs:
auto-merge:
if: github.event.pull_request.head.ref == 'docs-update' && (github.event.pull_request.user.login == 'ChrisTitusTech' || github.event.pull_request.user.login == 'github-actions[bot]')
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Auto-approve PR
if: github.event.pull_request.user.login == 'github-actions[bot]'
run: gh pr review "$PR_NUMBER" --approve
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
GH_TOKEN: ${{ secrets.AUTO_MERGE }}
- name: Enable auto-merge
run: gh pr merge "$PR_NUMBER" --squash --delete-branch --admin
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
GH_TOKEN: ${{ secrets.AUTO_MERGE }}

View File

@@ -14,7 +14,7 @@ jobs:
contents: none
steps:
- name: Close inactive issues
uses: actions/stale@v8
uses: actions/stale@v10
with:
# A list of labels to reference when looking through issues,
# and only when one (or even more) of these labels are found..

View File

@@ -1,40 +1,36 @@
# Sample workflow for building and deploying a Hugo site to GitHub Pages
name: Deploy Hugo site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches:
- main
paths:
- 'docs/**' # ONLY triggers if files in the 'docs' folder are changed
# Allows you to run this workflow manually from the Actions tab
- "docs/**"
- "config/tweaks.json"
- "config/feature.json"
- "functions/**"
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
pull-requests: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
# Default to bash
defaults:
run:
shell: bash
jobs:
# Build job
build:
if: github.repository == 'ChrisTitusTech/winutil'
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.145.0
HUGO_VERSION: 0.156.0
HUGO_ENVIRONMENT: production
TZ: America/Chicago
steps:
@@ -47,9 +43,40 @@ jobs:
with:
submodules: recursive
fetch-depth: 0
persist-credentials: false
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Generate Dev Docs from JSON
shell: pwsh
run: |
Set-Location tools
./devdocs-generator.ps1
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.AUTO_MERGE }}
commit-message: 'chore: Update generated dev docs'
title: 'chore: Update Generated Dev Docs'
body: 'Automated update of generated documentation from JSON sources'
branch: docs-update
delete-branch: true
add-paths: |
docs/content/dev/
config/tweaks.json
config/feature.json
labels: |
automated
documentation
- name: Check outputs
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
- name: Install Node.js dependencies
run: "cd docs && [[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- name: Cache Restore
@@ -59,8 +86,7 @@ jobs:
path: |
${{ runner.temp }}/hugo_cache
key: hugo-${{ github.run_id }}
restore-keys:
hugo-
restore-keys: hugo-
- name: Build with Hugo
run: |
hugo \
@@ -82,6 +108,7 @@ jobs:
path: ./docs/public
deploy:
if: github.repository == 'ChrisTitusTech/winutil'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

View File

@@ -67,7 +67,7 @@ jobs:
id: check_user
if: env.command == 'true'
run: |
ALLOWED_USERS=("ChrisTitusTech" "og-mrk" "Marterich" "MyDrift-user" "Real-MullaC" "CodingWonders")
ALLOWED_USERS=("ChrisTitusTech" "og-mrk" "Marterich" "MyDrift-user" "Real-MullaC" "CodingWonders" "GabiNun")
if [[ " ${ALLOWED_USERS[@]} " =~ " ${{ github.event.comment.user.login }} " ]]; then
echo "user=true" >> $GITHUB_ENV
else

45
.github/workflows/label-pr.yaml vendored Normal file
View File

@@ -0,0 +1,45 @@
name: Label PRs by Type of Change
on:
pull_request_target:
types: [opened, edited, synchronize]
jobs:
label-pr:
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
contents: read # Often needed for github-script
steps:
- name: Check PR body for Type of Change
uses: actions/github-script@v8
with:
script: |
const prBody = context.payload.pull_request.body || '';
const labelsToAdd = [];
if (/\[x\]\s*New feature/i.test(prBody)) {
labelsToAdd.push('new feature');
}
if (/\[x\]\s*Bug fix/i.test(prBody)) {
labelsToAdd.push('bug');
}
if (/\[x\]\s*Documentation update/i.test(prBody)) {
labelsToAdd.push('documentation');
}
if (/\[x\]\s*Hotfix/i.test(prBody)) {
labelsToAdd.push('hotfix');
}
if (/\[x\]\s*UI\/UX improvement/i.test(prBody)) {
labelsToAdd.push('ui update');
}
if (labelsToAdd.length > 0) {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
labels: labelsToAdd
});
}

View File

@@ -3,6 +3,7 @@ name: Pre-Release WinUtil
permissions:
contents: write
actions: read
pull-requests: write
on:
workflow_dispatch: # Manual trigger added
@@ -16,12 +17,41 @@ jobs:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Generate Dev Docs and Update JSON Links
shell: pwsh
run: |
Set-Location tools
./devdocs-generator.ps1
- name: Compile project
shell: pwsh
run: |
Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1
continue-on-error: false # Directly fail the job on error, removing the need for a separate check
- name: Create Pull Request for Updated JSON Links
id: cpr
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.AUTO_MERGE }}
commit-message: 'chore: Update documentation links in JSON configs'
title: 'chore: Update Generated Dev Docs'
body: 'Automated update of documentation links in JSON configs from pre-release build'
branch: docs-update
delete-branch: true
add-paths: |
config/tweaks.json
config/feature.json
labels: |
automated
documentation
- name: Check outputs
shell: bash
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
- name: Set Version to Todays Date
id: extract_version
run: |
@@ -56,7 +86,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
config-name: release-drafter.yml
version: ${{ env.VERSION }} # Pass the version variable
version: ${{ env.VERSION }}
- name: Create and Upload Release
id: create_release

View File

@@ -5,6 +5,7 @@ on:
- cron: 30 15 * * 0-6
permissions:
contents: write
pull-requests: write
jobs:
deploy:
runs-on: ubuntu-latest
@@ -12,6 +13,8 @@ jobs:
steps:
- name: Checkout 🛎️
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Generate Sponsors 💖
uses: JamesIves/github-sponsors-readme-action@v1
@@ -19,8 +22,19 @@ jobs:
token: ${{ secrets.PAT }}
file: 'README.md'
- name: Deploy to GitHub Pages 🚀
uses: JamesIves/github-pages-deploy-action@v4
- name: Create Pull Request 🚀
id: cpr
uses: peter-evans/create-pull-request@v8
with:
branch: main
folder: '.'
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: 'Update sponsors in README'
title: 'chore: Update Sponsors README'
body: 'Automated update of sponsors section'
branch: sponsors-update
delete-branch: true
labels: automated
- name: Check outputs
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"

8
.gitignore vendored
View File

@@ -45,7 +45,6 @@ Microsoft.PowerShell.ConsoleHost.dll
# General
.DS_Store
microwin.log
True
test.ps1
winutil.ps1
@@ -55,4 +54,9 @@ winutil.ps1
binary/
.preprocessor_hashes.json
.preprocessor_hashes.json
# Hugo Files
docs/public/
docs/.hugo_build.lock
docs/resources/

View File

@@ -1,5 +1,4 @@
param (
[switch]$Debug,
[switch]$Run,
[string]$Arguments
)
@@ -12,12 +11,8 @@ $OFS = "`r`n"
$scriptname = "winutil.ps1"
$workingdir = $PSScriptRoot
Push-Location
Set-Location $workingdir
# Variable to sync between runspaces
$sync = [Hashtable]::Synchronized(@{})
$sync.PSScriptRoot = $workingdir
$sync.configs = @{}
function Update-Progress {
@@ -36,15 +31,6 @@ function Update-Progress {
Write-Progress -Activity $Activity -Status $StatusMessage -PercentComplete $Percent
}
$header = @"
################################################################################################################
### ###
### WARNING: This file is automatically generated DO NOT modify this file directly as it will be overwritten ###
### ###
################################################################################################################
"@
Update-Progress "Pre-req: Running Preprocessor..." 0
# Dot source the 'Invoke-Preprocessing' Function from 'tools/Invoke-Preprocessing.ps1' Script
@@ -65,7 +51,6 @@ $excludedFiles += @(
'.\LICENSE',
"$preprocessingFilePath",
'*.png',
'*.exe',
'.\.preprocessor_hashes.json'
)
@@ -76,9 +61,6 @@ Invoke-Preprocessing -WorkingDir "$workingdir" -ExcludedFiles $excludedFiles -Pr
Update-Progress "Pre-req: Allocating Memory" 0
$script_content = [System.Collections.Generic.List[string]]::new()
Update-Progress "Adding: Header" 5
$script_content.Add($header)
Update-Progress "Adding: Version" 10
$script_content.Add($(Get-Content "scripts\start.ps1").replace('#{replaceme}',"$(Get-Date -Format yy.MM.dd)"))
@@ -121,19 +103,26 @@ $xaml
'@
"@)
Update-Progress "Adding: autounattend.xml" 95
$autounattendRaw = Get-Content "$workingdir\tools\autounattend.xml" -Raw
# Strip XML comments (<!-- ... -->, including multi-line)
$autounattendRaw = [regex]::Replace($autounattendRaw, '<!--.*?-->', '', [System.Text.RegularExpressions.RegexOptions]::Singleline)
# Drop blank lines and trim trailing whitespace per line
$autounattendXml = ($autounattendRaw -split "`r?`n" |
Where-Object { $_.Trim() -ne '' } |
ForEach-Object { $_.TrimEnd() }) -join "`r`n"
$script_content.Add(@"
`$WinUtilAutounattendXml = @'
$autounattendXml
'@
"@)
$script_content.Add($(Get-Content "scripts\main.ps1"))
if ($Debug) {
Update-Progress "Writing debug files" 95
$appXamlContent | Out-File -FilePath "xaml\inputApp.xaml" -Encoding ascii
$tweaksXamlContent | Out-File -FilePath "xaml\inputTweaks.xaml" -Encoding ascii
$featuresXamlContent | Out-File -FilePath "xaml\inputFeatures.xaml" -Encoding ascii
} else {
Update-Progress "Removing temporary files" 99
Remove-Item "xaml\inputApp.xaml" -ErrorAction SilentlyContinue
Remove-Item "xaml\inputTweaks.xaml" -ErrorAction SilentlyContinue
Remove-Item "xaml\inputFeatures.xaml" -ErrorAction SilentlyContinue
}
Update-Progress "Removing temporary files" 99
Remove-Item "xaml\inputApp.xaml" -ErrorAction SilentlyContinue
Remove-Item "xaml\inputTweaks.xaml" -ErrorAction SilentlyContinue
Remove-Item "xaml\inputFeatures.xaml" -ErrorAction SilentlyContinue
Set-Content -Path "$scriptname" -Value ($script_content -join "`r`n") -Encoding ascii
Write-Progress -Activity "Compiling" -Completed
@@ -144,19 +133,12 @@ try {
} catch {
Write-Warning "Syntax Validation for 'winutil.ps1' has failed"
Write-Host "$($Error[0])" -ForegroundColor Red
Pop-Location # Restore previous location before exiting...
exit 1
}
Write-Progress -Activity "Validating" -Completed
if ($run) {
$script = "& '$workingdir\$scriptname' $Arguments"
$powershellcmd = if (Get-Command pwsh -ErrorAction SilentlyContinue) { "pwsh" } else { "powershell" }
$processCmd = if (Get-Command wt.exe -ErrorAction SilentlyContinue) { "wt.exe" } else { $powershellcmd }
Start-Process $processCmd -ArgumentList "$powershellcmd -NoProfile -Command $script"
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\Winutil.ps1 $Arguments
break
}
Pop-Location

View File

@@ -7,7 +7,7 @@
This utility is a compilation of Windows tasks I perform on each Windows system I use. It is meant to streamline *installs*, debloat with *tweaks*, troubleshoot with *config*, and fix Windows *updates*. I am extremely picky about any contributions to keep this project clean and efficient.
![screen-install](https://raw.githubusercontent.com/Chris-Titus-Docs/winutil-docs/refs/heads/main/assets/images/Title-Screen.png)
![screen-install](/docs/assets/images/Title-Screen.png)
## 💡 Usage
@@ -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/markamos"><img src="https:&#x2F;&#x2F;github.com&#x2F;markamos.png" width="60px" alt="User avatar: Mark Amos" /></a><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><!-- 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/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 -->
## 🏅 Thanks to all Contributors
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.

File diff suppressed because it is too large Load Diff

View File

@@ -38,25 +38,47 @@
"Order": "2",
"Description": "Use Chocolatey for package management"
},
"WPFCollapseAllCategories": {
"Content": "Collapse All Categories",
"Category": "__Selection",
"Type": "Button",
"Order": "1",
"Description": "Collapse all application categories"
},
"WPFExpandAllCategories": {
"Content": "Expand All Categories",
"Category": "__Selection",
"Type": "Button",
"Order": "2",
"Description": "Expand all application categories"
},
"WPFClearInstallSelection": {
"Content": "Clear Selection",
"Category": "__Selection",
"Type": "Button",
"Order": "1",
"Order": "3",
"Description": "Clear the selection of applications"
},
"WPFGetInstalled": {
"Content": "Get Installed",
"Content": "Show Installed Apps",
"Category": "__Selection",
"Type": "Button",
"Order": "2",
"Order": "4",
"Description": "Show installed applications"
},
"WPFselectedAppsButton": {
"Content": "Selected Apps: 0",
"Category": "__Selection",
"Type": "Button",
"Order": "3",
"Order": "5",
"Description": "Show the selected applications"
},
"WPFToggleFOSSHighlight": {
"Content": "Highlight FOSS",
"Category": "__Selection",
"Type": "Toggle",
"Checked": true,
"Order": "6",
"Description": "Toggle the green highlight for FOSS applications"
}
}

View File

@@ -1,442 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<!--https://schneegans.de/windows/unattend-generator/?LanguageMode=Unattended&UILanguage=en-US&Locale=en-US&Keyboard=00000409&GeoLocation=244&ProcessorArchitecture=amd64&BypassRequirementsCheck=true&BypassNetworkCheck=true&ComputerNameMode=Random&TimeZoneMode=Implicit&PartitionMode=Interactive&WindowsEditionMode=Unattended&WindowsEdition=pro&UserAccountMode=Unattended&AccountName0=User&AccountPassword0=&AccountGroup0=Administrators&AccountName1=&AccountName2=&AccountName3=&AccountName4=&AutoLogonMode=Own&PasswordExpirationMode=Unlimited&LockoutMode=Default&HideFiles=Hidden&DisableWidgets=true&ClassicContextMenu=true&DisableFastStartup=true&EnableLongPaths=true&DisableAppSuggestions=true&PreventDeviceEncryption=true&WifiMode=Skip&ExpressSettings=DisableAll&Remove3DViewer=true&RemoveBingSearch=true&RemoveCamera=true&RemoveClipchamp=true&RemoveClock=true&RemoveCopilot=true&RemoveCortana=true&RemoveDevHome=true&RemoveFamily=true&RemoveFeedbackHub=true&RemoveGetHelp=true&RemoveInternetExplorer=true&RemoveMailCalendar=true&RemoveMaps=true&RemoveMathInputPanel=true&RemoveZuneVideo=true&RemoveNews=true&RemoveNotepad=true&RemoveOffice365=true&RemoveOneDrive=true&RemoveOneNote=true&RemoveOpenSSHClient=true&RemoveOutlook=true&RemovePaint3D=true&RemovePeople=true&RemovePowerAutomate=true&RemoveQuickAssist=true&RemoveSkype=true&RemoveSolitaire=true&RemoveStepsRecorder=true&RemoveStickyNotes=true&RemoveTeams=true&RemoveGetStarted=true&RemoveToDo=true&RemoveVoiceRecorder=true&RemoveWeather=true&RemoveWindowsMediaPlayer=true&RemoveZuneMusic=true&RemoveWordPad=true&WdacMode=Skip-->
<settings pass="offlineServicing"></settings>
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<SetupUILanguage>
<UILanguage>en-US</UILanguage>
</SetupUILanguage>
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UserLocale>en-US</UserLocale>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<UserData>
<ProductKey>
<Key>VK7JG-NPHTM-C97JM-9MPGT-3V66T</Key>
</ProductKey>
<AcceptEula>true</AcceptEula>
</UserData>
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>2</Order>
<Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>3</Order>
<Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<settings pass="generalize"></settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>2</Order>
<Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>3</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Runonce" /v "UninstallCopilot" /t REG_SZ /d "powershell.exe -NoProfile -Command \"Get-AppxPackage -Name 'Microsoft.Windows.Ai.Copilot.Provider' | Remove-AppxPackage;\"" /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>4</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\WindowsCopilot" /v TurnOffWindowsCopilot /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>5</Order>
<Path>reg.exe unload "HKU\DefaultUser"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>6</Order>
<Path>reg.exe delete "HKLM\SOFTWARE\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\DevHomeUpdate" /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>7</Order>
<Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>8</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Notepad" /v ShowStoreBanner /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>9</Order>
<Path>reg.exe unload "HKU\DefaultUser"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>10</Order>
<Path>cmd.exe /c "del "C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk""</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>11</Order>
<Path>cmd.exe /c "del "C:\Windows\System32\OneDriveSetup.exe""</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>12</Order>
<Path>cmd.exe /c "del "C:\Windows\SysWOW64\OneDriveSetup.exe""</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>13</Order>
<Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>14</Order>
<Path>reg.exe delete "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Run" /v OneDriveSetup /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>15</Order>
<Path>reg.exe unload "HKU\DefaultUser"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>16</Order>
<Path>reg.exe delete "HKLM\SOFTWARE\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\OutlookUpdate" /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>17</Order>
<Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Communications" /v ConfigureChatAutoInstall /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>18</Order>
<Path>powershell.exe -NoProfile -Command "$xml = [xml]::new(); $xml.Load('C:\Windows\Panther\unattend.xml'); $sb = [scriptblock]::Create( $xml.unattend.Extensions.ExtractScript ); Invoke-Command -ScriptBlock $sb -ArgumentList $xml;"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>19</Order>
<Path>powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Temp\Microwin-RemovePackages.ps1' -Raw | Invoke-Expression;"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>20</Order>
<Path>powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Temp\remove-caps.ps1' -Raw | Invoke-Expression;"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>21</Order>
<Path>reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start" /v ConfigureStartPins /t REG_SZ /d "{ \"pinnedList\": [] }" /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>22</Order>
<Path>reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start" /v ConfigureStartPins_ProviderSet /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>23</Order>
<Path>reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start" /v ConfigureStartPins_WinningProvider /t REG_SZ /d B5292708-1619-419B-9923-E5D9F3925E71 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>24</Order>
<Path>reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\providers\B5292708-1619-419B-9923-E5D9F3925E71\default\Device\Start" /v ConfigureStartPins /t REG_SZ /d "{ \"pinnedList\": [] }" /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>25</Order>
<Path>reg.exe add "HKLM\SOFTWARE\Microsoft\PolicyManager\providers\B5292708-1619-419B-9923-E5D9F3925E71\default\Device\Start" /v ConfigureStartPins_LastWrite /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>26</Order>
<Path>net.exe accounts /maxpwage:UNLIMITED</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>27</Order>
<Path>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>28</Order>
<Path>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>29</Order>
<Path>reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Dsh" /v AllowNewsAndInterests /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>30</Order>
<Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>31</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>32</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>33</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>34</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>35</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>36</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>37</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>38</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>39</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>40</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>41</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>42</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>43</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>44</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>45</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>46</Order>
<Path>reg.exe unload "HKU\DefaultUser"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>47</Order>
<Path>reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>48</Order>
<Path>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\BitLocker" /v "PreventDeviceEncryption" /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>49</Order>
<Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>50</Order>
<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Runonce" /v "ClassicContextMenu" /t REG_SZ /d "reg.exe add \"HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32\" /ve /f" /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>51</Order>
<Path>reg.exe unload "HKU\DefaultUser"</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<settings pass="auditSystem"></settings>
<settings pass="auditUser"></settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UserLocale>en-US</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Name>User</Name>
<Group>Administrators</Group>
<Password>
<Value></Value>
<PlainText>true</PlainText>
</Password>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<AutoLogon>
<Username>User</Username>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
<Password>
<Value></Value>
<PlainText>true</PlainText>
</Password>
</AutoLogon>
<OOBE>
<ProtectYourPC>3</ProtectYourPC>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
</OOBE>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 0 /f</CommandLine>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
<Extensions xmlns="https://schneegans.de/windows/unattend-generator/">
<ExtractScript>
param(
[xml]$Document
);
$scriptsDir = 'C:\Windows\Setup\Scripts\';
foreach( $file in $Document.unattend.Extensions.File ) {
$path = [System.Environment]::ExpandEnvironmentVariables(
$file.GetAttribute( 'path' )
);
if( $path.StartsWith( $scriptsDir ) ) {
mkdir -Path $scriptsDir -ErrorAction 'SilentlyContinue';
}
$encoding = switch( [System.IO.Path]::GetExtension( $path ) ) {
{ $_ -in '.ps1', '.xml' } { [System.Text.Encoding]::UTF8; }
{ $_ -in '.reg', '.vbs', '.js' } { [System.Text.UnicodeEncoding]::new( $false, $true ); }
default { [System.Text.Encoding]::Default; }
};
[System.IO.File]::WriteAllBytes( $path, ( $encoding.GetPreamble() + $encoding.GetBytes( $file.InnerText.Trim() ) ) );
}
</ExtractScript>
<File path="C:\Windows\Temp\Microwin-RemovePackages.ps1">
$selectors = @(
'Microsoft.Microsoft3DViewer';
'Microsoft.BingSearch';
'Microsoft.WindowsCamera';
'Clipchamp.Clipchamp';
'Microsoft.WindowsAlarms';
'Microsoft.549981C3F5F10';
'Microsoft.Windows.DevHome';
'MicrosoftCorporationII.MicrosoftFamily';
'Microsoft.WindowsFeedbackHub';
'Microsoft.GetHelp';
'Microsoft.Getstarted';
'microsoft.windowscommunicationsapps';
'Microsoft.WindowsMaps';
'Microsoft.BingNews';
'Microsoft.WindowsNotepad';
'Microsoft.MicrosoftOfficeHub';
'Microsoft.Office.OneNote';
'Microsoft.OutlookForWindows';
'Microsoft.MSPaint';
'Microsoft.People';
'Microsoft.PowerAutomateDesktop';
'MicrosoftCorporationII.QuickAssist';
'Microsoft.SkypeApp';
'Microsoft.MicrosoftSolitaireCollection';
'Microsoft.MicrosoftStickyNotes';
'MSTeams';
'Microsoft.Todos';
'Microsoft.WindowsSoundRecorder';
'Microsoft.BingWeather';
'Microsoft.ZuneMusic';
'Microsoft.ZuneVideo';
);
$getCommand = { Get-AppxProvisionedPackage -Online; };
$filterCommand = { $_.DisplayName -eq $selector; };
$removeCommand = {
[CmdletBinding()]
param(
[Parameter( Mandatory, ValueFromPipeline )]
$InputObject
);
process {
$InputObject | Remove-AppxProvisionedPackage -AllUsers -Online -ErrorAction 'Continue';
}
};
$type = 'Package';
$logfile = 'C:\Windows\Temp\Microwin-RemovePackages.log';
&amp; {
$installed = &amp; $getCommand;
foreach( $selector in $selectors ) {
$result = [ordered] @{
Selector = $selector;
};
$found = $installed | Where-Object -FilterScript $filterCommand;
if( $found ) {
$result.Output = $found | &amp; $removeCommand;
if( $? ) {
$result.Message = "$type removed.";
} else {
$result.Message = "$type not removed.";
$result.Error = $Error[0];
}
} else {
$result.Message = "$type not installed.";
}
$result | ConvertTo-Json -Depth 3 -Compress;
}
} *&gt;&amp;1 &gt;&gt; $logfile;
</File>
<File path="C:\Windows\Temp\remove-caps.ps1">
$selectors = @(
'Browser.InternetExplorer';
'MathRecognizer';
'OpenSSH.Client';
'App.Support.QuickAssist';
'App.StepsRecorder';
'Media.WindowsMediaPlayer';
'Microsoft.Windows.WordPad';
);
$getCommand = { Get-WindowsCapability -Online; };
$filterCommand = { ($_.Name -split '~')[0] -eq $selector; };
$removeCommand = {
[CmdletBinding()]
param(
[Parameter( Mandatory, ValueFromPipeline )]
$InputObject
);
process {
$InputObject | Remove-WindowsCapability -Online -ErrorAction 'Continue';
}
};
$type = 'Capability';
$logfile = 'C:\Windows\Temp\remove-caps.log';
&amp; {
$installed = &amp; $getCommand;
foreach( $selector in $selectors ) {
$result = [ordered] @{
Selector = $selector;
};
$found = $installed | Where-Object -FilterScript $filterCommand;
if( $found ) {
$result.Output = $found | &amp; $removeCommand;
if( $? ) {
$result.Message = "$type removed.";
} else {
$result.Message = "$type not removed.";
$result.Error = $Error[0];
}
} else {
$result.Message = "$type not installed.";
}
$result | ConvertTo-Json -Depth 3 -Compress;
}
} *&gt;&amp;1 &gt;&gt; $logfile;
</File>
<File path="C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml"><![CDATA[
<LayoutModificationTemplate Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
<LayoutOptions StartTileGroupCellWidth="6" />
<DefaultLayoutOverride>
<StartLayoutCollection>
<StartLayout GroupCellWidth="6" xmlns="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" />
</StartLayoutCollection>
</DefaultLayoutOverride>
</LayoutModificationTemplate>
]]></File>
</Extensions>
</unattend>

View File

@@ -4,7 +4,6 @@
"Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.",
"category": "Features",
"panel": "1",
"Order": "a010_",
"feature": [
"NetFx4-AdvSrvs",
"NetFx3"
@@ -17,7 +16,6 @@
"Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.",
"category": "Features",
"panel": "1",
"Order": "a011_",
"feature": [
"Microsoft-Hyper-V-All"
],
@@ -28,10 +26,9 @@
},
"WPFFeatureslegacymedia": {
"Content": "Legacy Media (WMP, DirectPlay)",
"Description": "Enables legacy programs from previous versions of windows",
"Description": "Enables legacy programs from previous versions of Windows.",
"category": "Features",
"panel": "1",
"Order": "a012_",
"feature": [
"WindowsMediaPlayer",
"MediaPlayback",
@@ -46,7 +43,6 @@
"Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.",
"category": "Features",
"panel": "1",
"Order": "a020_",
"feature": [
"VirtualMachinePlatform",
"Microsoft-Windows-Subsystem-Linux"
@@ -59,7 +55,6 @@
"Description": "Network File System (NFS) is a mechanism for storing files on a network.",
"category": "Features",
"panel": "1",
"Order": "a014_",
"feature": [
"ServicesForNFS-ClientOnly",
"ClientForNFS-Infrastructure",
@@ -79,7 +74,6 @@
"Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.",
"category": "Features",
"panel": "1",
"Order": "a017_",
"feature": [],
"InvokeScript": [
"
@@ -97,7 +91,6 @@
"Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
"category": "Features",
"panel": "1",
"Order": "a018_",
"feature": [],
"InvokeScript": [
"bcdedit /set bootmenupolicy legacy"
@@ -109,10 +102,9 @@
"Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
"category": "Features",
"panel": "1",
"Order": "a019_",
"feature": [],
"InvokeScript": [
"bcdedit /set bootmenupolicy standard"
"bcdedit /set bootmenupolicy standard"
],
"link": "https://winutil.christitus.com/dev/features/features/disablelegacyrecovery"
},
@@ -121,7 +113,6 @@
"Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.",
"category": "Features",
"panel": "1",
"Order": "a021_",
"feature": [
"Containers-DisposableClientVM"
],
@@ -131,71 +122,65 @@
"Content": "Install Features",
"category": "Features",
"panel": "1",
"Order": "a060_",
"Type": "Button",
"ButtonWidth": "300",
"function": "Invoke-WPFFeatureInstall",
"link": "https://winutil.christitus.com/dev/features/features/install"
},
"WPFPanelAutologin": {
"Content": "Set Up Autologin",
"category": "Fixes",
"Order": "a040_",
"panel": "1",
"Type": "Button",
"ButtonWidth": "300",
"function": "Invoke-WPFPanelAutologin",
"link": "https://winutil.christitus.com/dev/features/fixes/autologin"
},
"WPFFixesUpdate": {
"Content": "Reset Windows Update",
"category": "Fixes",
"panel": "1",
"Order": "a041_",
"Type": "Button",
"ButtonWidth": "300",
"function": "Invoke-WPFFixesUpdate",
"link": "https://winutil.christitus.com/dev/features/fixes/update"
},
"WPFFixesNetwork": {
"Content": "Reset Network",
"category": "Fixes",
"Order": "a042_",
"panel": "1",
"Type": "Button",
"ButtonWidth": "300",
"function": "Invoke-WPFFixesNetwork",
"link": "https://winutil.christitus.com/dev/features/fixes/network"
},
"WPFPanelDISM": {
"Content": "System Corruption Scan",
"category": "Fixes",
"panel": "1",
"Order": "a043_",
"Type": "Button",
"ButtonWidth": "300",
"function": "Invoke-WPFSystemRepair",
"link": "https://winutil.christitus.com/dev/features/fixes/dism"
},
"WPFFixesWinget": {
"Content": "WinGet Reinstall",
"category": "Fixes",
"panel": "1",
"Order": "a044_",
"Type": "Button",
"ButtonWidth": "300",
"function": "Invoke-WPFFixesWinget",
"link": "https://winutil.christitus.com/dev/features/fixes/winget"
},
"WPFRunAdobeCCCleanerTool": {
"Content": "Remove Adobe Creative Cloud",
"category": "Fixes",
"panel": "1",
"Order": "a045_",
"Type": "Button",
"ButtonWidth": "300",
"link": "https://winutil.christitus.com/dev/features/fixes/runadobecccleanertool"
},
"WPFPanelControl": {
"Content": "Control Panel",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"control"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/control"
},
"WPFPanelComputer": {
@@ -204,6 +189,9 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"compmgmt.msc"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/computer"
},
"WPFPanelNetwork": {
@@ -212,6 +200,9 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"ncpa.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/network"
},
"WPFPanelPower": {
@@ -220,6 +211,9 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"powercfg.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/power"
},
"WPFPanelPrinter": {
@@ -228,6 +222,9 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"Start-Process 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}'"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/printer"
},
"WPFPanelRegion": {
@@ -236,6 +233,9 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"intl.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/region"
},
"WPFPanelRestore": {
@@ -244,6 +244,9 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"rstrui.exe"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/restore"
},
"WPFPanelSound": {
@@ -252,7 +255,10 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/user"
"InvokeScript": [
"mmsys.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/sound"
},
"WPFPanelSystem": {
"Content": "System Properties",
@@ -260,6 +266,9 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"sysdm.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/system"
},
"WPFPanelTimedate": {
@@ -268,30 +277,36 @@
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"timedate.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/timedate"
},
"WPFWinUtilInstallPSProfile": {
"Content": "Install CTT PowerShell Profile",
"category": "Powershell Profile",
"category": "Powershell Profile Powershell 7+ Only",
"panel": "2",
"Order": "a083_",
"Type": "Button",
"ButtonWidth": "300"
"ButtonWidth": "300",
"function": "Invoke-WinUtilInstallPSProfile",
"link": "https://winutil.christitus.com/dev/features/powershell-profile-powershell-7--only/installpsprofile"
},
"WPFWinUtilUninstallPSProfile": {
"Content": "Uninstall CTT PowerShell Profile",
"category": "Powershell Profile",
"category": "Powershell Profile Powershell 7+ Only",
"panel": "2",
"Order": "a084_",
"Type": "Button",
"ButtonWidth": "300"
"ButtonWidth": "300",
"function": "Invoke-WinUtilUninstallPSProfile",
"link": "https://winutil.christitus.com/dev/features/powershell-profile-powershell-7--only/uninstallpsprofile"
},
"WPFWinUtilSSHServer": {
"Content": "Enable OpenSSH Server",
"category": "Remote Access",
"panel": "2",
"Order": "a084_",
"Type": "Button",
"ButtonWidth": "300"
"ButtonWidth": "300",
"function": "Invoke-WPFSSHServer",
"link": "https://winutil.christitus.com/dev/features/remote-access/sshserver"
}
}

View File

@@ -16,7 +16,6 @@
],
"Minimal": [
"WPFTweaksConsumerFeatures",
"WPFTweaksDisableExplorerAutoDiscovery",
"WPFTweaksWPBT",
"WPFTweaksServices",
"WPFTweaksTelemetry"

View File

@@ -1,8 +1,8 @@
{
"shared":{
"AppEntryWidth": "130",
"AppEntryWidth": "200",
"AppEntryFontSize": "11",
"AppEntryMargin": "1,1,1,1",
"AppEntryMargin": "1,0,1,0",
"AppEntryBorderThickness": "0",
"CustomDialogFontSize": "12",
"CustomDialogFontSizeHeader": "14",
@@ -25,8 +25,6 @@
"IconButtonSize": "35",
"SettingsIconFontSize": "18",
"CloseIconFontSize": "18",
"MicroWinLogoSize": "10",
"MicrowinCheckBoxMargin": "-10,5,0,0",
"GroupBorderBackgroundColor": "#232629",
"ButtonFontSize": "12",
"ButtonFontFamily": "Arial",
@@ -60,7 +58,6 @@
"ScrollBarHoverColor": "#5A5D62",
"ScrollBarDraggingColor": "#6A6D72",
"MicrowinBusyColor": "#2e77ff",
"ProgressBarForegroundColor": "#2e77ff",
"ProgressBarBackgroundColor": "Transparent",
"ProgressBarTextColor": "#232629",
@@ -68,10 +65,12 @@
"ButtonTweaksBackgroundColor": "#F7F7F7",
"ButtonConfigBackgroundColor": "#F7F7F7",
"ButtonUpdatesBackgroundColor": "#F7F7F7",
"ButtonWin11ISOBackgroundColor": "#F7F7F7",
"ButtonInstallForegroundColor": "#232629",
"ButtonTweaksForegroundColor": "#232629",
"ButtonConfigForegroundColor": "#232629",
"ButtonUpdatesForegroundColor": "#232629",
"ButtonWin11ISOForegroundColor": "#232629",
"ButtonBackgroundColor": "#F5F5F5",
"ButtonBackgroundPressedColor": "#1A1A1A",
"ButtonBackgroundMouseoverColor": "#C2C2C2",
@@ -91,7 +90,7 @@
"AppInstallOverlayBackgroundColor":"#2E3135",
"ComboBoxForegroundColor": "#F7F7F7",
"ComboBoxBackgroundColor": "#1E3747",
"LabelboxForegroundColor": "#0567ff",
"LabelboxForegroundColor": "#5bdcff",
"MainForegroundColor": "#F7F7F7",
"MainBackgroundColor": "#232629",
"LabelBackgroundColor": "#232629",
@@ -101,7 +100,6 @@
"ScrollBarHoverColor": "#3B4252",
"ScrollBarDraggingColor": "#5E81AC",
"MicrowinBusyColor": "#2e77ff",
"ProgressBarForegroundColor": "#222222",
"ProgressBarBackgroundColor": "Transparent",
"ProgressBarTextColor": "#232629",
@@ -109,10 +107,12 @@
"ButtonTweaksBackgroundColor": "#333333",
"ButtonConfigBackgroundColor": "#444444",
"ButtonUpdatesBackgroundColor": "#555555",
"ButtonWin11ISOBackgroundColor": "#666666",
"ButtonInstallForegroundColor": "#F7F7F7",
"ButtonTweaksForegroundColor": "#F7F7F7",
"ButtonConfigForegroundColor": "#F7F7F7",
"ButtonUpdatesForegroundColor": "#F7F7F7",
"ButtonWin11ISOForegroundColor": "#F7F7F7",
"ButtonBackgroundColor": "#1E3747",
"ButtonBackgroundPressedColor": "#F7F7F7",
"ButtonBackgroundMouseoverColor": "#3B4252",

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
---
title: '{{ replace .File.ContentBaseName "-" " " | title }}'
description: ""
date: '{{ .Date }}'
draft: true
title: '{{ replace .File.ContentBaseName "-" " " | title }}'
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

View File

@@ -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 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}`

View File

@@ -4,210 +4,26 @@ toc: true
---
### Download not working
If `https://christitus.com/win` is not working, or you want to download the code from GitHub directly, you can use the direct download link:
```
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:
```
[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 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).
If you are still having issues, try using a **VPN**, or changing your **DNS provider** to one of following two providers:
| Provider | Primary DNS | Secondary DNS |
|:------------:|:------------:|:-------------:|
| Cloudflare | `1.1.1.1` | `1.0.0.1` |
| Google | `8.8.8.8` | `8.8.4.4` |
| Provider | Primary DNS | Secondary DNS |
| :--------: | :---------: | :-----------: |
| Cloudflare | `1.1.1.1` | `1.0.0.1` |
| Google | `8.8.8.8` | `8.8.4.4` |
### Script Won't Run
### Script blocked by Execution Policy
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.
### MicroWin: Error `0x80041031`
This error code typically indicates an issue related to Windows Management Instrumentation (WMI). Here are a few steps you can try to resolve the issue:
1. **Reboot Your Computer:**
Sometimes, a simple reboot can resolve temporary issues. Restart your computer and try mounting the ISO again.
3. **Check for System Corruption:**
Run the System File Checker (SFC) utility to scan and repair system files that may be corrupted.
```powershell
sfc /scannow
```
4. **Update Your System:**
Make sure your operating system is up-to-date. Check for Windows updates and install any pending updates.
5. **Check WMI Service:**
Ensure that the Windows Management Instrumentation (WMI) service is running. You can do this through the Services application:
- Press `Win`+`R` to open the Run dialog.
- Type `services.msc` and press Enter.
- Locate *Windows Management Instrumentation* in the list.
- Make sure to set its status to "Running" and the startup type to "Automatic".
6. **Check for Security Software Interference:**
Security software can sometimes interfere with WMI operations. Temporarily disable your anti-virus or security software and check if the issue persists. WMI is a common attack/infection vector, so many anti-virus programs will limit its usage.
7. **Event Viewer:**
Check the Event Viewer for more detailed error information. Look for entries related to the `80041031` error and check if there are any additional details that can help identify the cause.
- Press `Win`+`X` and select *Event Viewer*.
- Navigate to *Windows Logs* > *Application* or *System*.
- Look for entries with the source related to WMI or the application use to mount the ISO.
8. **ISO File Integrity:**
Ensure that the ISO file you are trying to mount is uncorrupted. Try mounting a different ISO file to see if the issue persists.
If the problem persists after trying these steps, additional troubleshooting is required. Consider seeking assistance from Microsoft support or community forums for more specific guidance based on your system configuration and the software you use to mount the ISO.
## 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.
- In the PowerShell window, 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:
If your PowerShell session is running in **Constrained Language Mode**, some scripts and commands may fail to execute. To check the current language mode, run:
```powershell
$ExecutionContext.SessionState.LanguageMode
```
Get-Service -Name "XboxGipSvc" | Set-Service -StartupType Automatic
```
Related issue: [#198](https://github.com/ChrisTitusTech/Winutil/issues/198)
### Windows 11: Quick Settings no longer works
Launch the Script and click *Enable Action Center*.
### Explorer (file browser) no longer launches
- Press `Windows key`+`R` then type:
```bat
control /name Microsoft.FolderOptions
```
- Change the *Open File Explorer to* option to *This PC*.
### Battery drains too fast
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.
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.
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.

View File

@@ -22,5 +22,5 @@ irm "https://christitus.com/win" | iex
```
> [!NOTE]
> [!IMPORTANT]
> Winutil is updated frequently as of the time of writing. Consequently, features and functionalities may evolve, and the documentation may not always reflect the most current images or information.

View File

@@ -1,6 +1,7 @@
---
title: Developer Reference
weight: 3
toc: false
---
> [!NOTE]
@@ -14,95 +15,38 @@ weight: 3
### Essential Tweaks
- [Create Restore Point](tweaks/essential-tweaks/restorepoint/)
- [Debloat Edge](tweaks/essential-tweaks/edgedebloat/)
- [Delete Temporary Files](tweaks/essential-tweaks/deletetempfiles/)
- [Disable Activity History](tweaks/essential-tweaks/activity/)
- [Disable ConsumerFeatures](tweaks/essential-tweaks/consumerfeatures/)
- [Disable GameDVR](tweaks/essential-tweaks/gamedvr/)
- [Disable Hibernation](tweaks/essential-tweaks/hibernation/)
- [Disable Location Tracking](tweaks/essential-tweaks/location/)
- [Disable Powershell 7 Telemetry](tweaks/essential-tweaks/powershell7tele/)
- [Disable Storage Sense](tweaks/essential-tweaks/storage/)
- [Disable Telemetry](tweaks/essential-tweaks/telemetry/)
- [Enable End Task With Right Click](tweaks/essential-tweaks/endtaskontaskbar/)
- [Prefer IPv4 over IPv6](tweaks/essential-tweaks/ipv46/)
- [Run Disk Cleanup](tweaks/essential-tweaks/diskcleanup/)
- [Set Hibernation as default (good for laptops)](tweaks/essential-tweaks/laptophibernation/)
- [Set Services to Manual](tweaks/essential-tweaks/services/)
{{< autolinks section="dev/tweaks/essential-tweaks" >}}
### Advanced Tweaks (CAUTION)
- [Adobe Network Block](tweaks/z--advanced-tweaks---caution/blockadobenet/)
- [Disable Background Apps](tweaks/z--advanced-tweaks---caution/disablebgapps/)
- [Disable Fullscreen Optimizations](tweaks/z--advanced-tweaks---caution/disablefso/)
- [Disable IPv6](tweaks/z--advanced-tweaks---caution/disableipsix/)
- [Disable Microsoft Copilot](tweaks/z--advanced-tweaks---caution/removecopilot/)
- [Disable Notification Tray/Calendar](tweaks/z--advanced-tweaks---caution/disablenotifications/)
- [Disable Teredo](tweaks/z--advanced-tweaks---caution/teredo/)
- [DNS](tweaks/z--advanced-tweaks---caution/changedns/)
- [Remove ALL MS Store Apps - NOT RECOMMENDED](tweaks/z--advanced-tweaks---caution/debloat/)
- [Remove Home and Gallery from explorer](tweaks/z--advanced-tweaks---caution/removehomegallery/)
- [Make Edge Uninstallable](tweaks/z--advanced-tweaks---caution/edgeuninstall/)
- [Run OO Shutup 10](tweaks/z--advanced-tweaks---caution/oosubutton/)
- [Remove OneDrive](tweaks/z--advanced-tweaks---caution//removeonedrive)
- [Set Classic Right-Click Menu ](tweaks/z--advanced-tweaks---caution/rightclickmenu/)
- [Set Display for Performance](tweaks/z--advanced-tweaks---caution/display/)
- [Set Time to UTC (Dual Boot)](tweaks/z--advanced-tweaks---caution/utc/)
{{< autolinks section="dev/tweaks/z--advanced-tweaks---caution" >}}
### Customize Preferences
- [Bing Search in Start Menu](tweaks/customize-preferences/bingsearch/)
- [Center Taskbar Items](tweaks/customize-preferences/taskbaralignment/)
- [Dark Theme for Windows](tweaks/customize-preferences/darkmode/)
- [Detailed BSoD](tweaks/customize-preferences/detailedbsod/)
- [Mouse Acceleration](tweaks/customize-preferences/mouseacceleration/)
- [NumLock on Startup](tweaks/customize-preferences/numlock/)
- [Search Button in Taskbar](tweaks/customize-preferences/taskbarsearch/)
- [Show File Extensions](tweaks/customize-preferences/showext/)
- [Show Hidden Files](tweaks/customize-preferences/hiddenfiles/)
- [Snap Assist Flyout](tweaks/customize-preferences/snapflyout/)
- [Snap Assist Suggestion](tweaks/customize-preferences/snapsuggestion/)
- [Snap Window](tweaks/customize-preferences/snapwindow/)
- [Sticky Keys](tweaks/customize-preferences/stickykeys/)
- [Task View Button in Taskbar](tweaks/customize-preferences/taskview/)
- [Verbose Messages During Logon](tweaks/customize-preferences/verboselogon/)
- [Widgets Button in Taskbar](tweaks/customize-preferences/taskbarwidgets/)
{{< autolinks section="dev/tweaks/customize-preferences" >}}
### Performance Plans
- [Add and Remove Ultimate Performance Profile](tweaks/performance-plans/profile/)
{{< autolinks section="dev/tweaks/performance-plans" >}}
## Features
### Fixes
- [Remove Adobe Creative Cloud](features/fixes/RunAdobeCCCleanerTool/)
- [Reset Network](features/fixes/network/)
- [Reset Windows Update](features/fixes/update/)
- [Set Up Autologin](features/fixes/autologin/)
- [System Corruption Scan](features/fixes/corruptionscan/)
- [WinGet Reinstall](features/fixes/winget/)
{{< autolinks section="dev/features/fixes" >}}
### Legacy Windows Panels
- [Control Panel](features/legacy-windows-panels/control/)
- [Network Connections](features/legacy-windows-panels/network/)
- [Power Panel](features/legacy-windows-panels/power/)
- [Printer Settings](features/legacy-windows-panels/printer/)
- [Region](features/legacy-windows-panels/region/)
- [Sound Settings](features/legacy-windows-panels/sound/)
- [System Properties](features/legacy-windows-panels/system/)
- [User Accounts](features/legacy-windows-panels/user/)
{{< autolinks section="dev/features/legacy-windows-panels" >}}
### Features
- [All .Net Framework (2,3,4)](features/features/dotnet/)
- [Disable Legacy F8 Boot Recovery](features/features/disablelegacyrecovery/)
- [Enable Legacy F8 Boot Recovery](features/features/enablelegacyrecovery/)
- [Enable Daily Registry Backup Task 12.30am](features/features/regbackup/)
- [HyperV Virtualization](features/features/hyperv/)
- [Legacy Media (WMP, DirectPlay)](features/features/legacymedia/)
- [NFS - Network File System](features/features/nfs/)
- [Windows Sandbox](features/features/sandbox/)
- [Windows Subsystem for Linux](features/features/wsl/)
{{< autolinks section="dev/features/features" >}}
### Remote Access
{{< autolinks section="dev/features/remote-access" >}}
### Powershell Profile Powershell 7+ Only
{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}}

View File

@@ -55,9 +55,6 @@ winutil/
│ ├── public/ # User-facing functions
│ │ ├── Initialize-WPFUI.ps1
│ │ └── ...
│ └── microwin/ # MicroWin specific functions
│ ├── Invoke-Microwin.ps1
│ └── ...
├── config/ # JSON configuration files
│ ├── applications.json # Application definitions
│ ├── tweaks.json # Tweak definitions
@@ -126,12 +123,159 @@ winutil/
**Purpose**: WPF GUI layout and design.
**Structure**:
- TabControl for main tabs (Install, Tweaks, Config, MicroWin)
- Buttons with event handlers
- TextBoxes for input
- 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 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 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 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 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 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
@@ -198,7 +342,7 @@ Update UI
### applications.json Structure
```json
```json {filename="config/applications.json"}
{
"WPFInstall<AppName>": {
"category": "Browsers",
@@ -221,14 +365,13 @@ Update UI
### tweaks.json Structure
```json
```json {filename="config/tweaks.json"}
{
"WPFTweaksTelemetry": {
"Content": "Disable Telemetry",
"Description": "Disables Microsoft Telemetry",
"category": "Essential Tweaks",
"panel": "1",
"Order": "a003_",
"registry": [
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\DataCollection",
@@ -320,22 +463,6 @@ if (!(Get-Command choco -ErrorAction SilentlyContinue)) {
choco install $app.choco -y
```
## MicroWin Architecture
MicroWin operates in phases:
1. **Mount ISO**: Extract Windows image
2. **Modify Image**: Remove components, apply tweaks
3. **Inject Drivers**: Add custom drivers (optional)
4. **Create Unattend**: Generate automated install configuration
5. **Rebuild ISO**: Package modified image into new ISO
**Key Files**:
- `Invoke-Microwin.ps1`: Main orchestration
- `Microwin-RemovePackages.ps1`: Remove Windows packages
- `Microwin-RemoveFeatures.ps1`: Disable features
- `Microwin-NewUnattend.ps1`: Create unattend.xml
## Error Handling
Winutil uses PowerShell error handling:
@@ -385,7 +512,7 @@ $sync.form.Dispatcher.Invoke([action]{
### Adding a New Application
1. Edit `config/applications.json`:
```json
```json {filename="config/applications.json"}
{
"WPFInstallNewApp": {
"category": "Utilities",
@@ -403,7 +530,7 @@ $sync.form.Dispatcher.Invoke([action]{
### Adding a New Tweak
1. Edit `config/tweaks.json`:
```json
```json {filename="config/tweaks.json"}
{
"WPFTweaksNewTweak": {
"Content": "New Tweak",
@@ -484,12 +611,11 @@ 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)
- Chocolatey
- oscdimg.exe (for MicroWin)
## Performance Considerations
@@ -536,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
@@ -546,5 +673,5 @@ Outputs `winutil.ps1` in the root directory.
---
**Last Updated**: January 2026
**Maintainers**: Chris Titus Tech and contributors
**Last Updated**: January 2026
**Maintainers**: Chris Titus Tech and contributors

View File

@@ -1,12 +1,14 @@
# Disable Legacy F8 Boot Recovery
---
title: "Disable Legacy F8 Boot Recovery"
description: ""
---
```json
"WPFFeatureEnableLegacyRecovery": {
"Content": "Enable Legacy F8 Boot Recovery",
"Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
```json {filename="config/feature.json",linenos=inline,linenostart=100}
"WPFFeatureDisableLegacyRecovery": {
"Content": "Disable Legacy F8 Boot Recovery",
"Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
"category": "Features",
"panel": "1",
"Order": "a018_",
"feature": [],
"InvokeScript": [
"bcdedit /set bootmenupolicy standard"

View File

@@ -1,12 +1,14 @@
# Enable Legacy F8 Boot Recovery
---
title: "Enable Legacy F8 Boot Recovery"
description: ""
---
```json
"WPFFeatureEnableLegacyRecovery": {
```json {filename="config/feature.json",linenos=inline,linenostart=89}
"WPFFeatureEnableLegacyRecovery": {
"Content": "Enable Legacy F8 Boot Recovery",
"Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
"category": "Features",
"panel": "1",
"Order": "a018_",
"feature": [],
"InvokeScript": [
"bcdedit /set bootmenupolicy legacy"

View File

@@ -1,12 +1,14 @@
# Enable Daily Registry Backup Task 12.30am
---
title: "Enable Daily Registry Backup Task 12.30am"
description: ""
---
```json
"WPFFeatureRegBackup": {
```json {filename="config/feature.json",linenos=inline,linenostart=72}
"WPFFeatureRegBackup": {
"Content": "Enable Daily Registry Backup Task 12.30am",
"Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.",
"category": "Features",
"panel": "1",
"Order": "a017_",
"feature": [],
"InvokeScript": [
"

View File

@@ -1,12 +1,14 @@
# Windows Sandbox
---
title: "Windows Sandbox"
description: ""
---
```json
"WPFFeaturesSandbox": {
```json {filename="config/feature.json",linenos=inline,linenostart=111}
"WPFFeaturesSandbox": {
"Content": "Windows Sandbox",
"Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.",
"category": "Features",
"panel": "1",
"Order": "a021_",
"feature": [
"Containers-DisposableClientVM"
],

View File

@@ -1,11 +1,7 @@
### Features
---
title: "Features"
weight: 1
toc: false
---
- [All .Net Framework (2,3,4)](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/dotnet.md)
- [Disable Legacy F8 Boot Recovery](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/DisableLegacyRecovery.md)
- [Enable Legacy F8 Boot Recovery](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/EnableLegacyRecovery.md)
- [Enable Daily Registry Backup Task 12.30am](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/RegBackup.md)
- [HyperV Virtualization](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/hyperv.md)
- [Legacy Media (WMP, DirectPlay)](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/legacymedia.md)
- [NFS - Network File System](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/nfs.md)
- [Windows Sandbox](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/Sandbox.md)
- [Windows Subsystem for Linux](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/wsl.md)
{{< autolinks section="dev/features/features" >}}

View File

@@ -1,14 +1,17 @@
# All .Net Framework (2,3,4)
---
title: "All .Net Framework (2,3,4)"
description: ""
---
```json
"WPFFeaturesdotnet": {
```json {filename="config/feature.json",linenos=inline,linenostart=2}
"WPFFeaturesdotnet": {
"Content": "All .Net Framework (2,3,4)",
"Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.",
"category": "Features",
"panel": "1",
"Order": "a010_",
"feature": [
"NetFx4-AdvSrvs",
"NetFx3"
],
"InvokeScript": [],
```

View File

@@ -1,12 +1,14 @@
# HyperV Virtualization
---
title: "HyperV Virtualization"
description: ""
---
```json
"WPFFeatureshyperv": {
```json {filename="config/feature.json",linenos=inline,linenostart=14}
"WPFFeatureshyperv": {
"Content": "HyperV Virtualization",
"Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.",
"category": "Features",
"panel": "1",
"Order": "a011_",
"feature": [
"Microsoft-Hyper-V-All"
],

View File

@@ -1,16 +1,19 @@
# Legacy Media (WMP, DirectPlay)
---
title: "Legacy Media (WMP, DirectPlay)"
description: ""
---
```json
"WPFFeatureslegacymedia": {
```json {filename="config/feature.json",linenos=inline,linenostart=27}
"WPFFeatureslegacymedia": {
"Content": "Legacy Media (WMP, DirectPlay)",
"Description": "Enables legacy programs from previous versions of windows",
"Description": "Enables legacy programs from previous versions of Windows.",
"category": "Features",
"panel": "1",
"Order": "a012_",
"feature": [
"WindowsMediaPlayer",
"MediaPlayback",
"DirectPlay",
"LegacyComponents"
],
"InvokeScript": [],
```

View File

@@ -1,12 +1,14 @@
# NFS - Network File System
---
title: "NFS - Network File System"
description: ""
---
```json
"WPFFeaturenfs": {
```json {filename="config/feature.json",linenos=inline,linenostart=53}
"WPFFeaturenfs": {
"Content": "NFS - Network File System",
"Description": "Network File System (NFS) is a mechanism for storing files on a network.",
"category": "Features",
"panel": "1",
"Order": "a014_",
"feature": [
"ServicesForNFS-ClientOnly",
"ClientForNFS-Infrastructure",

View File

@@ -1,14 +1,17 @@
# Windows Subsystem for Linux
---
title: "Windows Subsystem for Linux"
description: ""
---
```json
"WPFFeaturewsl": {
```json {filename="config/feature.json",linenos=inline,linenostart=41}
"WPFFeaturewsl": {
"Content": "Windows Subsystem for Linux",
"Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.",
"category": "Features",
"panel": "1",
"Order": "a020_",
"feature": [
"VirtualMachinePlatform",
"Microsoft-Windows-Subsystem-Linux"
],
"InvokeScript": [],
```

View File

@@ -1,6 +1,9 @@
# Set Up Autologin
---
title: "Set Up Autologin"
description: ""
---
```json
```powershell {filename="functions/public/Invoke-WPFPanelAutologin.ps1",linenos=inline,linenostart=1}
function Invoke-WPFPanelAutologin {
<#

View File

@@ -1,141 +0,0 @@
# System Corruption Scan
```json
function Invoke-WPFSystemRepair {
<#
.SYNOPSIS
Checks for system corruption using Chkdsk, SFC, and DISM
.DESCRIPTION
1. Chkdsk - Fixes disk and filesystem corruption
2. SFC Run 1 - Fixes system file corruption, and fixes DISM if it was corrupted
3. DISM - Fixes system image corruption, and fixes SFC's system image if it was corrupted
4. SFC Run 2 - Fixes system file corruption, this time with an almost guaranteed uncorrupted system image
#>
function Invoke-Chkdsk {
<#
.SYNOPSIS
Runs chkdsk on the system drive
.DESCRIPTION
Chkdsk /Scan - Runs an online scan on the system drive, attempts to fix any corruption, and queues other corruption for fixing on reboot
#>
param(
[int]$parentProgressId = 0
)
Write-Progress -Id 1 -ParentId $parentProgressId -Activity $childProgressBarActivity -Status "Running chkdsk..." -PercentComplete 0
$oldpercent = 0
# 2>&1 redirects stdout, allowing iteration over the output
chkdsk.exe /scan /perf 2>&1 | ForEach-Object {
Write-Debug $_
# Regex to match the total percentage regardless of windows locale (it's always the second percentage in the status output)
if ($_ -match "%.*?(\d+)%") {
[int]$percent = $matches[1]
if ($percent -gt $oldpercent) {
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "Running chkdsk... ($percent%)" -PercentComplete $percent
$oldpercent = $percent
}
}
}
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "chkdsk Completed" -PercentComplete 100 -Completed
}
function Invoke-SFC {
<#
.SYNOPSIS
Runs sfc on the system drive
.DESCRIPTION
SFC /ScanNow - Performs a scan of the system files and fixes any corruption
.NOTES
ErrorActionPreference is set locally within a script block & {...} to isolate their effects.
ErrorActionPreference suppresses false errors caused by sfc.exe output redirection.
A bug in SFC output buffering causes progress updates to appear in chunks when redirecting output
#>
param(
[int]$parentProgressId = 0
)
& {
$ErrorActionPreference = "SilentlyContinue"
Write-Progress -Id 1 -ParentId $parentProgressId -Activity $childProgressBarActivity -Status "Running SFC..." -PercentComplete 0
$oldpercent = 0
sfc.exe /scannow 2>&1 | ForEach-Object {
Write-Debug $_
if ($_ -ne "") {
# sfc.exe /scannow outputs unicode characters, so we directly remove null characters for optimization
$utf8line = $_ -replace "`0", ""
if ($utf8line -match "(\d+)\s*%") {
[int]$percent = $matches[1]
if ($percent -gt $oldpercent) {
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "Running SFC... ($percent%)" -PercentComplete $percent
$oldpercent = $percent
}
}
}
}
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "SFC Completed" -PercentComplete 100 -Completed
}
}
function Invoke-DISM {
<#
.SYNOPSIS
Runs DISM on the system drive
.DESCRIPTION
DISM - Fixes system image corruption, and fixes SFC's system image if it was corrupted
/Online - Fixes the currently running system image
/Cleanup-Image - Performs cleanup operations on the image, could remove some unneeded temporary files
/Restorehealth - Performs a scan of the image and fixes any corruption
#>
param(
[int]$parentProgressId = 0
)
Write-Progress -Id 1 -ParentId $parentProgressId -Activity $childProgressBarActivity -Status "Running DISM..." -PercentComplete 0
$oldpercent = 0
DISM /Online /Cleanup-Image /RestoreHealth | ForEach-Object {
Write-Debug $_
# Filter for lines that contain a percentage that is greater than the previous one
if ($_ -match "(\d+)[.,]\d+%") {
[int]$percent = $matches[1]
if ($percent -gt $oldpercent) {
# Update the progress bar
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "Running DISM... ($percent%)" -PercentComplete $percent
$oldpercent = $percent
}
}
}
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "DISM Completed" -PercentComplete 100 -Completed
}
try {
Set-WinUtilTaskbaritem -state "Indeterminate" -overlay "logo"
$childProgressBarActivity = "Scanning for corruption"
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 0
# Step 1: Run chkdsk to fix disk and filesystem corruption before proceeding with system file repairs
Invoke-Chkdsk
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 25
# Step 2: Run SFC to fix system file corruption and ensure DISM can operate correctly
Invoke-SFC
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 50
# Step 3: Run DISM to repair the system image, which SFC relies on for accurate repairs
Invoke-DISM
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 75
# Step 4: Run SFC again to ensure system files are repaired using the now-fixed system image
Invoke-SFC
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 100 -Completed
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
} catch {
Write-Error "An error occurred while repairing the system: $_"
Set-WinUtilTaskbaritem -state "Error" -overlay "warning"
} finally {
Write-Host "==> Finished System Repair"
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
}
}
```

View File

@@ -0,0 +1,26 @@
---
title: "System Corruption Scan"
description: ""
---
```powershell {filename="functions/public/Invoke-WPFSystemRepair.ps1",linenos=inline,linenostart=1}
function Invoke-WPFSystemRepair {
<#
.SYNOPSIS
Checks for system corruption using SFC, and DISM
Checks for disk failure using Chkdsk
.DESCRIPTION
1. Chkdsk - Checks for disk errors, which can cause system file corruption and notifies of early disk failure
2. SFC - scans protected system files for corruption and fixes them
3. DISM - Repair a corrupted Windows operating system image
#>
Start-Process cmd.exe -ArgumentList "/c chkdsk /scan /perf" -NoNewWindow -Wait
Start-Process cmd.exe -ArgumentList "/c sfc /scannow" -NoNewWindow -Wait
Start-Process cmd.exe -ArgumentList "/c dism /online /cleanup-image /restorehealth" -NoNewWindow -Wait
Write-Host "==> Finished System Repair"
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
}
```

View File

@@ -1,6 +1,9 @@
# Reset Network
---
title: "Reset Network"
description: ""
---
```json
```powershell {filename="functions/public/Invoke-WPFFixesNetwork.ps1",linenos=inline,linenostart=1}
function Invoke-WPFFixesNetwork {
<#

View File

@@ -1,36 +0,0 @@
# Remove Adobe Creative Cloud
```json
function Invoke-WPFRunAdobeCCCleanerTool {
<#
.SYNOPSIS
It removes or fixes problem files and resolves permission issues in registry keys.
.DESCRIPTION
The Creative Cloud Cleaner tool is a utility for experienced users to clean up corrupted installations.
#>
[string]$url="https://swupmf.adobe.com/webfeed/CleanerTool/win/AdobeCreativeCloudCleanerTool.exe"
Write-Host "The Adobe Creative Cloud Cleaner tool is hosted at"
Write-Host "$url"
try {
# Don't show the progress because it will slow down the download speed
$ProgressPreference='SilentlyContinue'
Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -UseBasicParsing -ErrorAction SilentlyContinue -Verbose
# Revert back the ProgressPreference variable to the default value since we got the file desired
$ProgressPreference='Continue'
Start-Process -FilePath "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Wait -ErrorAction SilentlyContinue -Verbose
} catch {
Write-Error $_.Exception.Message
} finally {
if (Test-Path -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe") {
Write-Host "Cleaning up..."
Remove-Item -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Verbose
}
}
}
```

View File

@@ -1,6 +1,9 @@
# Reset Windows Update
---
title: "Reset Windows Update"
description: ""
---
```json
```powershell {filename="functions/public/Invoke-WPFFixesUpdate.ps1",linenos=inline,linenostart=1}
function Invoke-WPFFixesUpdate {
<#
@@ -227,5 +230,4 @@ function Invoke-WPFFixesUpdate {
Write-Progress -Id 9 -Activity "Starting Windows Update Services" -Completed
Write-Progress -Id 10 -Activity "Forcing discovery" -Completed
}
```

View File

@@ -1,6 +1,9 @@
# WinGet Reinstall
---
title: "WinGet Reinstall"
description: ""
---
```json
```powershell {filename="functions/public/Invoke-WPFFixesWinget.ps1",linenos=inline,linenostart=1}
function Invoke-WPFFixesWinget {
<#
@@ -14,7 +17,7 @@ function Invoke-WPFFixesWinget {
try {
Set-WinUtilTaskbaritem -state "Indeterminate" -overlay "logo"
Write-Host "==> Starting Winget Repair"
Install-WinUtilWinget -Force
Install-WinUtilWinget
} catch {
Write-Error "Failed to install winget: $_"
Set-WinUtilTaskbaritem -state "Error" -overlay "warning"

View File

@@ -1,8 +1,7 @@
### Fixes
---
title: "Fixes"
weight: 2
toc: false
---
- [Remove Adobe Creative Cloud](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/RunAdobeCCCleanerTool.md)
- [Reset Network](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/Network.md)
- [Reset Windows Update](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/Update.md)
- [Set Up Autologin](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/Autologin.md)
- [System Corruption Scan](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/CorruptionScan.md)
- [WinGet Reinstall](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/Winget.md)
{{< autolinks section="dev/features/fixes" >}}

View File

@@ -0,0 +1,16 @@
---
title: "Computer Management"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=186}
"WPFPanelComputer": {
"Content": "Computer Management",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"compmgmt.msc"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Control Panel"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=175}
"WPFPanelControl": {
"Content": "Control Panel",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"control"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Network Connections"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=197}
"WPFPanelNetwork": {
"Content": "Network Connections",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"ncpa.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Power Panel"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=208}
"WPFPanelPower": {
"Content": "Power Panel",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"powercfg.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Printer Panel"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=219}
"WPFPanelPrinter": {
"Content": "Printer Panel",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"Start-Process 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}'"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Region"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=230}
"WPFPanelRegion": {
"Content": "Region",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"intl.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Windows Restore"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=241}
"WPFPanelRestore": {
"Content": "Windows Restore",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"rstrui.exe"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Sound Settings"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=252}
"WPFPanelSound": {
"Content": "Sound Settings",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"mmsys.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "System Properties"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=263}
"WPFPanelSystem": {
"Content": "System Properties",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"sysdm.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Time and Date"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=274}
"WPFPanelTimedate": {
"Content": "Time and Date",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"timedate.cpl"
],
```

View File

@@ -1,10 +1,7 @@
### Legacy Windows Panels
---
title: "Legacy Windows Panels"
weight: 3
toc: false
---
- [Control Panel](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/control.md)
- [Network Connections](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/network.md)
- [Power Panel](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/power.md)
- [Printer Settings](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/printer.md)
- [Region](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/region.md)
- [Sound Settings](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/sound.md)
- [System Properties](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/system.md)
- [User Accounts](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/user.md)
{{< autolinks section="dev/features/legacy-windows-panels" >}}

View File

@@ -1,30 +0,0 @@
# Control Panel
```json
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,30 +0,0 @@
# Network Connections
```json
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,30 +0,0 @@
# Power Panel
```json
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,30 +0,0 @@
# Printer Settings
```json
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,30 +0,0 @@
# Region
```json
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,30 +0,0 @@
# Sound Settings
```json
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,30 +0,0 @@
# System Properties
```json
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,30 +0,0 @@
# User Accounts
```json
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -0,0 +1,15 @@
---
title: "Install CTT PowerShell Profile"
description: ""
---
```powershell {filename="functions/private/Invoke-WinUtilInstallPSProfile.ps1",linenos=inline,linenostart=1}
function Invoke-WinUtilInstallPSProfile {
if (Test-Path $Profile) {
Rename-Item $Profile -NewName ($Profile + '.bak')
}
Start-Process pwsh -ArgumentList '-Command "irm https://github.com/ChrisTitusTech/powershell-profile/raw/main/setup.ps1 | iex"'
}
```

View File

@@ -0,0 +1,18 @@
---
title: "Uninstall CTT PowerShell Profile"
description: ""
---
```powershell {filename="functions/private/Invoke-WinUtilUninstallPSProfile.ps1",linenos=inline,linenostart=1}
function Invoke-WinUtilUninstallPSProfile {
if (Test-Path ($Profile + '.bak')) {
Remove-Item $Profile
Rename-Item ($Profile + '.bak') -NewName $Profile
}
else {
Remove-Item $Profile
}
Write-Host "Successfully uninstalled CTT Powershell Profile" -ForegroundColor Green
}
```

View File

@@ -0,0 +1,7 @@
---
title: "Powershell Profile Powershell 7+ Only"
weight: 5
toc: false
---
{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}}

View File

@@ -0,0 +1,24 @@
---
title: "Enable OpenSSH Server"
description: ""
---
```powershell {filename="functions/public/Invoke-WPFSSHServer.ps1",linenos=inline,linenostart=1}
function Invoke-WPFSSHServer {
<#
.SYNOPSIS
Invokes the OpenSSH Server install in a runspace
#>
Invoke-WPFRunspace -ScriptBlock {
Invoke-WinUtilSSHServer
Write-Host "======================================="
Write-Host "-- OpenSSH Server installed! ---"
Write-Host "======================================="
}
}
```

View File

@@ -0,0 +1,7 @@
---
title: "Remote Access"
weight: 4
toc: false
---
{{< autolinks section="dev/features/remote-access" >}}

View File

@@ -1,31 +1,25 @@
---
title: "Features"
weight: 1
toc: false
---
### Fixes
- [Remove Adobe Creative Cloud](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/RunAdobeCCCleanerTool.md)
- [Reset Network](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/Network.md)
- [Reset Windows Update](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/Update.md)
- [Set Up Autologin](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/Autologin.md)
- [System Corruption Scan](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/CorruptionScan.md)
- [WinGet Reinstall](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Fixes/Winget.md)
{{< autolinks section="dev/features/fixes" >}}
### Legacy Windows Panels
- [Control Panel](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/control.md/control.md)
- [Network Connections](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/network.md)
- [Power Panel](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/power.md)
- [Printer Settings](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/printer.md)
- [Region](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/region.md)
- [Sound Settings](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/sound.md)
- [System Properties](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/system.md)
- [User Accounts](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Legacy-Windows-Panels/user.md)
{{< autolinks section="dev/features/legacy-windows-panels" >}}
### Features
- [All .Net Framework (2,3,4)](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/dotnet.md)
- [Disable Legacy F8 Boot Recovery](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/DisableLegacyRecovery.md)
- [Enable Legacy F8 Boot Recovery](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/EnableLegacyRecovery.md)
- [Enable Daily Registry Backup Task 12.30am](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/RegBackup.md)
- [HyperV Virtualization](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/hyperv.md)
- [Legacy Media (WMP, DirectPlay)](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/legacymedia.md)
- [NFS - Network File System](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/nfs.md)
- [Windows Sandbox](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/Sandbox.md)
- [Windows Subsystem for Linux](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/features/Features/wsl.md)
{{< autolinks section="dev/features/features" >}}
### Remote Access
{{< autolinks section="dev/features/remote-access" >}}
### Powershell Profile Powershell 7+ Only
{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}}

View File

@@ -1,26 +1,29 @@
# Bing Search in Start Menu
---
title: "Bing Search in Start Menu"
description: ""
---
```json
"WPFToggleBingSearch": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2207}
"WPFToggleBingSearch": {
"Content": "Bing Search in Start Menu",
"Description": "If enable then includes web search results from Bing in your Start Menu search.",
"Description": "If enabled, Bing web search results will be included in your Start Menu search.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a101_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search",
"Name": "BingSearchEnabled",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
}
],
```
## 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

@@ -1,29 +1,31 @@
# Dark Theme for Windows
---
title: "Dark Theme for Windows"
description: ""
---
```json
"WPFToggleDarkMode": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2165}
"WPFToggleDarkMode": {
"Content": "Dark Theme for Windows",
"Description": "Enable/Disable Dark Mode.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a100_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize",
"Name": "AppsUseLightTheme",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
},
{
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize",
"Name": "SystemUsesLightTheme",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
}
],
"InvokeScript": [
@@ -45,6 +47,7 @@
```
## 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

@@ -1,34 +1,37 @@
# Detailed BSoD
---
title: "Detailed BSoD"
description: ""
---
```json
"WPFToggleDetailedBSoD": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2581}
"WPFToggleDetailedBSoD": {
"Content": "Detailed BSoD",
"Description": "If Enabled then you will see a detailed Blue Screen of Death (BSOD) with more information.",
"Description": "If enabled, you will see a detailed Blue Screen of Death (BSOD) with more information.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a205_",
"Type": "Toggle",
"registry": [
{
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl",
"Name": "DisplayParameters",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
},
{
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl",
"Name": "DisableEmoticon",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
}
],
```
## 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

@@ -1,26 +1,29 @@
# Widgets Button in Taskbar
---
title: "Cross-Device Resume"
description: ""
---
```json
"WPFToggleTaskbarWidgets": {
"Content": "Widgets Button in Taskbar",
"Description": "If Enabled then Widgets Button in Taskbar will be shown.",
```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.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a204_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "TaskbarDa",
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\CrossDeviceResume\\Configuration",
"Name": "IsResumeAllowed",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
}
],
```
## 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

@@ -1,21 +1,23 @@
# Show Hidden Files
---
title: "Show Hidden Files"
description: ""
---
```json
"WPFToggleHiddenFiles": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2461}
"WPFToggleHiddenFiles": {
"Content": "Show Hidden Files",
"Description": "If Enabled then Hidden Files will be shown.",
"Description": "If enabled, Hidden Files will be shown.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a200_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "Hidden",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
}
],
"InvokeScript": [
@@ -31,6 +33,7 @@
```
## 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

@@ -0,0 +1,29 @@
---
title: "Remove Settings Home Page"
description: ""
---
```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.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",
"Name": "SettingsPageVisibility",
"Value": "hide:home",
"Type": "String",
"OriginalValue": "show:home",
"DefaultState": "false"
}
],
```
## 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

@@ -1,42 +1,45 @@
# Mouse Acceleration
---
title: "Mouse Acceleration"
description: ""
---
```json
"WPFToggleMouseAcceleration": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2349}
"WPFToggleMouseAcceleration": {
"Content": "Mouse Acceleration",
"Description": "If Enabled then Cursor movement is affected by the speed of your physical mouse movements.",
"Description": "If enabled, the Cursor movement is affected by the speed of your physical mouse movements.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a109_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Control Panel\\Mouse",
"Name": "MouseSpeed",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
},
{
"Path": "HKCU:\\Control Panel\\Mouse",
"Name": "MouseThreshold1",
"Value": "6",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
},
{
"Path": "HKCU:\\Control Panel\\Mouse",
"Name": "MouseThreshold2",
"Value": "10",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
}
],
```
## 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

@@ -0,0 +1,29 @@
---
title: "Disable Multiplane Overlay"
description: ""
---
```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.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\Dwm",
"Name": "OverlayTestMode",
"Value": "5",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>",
"DefaultState": "false"
}
],
```
## 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

@@ -0,0 +1,53 @@
---
title: "New Outlook"
description: ""
---
```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.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Office\\16.0\\Outlook\\Preferences",
"Name": "UseNewOutlook",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true"
},
{
"Path": "HKCU:\\Software\\Microsoft\\Office\\16.0\\Outlook\\Options\\General",
"Name": "HideNewOutlookToggle",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "true"
},
{
"Path": "HKCU:\\Software\\Policies\\Microsoft\\Office\\16.0\\Outlook\\Options\\General",
"Name": "DoNewOutlookAutoMigration",
"Value": "0",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false"
},
{
"Path": "HKCU:\\Software\\Policies\\Microsoft\\Office\\16.0\\Outlook\\Preferences",
"Name": "NewOutlookMigrationUserSetting",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>",
"DefaultState": "true"
}
],
```
## 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

@@ -1,34 +1,37 @@
# NumLock on Startup
---
title: "Num Lock on Startup"
description: ""
---
```json
"WPFToggleNumLock": {
"Content": "NumLock on Startup",
```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.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a102_",
"Type": "Toggle",
"registry": [
{
"Path": "HKU:\\.Default\\Control Panel\\Keyboard",
"Name": "InitialKeyboardIndicators",
"Value": "2",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
},
{
"Path": "HKCU:\\Control Panel\\Keyboard",
"Name": "InitialKeyboardIndicators",
"Value": "2",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
}
],
```
## 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

@@ -1,26 +1,29 @@
# Snap Window
---
title: "S3 Sleep"
description: ""
---
```json
"WPFToggleSnapWindow": {
"Content": "Snap Window",
"Description": "If enabled you can align windows by dragging them. | Relogin Required",
```json {filename="config/tweaks.json",linenos=inline,linenostart=2607}
"WPFToggleS3Sleep": {
"Content": "S3 Sleep",
"Description": "Toggles between Modern Standby and S3 Sleep.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a106_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Control Panel\\Desktop",
"Name": "WindowArrangementActive",
"Value": "1",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "String"
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Power",
"Name": "PlatformAoAcOverride",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>",
"DefaultState": "false"
}
],
```
## 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

@@ -1,21 +1,23 @@
# Show File Extensions
---
title: "Show File Extensions"
description: ""
---
```json
"WPFToggleShowExt": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2489}
"WPFToggleShowExt": {
"Content": "Show File Extensions",
"Description": "If enabled then File extensions (e.g., .txt, .jpg) are visible.",
"Description": "If enabled, File extensions (e.g., .txt, .jpg) are visible.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a201_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "HideFileExt",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
}
],
"InvokeScript": [
@@ -31,6 +33,7 @@
```
## 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

@@ -1,36 +0,0 @@
# Snap Assist Flyout
```json
"WPFToggleSnapFlyout": {
"Content": "Snap Assist Flyout",
"Description": "If disabled then Snap preview is disabled when maximize button is hovered.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a107_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "EnableSnapAssistFlyout",
"Value": "1",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
}
],
"InvokeScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
"UndoScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
```
## 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

@@ -1,36 +0,0 @@
# Snap Assist Suggestion
```json
"WPFToggleSnapSuggestion": {
"Content": "Snap Assist Suggestion",
"Description": "If enabled then you will get suggestions to snap other applications in the left over spaces.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a108_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "SnapAssist",
"Value": "1",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
}
],
"InvokeScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
"UndoScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
```
## 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

@@ -0,0 +1,29 @@
---
title: "Modern Standby fix"
description: ""
---
```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",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Power\\PowerSettings\\f15576e8-98b7-4186-b944-eafa664402d9",
"Name": "ACSettingIndex",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>",
"DefaultState": "true"
}
],
```
## 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

@@ -0,0 +1,55 @@
---
title: "Recommendations in Start Menu"
description: ""
---
```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.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKLM:\\SOFTWARE\\Microsoft\\PolicyManager\\current\\device\\Start",
"Name": "HideRecommendedSection",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "true"
},
{
"Path": "HKLM:\\SOFTWARE\\Microsoft\\PolicyManager\\current\\device\\Education",
"Name": "IsEducationEnvironment",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "true"
},
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Explorer",
"Name": "HideRecommendedSection",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "true"
}
],
"InvokeScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
"UndoScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
```
## 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

@@ -1,26 +1,29 @@
# Sticky Keys
---
title: "Sticky Keys"
description: ""
---
```json
"WPFToggleStickyKeys": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2383}
"WPFToggleStickyKeys": {
"Content": "Sticky Keys",
"Description": "If Enabled then Sticky Keys is activated - Sticky keys is an accessibility feature of some graphical user interfaces which assists users who have physical disabilities or help users reduce repetitive strain injury.",
"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.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a110_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Control Panel\\Accessibility\\StickyKeys",
"Name": "Flags",
"Value": "510",
"Value": "506",
"Type": "DWord",
"OriginalValue": "58",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
}
],
```
## 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

@@ -1,26 +1,29 @@
# Task View Button in Taskbar
---
title: "Task View Button in Taskbar"
description: ""
---
```json
"WPFToggleTaskView": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2535}
"WPFToggleTaskView": {
"Content": "Task View Button in Taskbar",
"Description": "If Enabled then Task View Button in Taskbar will be shown.",
"Description": "If enabled, Task View Button in Taskbar will be shown.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a203_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "ShowTaskViewButton",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
}
],
```
## 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

@@ -1,26 +1,39 @@
# Center Taskbar Items
---
title: "Center Taskbar Items"
description: ""
---
```json
"WPFToggleTaskbarAlignment": {
```json {filename="config/tweaks.json",linenos=inline,linenostart=2553}
"WPFToggleTaskbarAlignment": {
"Content": "Center Taskbar Items",
"Description": "[Windows 11] If Enabled then the Taskbar Items will be shown on the Center, otherwise the Taskbar Items will be shown on the Left.",
"Description": "[Windows 11] If enabled, the Taskbar Items will be shown on the Center, otherwise the Taskbar Items will be shown on the Left.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a204_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "TaskbarAl",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
}
],
"InvokeScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
"UndoScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
```
## 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

@@ -1,26 +1,29 @@
# Search Button in Taskbar
---
title: "Search Button in Taskbar"
description: ""
---
```json
"WPFToggleTaskbarSearch": {
```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.",
"Description": "If enabled, Search Button will be on the Taskbar.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a202_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search",
"Name": "SearchboxTaskbarMode",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
"DefaultState": "true"
}
],
```
## 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

@@ -1,26 +1,29 @@
# Verbose Messages During Logon
---
title: "Verbose Messages During Logon"
description: ""
---
```json
"WPFToggleVerboseLogon": {
```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.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a103_",
"Type": "Toggle",
"registry": [
{
"Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",
"Name": "VerboseStatus",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false",
"Type": "DWord"
"DefaultState": "false"
}
],
```
## 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

@@ -1,18 +1,9 @@
---
title: "Customize Preferences"
weight: 3
toc: false
---
### Customize Preferences
- [Bing Search in Start Menu](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/BingSearch.md)
- [Center Taskbar Items](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/TaskbarAlignment.md)
- [Dark Theme for Windows](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/DarkMode.md)
- [Detailed BSoD](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/DetailedBSoD.md)
- [Mouse Acceleration](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/MouseAcceleration.md)
- [NumLock on Startup](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/NumLock.md)
- [Search Button in Taskbar](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/TaskbarSearch.md)
- [Show File Extensions](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/ShowExt.md)
- [Show Hidden Files](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/HiddenFiles.md)
- [Snap Assist Flyout](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/SnapFlyout.md)
- [Snap Assist Suggestion](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/SnapSuggestion.md)
- [Snap Window](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/SnapWindow.md)
- [Sticky Keys](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/StickyKeys.md)
- [Task View Button in Taskbar](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/TaskView.md)
- [Verbose Messages During Logon](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/VerboseLogon.md)
- [Widgets Button in Taskbar](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/Customize-Preferences/TaskbarWidgets.md)
{{< autolinks section="dev/tweaks/customize-preferences" >}}

View File

@@ -1,38 +1,41 @@
# Disable Activity History
---
title: "Disable Activity History"
description: ""
---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2}
"WPFTweaksActivity": {
"Content": "Disable Activity History",
"Description": "This erases recent docs, clipboard, and run history.",
"Description": "Erases recent docs, clipboard, and run history.",
"category": "Essential Tweaks",
"panel": "1",
"Order": "a005_",
"registry": [
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
"Name": "EnableActivityFeed",
"Type": "DWord",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>"
},
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
"Name": "PublishUserActivities",
"Type": "DWord",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>"
},
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
"Name": "UploadUserActivities",
"Type": "DWord",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>"
}
],
```
## 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).

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