mirror of
https://github.com/ChrisTitusTech/winutil
synced 2026-02-04 06:50:09 +00:00
Compare commits
26 Commits
aa719b49bf
...
fix-adobe-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1444cf581f | ||
|
|
8ed3a31424 | ||
|
|
424d4030c1 | ||
|
|
f88c9be70d | ||
|
|
bc4cd84127 | ||
|
|
54b4bcdda1 | ||
|
|
c5c23d8d18 | ||
|
|
28e84af33d | ||
|
|
832af914e9 | ||
|
|
6d9ed9026d | ||
|
|
9e877afe0e | ||
|
|
0c0ced381a | ||
|
|
8ebd127857 | ||
|
|
25a392877f | ||
|
|
ef2c91b616 | ||
|
|
b52ead87f4 | ||
|
|
2dcfc2b109 | ||
|
|
59a9c59064 | ||
|
|
fcc57fde50 | ||
|
|
06e5477d0e | ||
|
|
a5271597e9 | ||
|
|
d841792f8d | ||
|
|
132260ab96 | ||
|
|
919b2e0b8f | ||
|
|
22e083182d | ||
|
|
2ec37f952a |
61
.github/CODEOWNERS
vendored
61
.github/CODEOWNERS
vendored
@@ -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
|
||||
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -4,11 +4,11 @@
|
||||
- [ ] 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.]-->
|
||||
|
||||
@@ -18,7 +18,5 @@
|
||||
|
||||
## 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.
|
||||
- [ ] I have made corresponding changes to the documentation.
|
||||
12
.github/release-drafter.yml
vendored
12
.github/release-drafter.yml
vendored
@@ -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: ''
|
||||
|
||||
2
.github/workflows/issue-slash-commands.yaml
vendored
2
.github/workflows/issue-slash-commands.yaml
vendored
@@ -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
45
.github/workflows/label-pr.yaml
vendored
Normal 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@v7
|
||||
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
|
||||
});
|
||||
}
|
||||
2
.github/workflows/pre-release.yaml
vendored
2
.github/workflows/pre-release.yaml
vendored
@@ -56,7 +56,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
|
||||
|
||||
12
Compile.ps1
12
Compile.ps1
@@ -36,15 +36,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
|
||||
@@ -76,9 +67,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)"))
|
||||
|
||||
|
||||
@@ -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://github.com/markamos.png" width="60px" alt="User avatar: Mark Amos" /></a><a href="https://github.com/dwelfusius"><img src="https://github.com/dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https://github.com/mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https://github.com/jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https://github.com/robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/KenichiQaz"><img src="https://github.com/KenichiQaz.png" width="60px" alt="User avatar: Stefan" /></a><a href="https://github.com/paulsheets"><img src="https://github.com/paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https://github.com/djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https://github.com/anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https://github.com/FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https://github.com/DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/quaszi"><img src="https://github.com/quaszi.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https://github.com/DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https://github.com/KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/TaNorbs"><img src="https://github.com/TaNorbs.png" width="60px" alt="User avatar: Norbs" /></a><a href="https://github.com/andrewpayne68"><img src="https://github.com/andrewpayne68.png" width="60px" alt="User avatar: Andrew P" /></a><!-- sponsors -->
|
||||
<!-- sponsors --><a href="https://github.com/markamos"><img src="https://github.com/markamos.png" width="60px" alt="User avatar: Mark Amos" /></a><a href="https://github.com/dwelfusius"><img src="https://github.com/dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https://github.com/mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https://github.com/jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https://github.com/robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/KenichiQaz"><img src="https://github.com/KenichiQaz.png" width="60px" alt="User avatar: Stefan" /></a><a href="https://github.com/paulsheets"><img src="https://github.com/paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https://github.com/djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https://github.com/anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https://github.com/FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https://github.com/DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/quaszi"><img src="https://github.com/quaszi.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https://github.com/DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https://github.com/KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/andrewpayne68"><img src="https://github.com/andrewpayne68.png" width="60px" alt="User avatar: Andrew P" /></a><!-- sponsors -->
|
||||
|
||||
## 🏅 Thanks to all Contributors
|
||||
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.
|
||||
|
||||
@@ -552,6 +552,14 @@
|
||||
"link": "https://espanso.org/",
|
||||
"winget": "Espanso.Espanso"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"category": "Utilities",
|
||||
"choco": "na",
|
||||
"content": "eibol.FFmpegBatchAVConverter",
|
||||
"description": "FFmpeg Batch AV Converter is a universal audio and video encoder, that allows to use the full potential of ffmpeg command line with a few mouse clicks in a convenient GUI with drag and drop, progress information.",
|
||||
"link": "https://ffmpeg-batch.sourceforge.io/",
|
||||
"winget": "eibol.FFmpegBatchAVConverter"
|
||||
},
|
||||
"falkon": {
|
||||
"category": "Browsers",
|
||||
"choco": "falkon",
|
||||
@@ -912,6 +920,14 @@
|
||||
"link": "https://www.cpuid.com/softwares/hwmonitor.html",
|
||||
"winget": "CPUID.HWMonitor"
|
||||
},
|
||||
"imhex": {
|
||||
"category": "Development",
|
||||
"choco": "na",
|
||||
"content": "ImHex (Hex Editor)",
|
||||
"description": "A modern, featureful Hex Editor for Reverse Engineers and Developers.",
|
||||
"link": "https://imhex.werwolv.net/",
|
||||
"winget": "WerWolv.ImHex"
|
||||
},
|
||||
"imageglass": {
|
||||
"category": "Multimedia Tools",
|
||||
"choco": "imageglass",
|
||||
|
||||
@@ -1140,6 +1140,13 @@
|
||||
"Type": "DWord",
|
||||
"Value": "0",
|
||||
"OriginalValue": "<RemoveEntry>"
|
||||
},
|
||||
{
|
||||
"Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave",
|
||||
"Name": "BraveStatsPingEnabled",
|
||||
"Type": "DWord",
|
||||
"Value": "0",
|
||||
"OriginalValue": "<RemoveEntry>"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1164,6 +1171,13 @@
|
||||
"Value": "0",
|
||||
"OriginalValue": "<RemoveEntry>"
|
||||
},
|
||||
{
|
||||
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge",
|
||||
"Name": "ofefcgjbeghpigppfmkologfjadafddi",
|
||||
"Type": "String",
|
||||
"Value": "1",
|
||||
"OriginalValue": "<RemoveEntry>"
|
||||
},
|
||||
{
|
||||
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge",
|
||||
"Name": "ShowRecommendationsEnabled",
|
||||
@@ -1584,71 +1598,26 @@
|
||||
"
|
||||
# Disable Defender Auto Sample Submission
|
||||
Set-MpPreference -SubmitSamplesConsent 2
|
||||
|
||||
$Memory = (Get-CimInstance Win32_PhysicalMemory | Measure-Object Capacity -Sum).Sum / 1KB
|
||||
Set-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\" -Name SvcHostSplitThresholdInKB -Value $Memory
|
||||
"
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/tele"
|
||||
},
|
||||
"WPFTweaksDisableEdge": {
|
||||
"Content": "Disable Edge",
|
||||
"Description": "Prevent msedge.exe from running with explorer policies.",
|
||||
"WPFTweaksRemoveEdge": {
|
||||
"Content": "Remove Microsoft Edge",
|
||||
"Description": "Unblocks Microsoft Edge uninstaller restrictions than uses that uninstaller to remove Microsoft Edge",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a023_",
|
||||
"registry": [
|
||||
{
|
||||
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\DisallowRun",
|
||||
"Name": "DisableEdge",
|
||||
"Type": "String",
|
||||
"Value": "msedge.exe",
|
||||
"OriginalValue": "<RemoveEntry>"
|
||||
},
|
||||
{
|
||||
"Path": "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",
|
||||
"Name": "DisallowRun",
|
||||
"Type": "DWord",
|
||||
"Value": "1",
|
||||
"OriginalValue": "<RemoveEntry>"
|
||||
}
|
||||
],
|
||||
"link": ""
|
||||
},
|
||||
"WPFTweaksMakeEdgeUninstallable": {
|
||||
"Content": "Make Edge Uninstallable via settings",
|
||||
"Description": "Makes it so you can uninstall edge via settings > installed apps",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a026_",
|
||||
"registry": [
|
||||
{
|
||||
"Path": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Microsoft Edge",
|
||||
"Name": "NoRemove",
|
||||
"Type": "Dword",
|
||||
"Value": "0",
|
||||
"OriginalValue": "1"
|
||||
}
|
||||
],
|
||||
"Order": "a028_",
|
||||
"InvokeScript": [
|
||||
"
|
||||
$File = \"C:\\Windows\\System32\\IntegratedServicesRegionPolicySet.json\"
|
||||
|
||||
takeown /f $File
|
||||
icacls $File /grant \"Administrators:(F)\"
|
||||
|
||||
$FileContent = Get-Content $File
|
||||
$FileContent[7] = $FileContent[7] -replace \"disabled\", \"enabled\"
|
||||
Set-Content $File $FileContent
|
||||
"
|
||||
"Invoke-WinUtilRemoveEdge"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
$File = \"C:\\Windows\\System32\\IntegratedServicesRegionPolicySet.json\"
|
||||
|
||||
takeown /f $File
|
||||
icacls $File /grant \"Administrators:(F)\"
|
||||
|
||||
$FileContent = Get-Content $File
|
||||
$FileContent[7] = $FileContent[7] -replace \"enabled\", \"disabled\"
|
||||
Set-Content $File $FileContent
|
||||
Write-Host 'Installing Microsoft Edge...'
|
||||
winget install Microsoft.Edge --source winget
|
||||
"
|
||||
],
|
||||
"link": ""
|
||||
@@ -1663,13 +1632,45 @@
|
||||
{
|
||||
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation",
|
||||
"Name": "RealTimeIsUniversal",
|
||||
"Type": "DWord",
|
||||
"Type": "QWord",
|
||||
"Value": "1",
|
||||
"OriginalValue": "0"
|
||||
}
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/utc"
|
||||
},
|
||||
"WPFTweaksRemoveOneDrive": {
|
||||
"Content": "Remove OneDrive",
|
||||
"Description": "Denys permission to remove onedrive user files than uses its own uninstaller to remove it than brings back permissions",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a029_",
|
||||
"InvokeScript": [
|
||||
"
|
||||
# Deny permission to remove OneDrive folder
|
||||
icacls $Env:OneDrive /deny \"Administrators:(D,DC)\"
|
||||
|
||||
Write-Host \"Uninstalling OneDrive...\"
|
||||
Start-Process 'C:\\Windows\\System32\\OneDriveSetup.exe' -ArgumentList '/uninstall' -Wait
|
||||
|
||||
# Some of OneDrive files use explorer, and OneDrive uses FileCoAuth
|
||||
Write-Host \"Removing leftover OneDrive Files...\"
|
||||
Stop-Process -Name FileCoAuth,Explorer
|
||||
Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force
|
||||
Remove-Item \"C:\\ProgramData\\Microsoft OneDrive\" -Recurse -Force
|
||||
|
||||
# Grant back permission to accses OneDrive folder
|
||||
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
Write-Host \"Installing OneDrive\"
|
||||
winget install Microsoft.Onedrive --source winget
|
||||
"
|
||||
],
|
||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removeonedrive"
|
||||
},
|
||||
"WPFTweaksRemoveHome": {
|
||||
"Content": "Remove Home from Explorer",
|
||||
"Description": "Removes the Home from Explorer and sets This PC as default",
|
||||
@@ -2041,10 +2042,10 @@
|
||||
Write-Host \"Remove Copilot\"
|
||||
Get-AppxPackage -AllUsers *Copilot* | Remove-AppxPackage -AllUsers
|
||||
Get-AppxPackage -AllUsers Microsoft.MicrosoftOfficeHub | Remove-AppxPackage -AllUsers
|
||||
|
||||
|
||||
$Appx = (Get-AppxPackage MicrosoftWindows.Client.CoreAI).PackageFullName
|
||||
$Sid = (Get-LocalUser $Env:UserName).Sid.Value
|
||||
|
||||
|
||||
New-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Appx\\AppxAllUserStore\\EndOfLife\\$Sid\\$Appx\" -Force
|
||||
Remove-AppxPackage $Appx
|
||||
"
|
||||
@@ -2151,9 +2152,9 @@
|
||||
$hostsUrl = \"https://github.com/Ruddernation-Designs/Adobe-URL-Block-List/raw/refs/heads/master/hosts\"
|
||||
$hosts = \"$env:SystemRoot\\System32\\drivers\\etc\\hosts\"
|
||||
|
||||
Copy-Item $hosts \"$hosts.bak\"
|
||||
Copy-Item $hosts \"$env:SystemRoot\\System32\\drivers\\etc\\hosts\\$hosts.bak\"
|
||||
Invoke-WebRequest $hostsUrl -OutFile $hosts
|
||||
ipconfig flushdns
|
||||
ipconfig /flushdns
|
||||
|
||||
Write-Host \"Added Adobe url block list from host file\"
|
||||
"
|
||||
@@ -2161,11 +2162,10 @@
|
||||
"UndoScript": [
|
||||
"
|
||||
$hosts = \"$env:SystemRoot\\System32\\drivers\\etc\\hosts\"
|
||||
$backup = \"$hosts.bak\"
|
||||
$backup = \"$env:SystemRoot\\System32\\drivers\\etc\\hosts\\$hosts.bak\"
|
||||
|
||||
Copy-Item $backup $hosts
|
||||
Remove-Item $backup
|
||||
ipconfig flushdns
|
||||
Remove-Item $hosts
|
||||
ipconfig /flushdns
|
||||
|
||||
Write-Host \"Removed Adobe url block list from host file\"
|
||||
"
|
||||
|
||||
@@ -45,6 +45,7 @@ weight: 3
|
||||
- [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/)
|
||||
@@ -76,7 +77,7 @@ weight: 3
|
||||
|
||||
### Fixes
|
||||
|
||||
- [Remove Adobe Creative Cloud](features/fixes/runadobecccl cleanertool/)
|
||||
- [Remove Adobe Creative Cloud](features/fixes/RunAdobeCCCleanerTool/)
|
||||
- [Reset Network](features/fixes/network/)
|
||||
- [Reset Windows Update](features/fixes/update/)
|
||||
- [Set Up Autologin](features/fixes/autologin/)
|
||||
|
||||
@@ -960,3 +960,46 @@
|
||||
}
|
||||
],
|
||||
```
|
||||
#Function
|
||||
```powershell
|
||||
Function Set-WinUtilService {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Changes the startup type of the given service
|
||||
|
||||
.PARAMETER Name
|
||||
The name of the service to modify
|
||||
|
||||
.PARAMETER StartupType
|
||||
The startup type to set the service to
|
||||
|
||||
.EXAMPLE
|
||||
Set-WinUtilService -Name "HomeGroupListener" -StartupType "Manual"
|
||||
|
||||
#>
|
||||
param (
|
||||
$Name,
|
||||
$StartupType
|
||||
)
|
||||
try {
|
||||
Write-Host "Setting Service $Name to $StartupType"
|
||||
|
||||
# Check if the service exists
|
||||
$service = Get-Service -Name $Name -ErrorAction Stop
|
||||
|
||||
# Service exists, proceed with changing properties -- while handling auto delayed start for PWSH 5
|
||||
if (($PSVersionTable.PSVersion.Major -lt 7) -and ($StartupType -eq "AutomaticDelayedStart")) {
|
||||
sc.exe config $Name start=delayed-auto
|
||||
} else {
|
||||
$service | Set-Service -StartupType $StartupType -ErrorAction Stop
|
||||
}
|
||||
} catch [System.ServiceProcess.ServiceNotFoundException] {
|
||||
Write-Warning "Service $Name was not found"
|
||||
} catch {
|
||||
Write-Warning "Unable to set $Name due to unhandled exception"
|
||||
Write-Warning $_.Exception.Message
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
- [Remove Gallery from explorer](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveGallery.md)
|
||||
- [Remove Home from explorer](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveHome.md)
|
||||
- [Run OO Shutup 10](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/OOSUbutton.md)
|
||||
- [Remove OneDrive](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveOneDrive.md)
|
||||
- [Set Classic Right-Click Menu](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RightClickMenu.md)
|
||||
- [Set Display for Performance](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Display.md)
|
||||
- [Set Time to UTC (Dual Boot)](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/UTC.md)
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
# Remove Microsoft Edge
|
||||
|
||||
```json
|
||||
"WPFTweaksMakeEdgeUninstallable": {
|
||||
"Content": "Make Edge Uninstallable via settings",
|
||||
"Description": "Makes it so you can uninstall edge via settings > installed apps",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a026_",
|
||||
"registry": [
|
||||
{
|
||||
"Path": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Microsoft Edge",
|
||||
"Name": "NoRemove",
|
||||
"Type": "Dword",
|
||||
"Value": "0",
|
||||
"OriginalValue": "1"
|
||||
}
|
||||
],
|
||||
"InvokeScript": [
|
||||
"
|
||||
$File = \"C:\\Windows\\System32\\IntegratedServicesRegionPolicySet.json\"
|
||||
|
||||
takeown /f $File
|
||||
icacls $File /grant \"Administrators:(F)\"
|
||||
|
||||
$FileContent = Get-Content $File
|
||||
$FileContent[7] = $FileContent[7] -replace \"disabled\", \"enabled\"
|
||||
Set-Content $File $FileContent
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
$File = \"C:\\Windows\\System32\\IntegratedServicesRegionPolicySet.json\"
|
||||
|
||||
takeown /f $File
|
||||
icacls $File /grant \"Administrators:(F)\"
|
||||
|
||||
$FileContent = Get-Content $File
|
||||
$FileContent[7] = $FileContent[7] -replace \"enabled\", \"disabled\"
|
||||
Set-Content $File $FileContent
|
||||
"
|
||||
],
|
||||
```
|
||||
|
||||
## 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).
|
||||
@@ -0,0 +1,30 @@
|
||||
# Remove Microsoft Edge
|
||||
|
||||
# Json File
|
||||
```json
|
||||
"WPFTweaksRemoveEdge": {
|
||||
"Content": "Remove Microsoft Edge",
|
||||
"Description": "Unblocks Microsoft Edge uninstaller restrictions than uses that uninstaller to remove Microsoft Edge",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a028_",
|
||||
"InvokeScript": [
|
||||
"Invoke-WinUtilRemoveEdge"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
Write-Host 'Installing Microsoft Edge...'
|
||||
winget install Microsoft.Edge --source winget
|
||||
"
|
||||
],
|
||||
```
|
||||
# Function
|
||||
```json
|
||||
function Invoke-WinUtilRemoveEdge {
|
||||
Write-Host "Unlocking The Offical Edge Uninstaller And Removing Microsoft Edge..."
|
||||
|
||||
$Path = (Get-ChildItem "C:\Program Files (x86)\Microsoft\Edge\Application\*\Installer\setup.exe")[0].FullName
|
||||
New-Item "C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe" -Force
|
||||
Start-Process $Path -ArgumentList '--uninstall --system-level --force-uninstall --delete-profile'
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,33 @@
|
||||
# Remove OneDrive
|
||||
```json
|
||||
"WPFTweaksRemoveOneDrive": {
|
||||
"Content": "Remove OneDrive",
|
||||
"Description": "Denys permission to remove onedrive user files than uses its own uninstaller to remove it than brings back permissions",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"Order": "a029_",
|
||||
"InvokeScript": [
|
||||
"
|
||||
# Deny permission to remove OneDrive folder
|
||||
icacls $Env:OneDrive /deny \"Administrators:(D,DC)\"
|
||||
|
||||
Write-Host \"Uninstalling OneDrive...\"
|
||||
Start-Process 'C:\\Windows\\System32\\OneDriveSetup.exe' -ArgumentList '/uninstall' -Wait
|
||||
|
||||
# Some of OneDrive files use explorer, and OneDrive uses FileCoAuth
|
||||
Write-Host \"Removing leftover OneDrive Files...\"
|
||||
Stop-Process -Name FileCoAuth,Explorer
|
||||
Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force
|
||||
Remove-Item \"C:\\ProgramData\\Microsoft OneDrive\" -Recurse -Force
|
||||
|
||||
# Grant back permission to accses OneDrive folder
|
||||
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
|
||||
"
|
||||
],
|
||||
"UndoScript": [
|
||||
"
|
||||
Write-Host \"Installing OneDrive\"
|
||||
winget install Microsoft.Onedrive --source winget
|
||||
"
|
||||
],
|
||||
```
|
||||
@@ -11,6 +11,7 @@
|
||||
- [Remove Home from explorer](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveHome.md)
|
||||
- [Make Edge Uninstallable](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/EdgeUninstall.md)
|
||||
- [Run OO Shutup 10](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/OOSUbutton.md)
|
||||
- [Remove OneDrive](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveOneDrive.md)
|
||||
- [Set Classic Right-Click Menu](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RightClickMenu.md)
|
||||
- [Set Display for Performance](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Display.md)
|
||||
- [Set Time to UTC (Dual Boot)](https://github.com/ChrisTitusTech/winutil/blob/main/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/UTC.md)
|
||||
|
||||
@@ -8,7 +8,7 @@ The utility provides three distinct settings for managing Windows updates: Defau
|
||||
### Security (Recommended) Settings
|
||||
- **Description**: This is the recommended setting for all computers.
|
||||
- **Update Schedule**:
|
||||
- **Feature Updates**: Delays feature updates by 2 years to avoid potential bugs and instability.
|
||||
- **Feature Updates**: Delays feature updates by 365 days to avoid potential bugs and instability.
|
||||
- **Security Updates**: Installs security updates 4 days after their release to ensure system protection against pressing security flaws.
|
||||
- **Rationale**:
|
||||
- **Feature Updates**: Often introduce new features and bugs; delaying these updates minimizes the risk of system disruptions.
|
||||
|
||||
@@ -66,6 +66,11 @@ function Microwin-NewFirstRun {
|
||||
|
||||
}
|
||||
|
||||
if ((Get-BitLockerVolume -MountPoint $Env:SystemDrive).ProtectionStatus -eq 'On') {
|
||||
Write-Host "Disabling BitLocker..."
|
||||
Disable-BitLocker -MountPoint $Env:SystemDrive
|
||||
}
|
||||
|
||||
# Get BCD entries and set bootmgr timeout accordingly
|
||||
try
|
||||
{
|
||||
|
||||
@@ -39,9 +39,9 @@ Function Install-WinUtilProgramWinget {
|
||||
|
||||
$commonArguments = "--id $wingetId --silent"
|
||||
$arguments = if ($Action -eq "Install") {
|
||||
"install $commonArguments --accept-source-agreements --accept-package-agreements"
|
||||
"install $commonArguments --accept-source-agreements --accept-package-agreements --source winget"
|
||||
} else {
|
||||
"uninstall $commonArguments"
|
||||
"uninstall $commonArguments --source winget"
|
||||
}
|
||||
|
||||
$processParams = @{
|
||||
|
||||
7
functions/public/Invoke-WinUtilRemoveEdge.ps1
Normal file
7
functions/public/Invoke-WinUtilRemoveEdge.ps1
Normal file
@@ -0,0 +1,7 @@
|
||||
function Invoke-WinUtilRemoveEdge {
|
||||
Write-Host "Unlocking The Offical Edge Uninstaller And Removing Microsoft Edge..."
|
||||
|
||||
$Path = (Get-ChildItem "C:\Program Files (x86)\Microsoft\Edge\Application\*\Installer\setup.exe")[0].FullName
|
||||
New-Item "C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe" -Force
|
||||
Start-Process $Path -ArgumentList '--uninstall --system-level --force-uninstall --delete-profile'
|
||||
}
|
||||
@@ -1289,7 +1289,7 @@
|
||||
Foreground="{DynamicResource MainForegroundColor}">
|
||||
<Run FontWeight="Bold">Balanced Security Configuration</Run>
|
||||
<LineBreak/>
|
||||
- Feature updates delayed by 2 years
|
||||
- Feature updates delayed by 365 days
|
||||
<LineBreak/>
|
||||
- Security updates installed after 4 days
|
||||
<LineBreak/><LineBreak/>
|
||||
@@ -1534,28 +1534,14 @@
|
||||
<LineBreak/>
|
||||
|
||||
<Bold>INSTRUCTIONS</Bold> <LineBreak/>
|
||||
- Download a Windows 11 ISO through the following options: <LineBreak/>
|
||||
<TextBlock Margin="15,0,0,0" Text="- Select your own ISO: Manually download the latest Windows 11 image from " Foreground="{DynamicResource ComboBoxForegroundColor}"/>
|
||||
<TextBlock Name="Win11DownloadLink" Style="{StaticResource HoverTextBlockStyle}" ToolTip="https://www.microsoft.com/software-download/windows11">Microsoft</TextBlock>. <LineBreak/>
|
||||
<TextBlock Margin="15,0,0,0" Text="- Get newest ISO automatically: Choose Windows 11 Edition and preferred language." Foreground="{DynamicResource ComboBoxForegroundColor}"/> <LineBreak/>
|
||||
May take several minutes to process the ISO depending on your machine and connection <LineBreak/>
|
||||
- Put it somewhere on the C:\ drive so it is easily accessible <LineBreak/>
|
||||
- Launch WinUtil and MicroWin <LineBreak/>
|
||||
- Click on the "Get Windows ISO" button and wait for WinUtil to process the image <LineBreak/>
|
||||
It will be processed and unpacked which may take some time <LineBreak/>
|
||||
- Once complete, choose which Windows flavor you want to base your image on <LineBreak/>
|
||||
- Click the "Start Process" button <LineBreak/>
|
||||
The process of creating the Windows image may take some time, please check the console and wait for it to say "Done" <LineBreak/>
|
||||
- Once complete, the target ISO file will be in the directory you have specified <LineBreak/>
|
||||
- Copy this image to your Ventoy USB Stick, boot to this image, gg
|
||||
<LineBreak/>
|
||||
If you are injecting drivers ensure you put all your inf, sys, and dll files for each driver into a separate directory <LineBreak/><LineBreak/>
|
||||
<Bold>Installing VirtIO drivers</Bold><LineBreak/>
|
||||
If you plan on using your ISO on QEMU/Proxmox VE, you can bundle VirtIO drivers with your ISO to automatically install drivers. Simply tick the "Include VirtIO drivers" checkbox before starting the process. Then, follow these instructions:<LineBreak/><LineBreak/>
|
||||
<TextBlock TextWrapping="WrapWithOverflow" Margin="15,0,0,0" Text="1. Proceed with Setup until you reach the disk selection screen, in which you won't see any drives" Foreground="{DynamicResource ComboBoxForegroundColor}"/><LineBreak/>
|
||||
<TextBlock TextWrapping="WrapWithOverflow" Margin="15,0,0,0" Text="2. Click "Load Driver" and click Browse" Foreground="{DynamicResource ComboBoxForegroundColor}"/><LineBreak/>
|
||||
<TextBlock TextWrapping="WrapWithOverflow" Margin="15,0,0,0" Text="3. In the folder selection dialog, point to this path: "D:\VirtIO\vioscsi\w11\amd64" (replace amd64 with ARM64 if you are using Windows on ARM, and "D:" with the drive letter of the ISO)" Foreground="{DynamicResource ComboBoxForegroundColor}"/><LineBreak/>
|
||||
<TextBlock TextWrapping="WrapWithOverflow" Margin="15,0,0,0" Text="4. Select all drivers that will appear in the list box and click OK" Foreground="{DynamicResource ComboBoxForegroundColor}"/><LineBreak/>
|
||||
1. Download Windows 11 ISO from <TextBlock Name="Win11DownloadLink" Style="{StaticResource HoverTextBlockStyle}" ToolTip="https://www.microsoft.com/software-download/windows11">Microsoft</TextBlock> directly, or use the "Get newest ISO" option and select your preferred language.<LineBreak/>
|
||||
2. Click "Get Windows ISO" then select your Windows ISO (may take several minutes depending on your machine and connection)<LineBreak/>
|
||||
3. Select Windows flavor > Click "Start Process" (may take time, check the console and wait for the "Done" message to appear)<LineBreak/>
|
||||
4. Finally, write the ISO to a USB drive using your preferred method and boot.<LineBreak/><LineBreak/>
|
||||
<Bold>Driver Injection:</Bold> <LineBreak/>
|
||||
Organize drivers in separate folders with .inf, .sys, and .dll files for each device <LineBreak/><LineBreak/>
|
||||
<Bold>VirtIO Drivers (QEMU/Proxmox):</Bold><LineBreak/>
|
||||
Check "Include VirtIO drivers" before starting. During setup, select Load Driver > Browse to D:\VirtIO\vioscsi\w11\amd64 (use ARM64 for Windows on ARM) > Select all drivers and click OK<LineBreak/>
|
||||
</TextBlock>
|
||||
<TextBlock Margin="15,0,15,15"
|
||||
Padding = "1"
|
||||
|
||||
Reference in New Issue
Block a user