mirror of
https://github.com/ChrisTitusTech/winutil
synced 2026-04-05 22:28:31 +00:00
Cleaned up typos, fixes grammatical errors and other related fixes (#4215)
* cleaned up typo, fixes, grammatical and other related fixes (#2) * typo in Lightshot app name * remove trailing comma in applications.json * consistent capitalization of Windows, WinGet - only user-facing text - includes update to devdocs-generator.ps1, so docs for tweaks modifying registry will have `Windows settings` rather than `windows settings` * various fixes for typos, style, punctuation and capitalization * capitalize 'AM' * Update README.md change formatting for GitHub UI interaction form code format (` `) to bold md Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com> * typos and wording in docs --------- Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
This commit is contained in:
6
.github/CONTRIBUTING.md
vendored
6
.github/CONTRIBUTING.md
vendored
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
* Pull requests are now handled directly on the **MAIN branch**. This was done since we can now select specific releases to launch via releases in GitHub.
|
* Pull requests are now handled directly on the **MAIN branch**. This was done since we can now select specific releases to launch via releases in GitHub.
|
||||||
|
|
||||||
* If you're doing code changes, then you can submit a PR to `main` branch, but I am very selective about these.
|
* If you're doing code changes, then you can submit a PR to the `main` branch, but I am very selective about these.
|
||||||
|
|
||||||
!!! warning "Important"
|
!!! warning "Important"
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ graph TD
|
|||||||
|
|
||||||
### Testing your changes
|
### Testing your changes
|
||||||
|
|
||||||
* To test to see if your changes work as intended run following commands in a powershell terminal as admin:
|
* To test to see if your changes work as intended, run the following commands in a PowerShell terminal as admin:
|
||||||
|
|
||||||
* Change the directory where you are running the commands to the forked project.
|
* Change the directory where you are running the commands to the forked project.
|
||||||
* `cd {path to the folder with the compile.ps1}`
|
* `cd {path to the folder with the compile.ps1}`
|
||||||
@@ -112,6 +112,6 @@ graph TD
|
|||||||

|

|
||||||
|
|
||||||
### Making a PR
|
### Making a PR
|
||||||
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is not a WinUtil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.
|
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is no WinUtil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.
|
||||||
* If you do not see your feature in the main "/win" build, that is fine. All new changes go into the /windev build to make sure everything is working OK before going fully public.
|
* If you do not see your feature in the main "/win" build, that is fine. All new changes go into the /windev build to make sure everything is working OK before going fully public.
|
||||||
* Congratulations! You just submitted your first PR. Thank you so much for contributing to WinUtil.
|
* Congratulations! You just submitted your first PR. Thank you so much for contributing to WinUtil.
|
||||||
|
|||||||
@@ -50,9 +50,9 @@ If you have Issues, refer to [Known Issues](https://winutil.christitus.com/known
|
|||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Winutil is a relatively large script, so it's split into multiple files which're combined into a single `.ps1` file using a custom compiler. This makes maintaining the project a lot easier.
|
> Winutil is a relatively large script, so it's split into multiple files which're combined into a single `.ps1` file using a custom compiler. This makes maintaining the project a lot easier.
|
||||||
|
|
||||||
Get a copy of the source code, this can be done using GitHub UI (`Code -> Download ZIP`), or by cloning (downloading) the repo using git.
|
Get a copy of the source code. This can be done using GitHub UI (**Code** > **Download ZIP**), or by cloning (downloading) the repo using git.
|
||||||
|
|
||||||
If git is installed, run the following commands under a PowerShell window to clone and move into project's directory:
|
If git is installed, run the following commands under a PowerShell window to clone and move into the project's directory:
|
||||||
```ps1
|
```ps1
|
||||||
git clone --depth 1 "https://github.com/ChrisTitusTech/winutil.git"
|
git clone --depth 1 "https://github.com/ChrisTitusTech/winutil.git"
|
||||||
cd winutil
|
cd winutil
|
||||||
@@ -63,10 +63,10 @@ To build the project, run the Compile Script under a PowerShell window (admin pe
|
|||||||
.\Compile.ps1
|
.\Compile.ps1
|
||||||
```
|
```
|
||||||
|
|
||||||
You'll see a new file named `winutil.ps1`, which's created by `Compile.ps1` script, now you can run it as admin and a new window will popup, enjoy your own compiled version of WinUtil :)
|
You'll see a new file named `winutil.ps1`, which was created by `Compile.ps1` script. Now you can run it as admin, and a new window will pop up. Enjoy your own compiled version of WinUtil :)
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> For more info on using WinUtil and how to develop for it, please consider reading [the Contribution Guidelines](https://winutil.christitus.com/contributing/), if you don't know where to start, or have questions, you can ask over on our [Discord Community Server](https://discord.gg/RUbZUZyByQ) and active project members will answer when they can.
|
> For more info on using WinUtil and how to develop for it, please consider reading [the Contribution Guidelines](https://winutil.christitus.com/contributing/). If you don't know where to start, or have questions, you can ask over on our [Discord Community Server](https://discord.gg/RUbZUZyByQ), and active project members will answer when they can.
|
||||||
|
|
||||||
## 💖 Support
|
## 💖 Support
|
||||||
- To morally and mentally support the project, make sure to leave a ⭐️!
|
- To morally and mentally support the project, make sure to leave a ⭐️!
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
"category": "Document",
|
"category": "Document",
|
||||||
"choco": "na",
|
"choco": "na",
|
||||||
"content": "AFFiNE",
|
"content": "AFFiNE",
|
||||||
"description": "AFFiNE is an open-source alternative to Notion. Write, draw, plan all at once. Selfhost it to sync across devices.",
|
"description": "AFFiNE is an open-source alternative to Notion. Write, draw, plan all at once. Self-host it to sync across devices.",
|
||||||
"link": "https://affine.pro/",
|
"link": "https://affine.pro/",
|
||||||
"winget": "ToEverything.AFFiNE",
|
"winget": "ToEverything.AFFiNE",
|
||||||
"foss": true
|
"foss": true
|
||||||
@@ -261,7 +261,7 @@
|
|||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "citrix-workspace",
|
"choco": "citrix-workspace",
|
||||||
"content": "Citrix Workspace app",
|
"content": "Citrix Workspace app",
|
||||||
"description": "a secure, unified client application that provides instant access to virtual desktops, SaaS, web, and Windows apps from any device (Windows, macOS, Linux, iOS, Android) or browser.",
|
"description": "A secure, unified client application that provides instant access to virtual desktops, SaaS, web, and Windows apps from any device (Windows, macOS, Linux, iOS, Android) or browser.",
|
||||||
"link": "https://www.citrix.com/downloads/workspace-app/",
|
"link": "https://www.citrix.com/downloads/workspace-app/",
|
||||||
"winget": "Citrix.Workspace"
|
"winget": "Citrix.Workspace"
|
||||||
},
|
},
|
||||||
@@ -357,7 +357,7 @@
|
|||||||
"category": "Development",
|
"category": "Development",
|
||||||
"choco": "clink",
|
"choco": "clink",
|
||||||
"content": "Clink",
|
"content": "Clink",
|
||||||
"description": "Clink is a powerful Bash-compatible command-line interface (CLIenhancement for Windows, adding features like syntax highlighting and improved history).",
|
"description": "Clink is a powerful Bash-compatible command-line interface (CLI enhancement for Windows, adding features like syntax highlighting and improved history).",
|
||||||
"link": "https://mridgers.github.io/clink/",
|
"link": "https://mridgers.github.io/clink/",
|
||||||
"winget": "chrisant996.Clink",
|
"winget": "chrisant996.Clink",
|
||||||
"foss": true
|
"foss": true
|
||||||
@@ -523,7 +523,7 @@
|
|||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "ditto",
|
"choco": "ditto",
|
||||||
"content": "Ditto",
|
"content": "Ditto",
|
||||||
"description": "Ditto is an extension to the standard windows clipboard.",
|
"description": "Ditto is an extension to the standard Windows Clipboard.",
|
||||||
"link": "https://github.com/sabrogden/Ditto",
|
"link": "https://github.com/sabrogden/Ditto",
|
||||||
"winget": "Ditto.Ditto",
|
"winget": "Ditto.Ditto",
|
||||||
"foss": true
|
"foss": true
|
||||||
@@ -734,7 +734,7 @@
|
|||||||
"category": "Multimedia Tools",
|
"category": "Multimedia Tools",
|
||||||
"choco": "ffmpeg-full",
|
"choco": "ffmpeg-full",
|
||||||
"content": "FFmpeg (full)",
|
"content": "FFmpeg (full)",
|
||||||
"description": "FFmpeg is a powerful multimedia processing tool that enables users to convert, edit, and stream audio and video files with a vast range of codecs and formats. | Note: FFmpeg can not be uninstalled using winget.",
|
"description": "FFmpeg is a powerful multimedia processing tool that enables users to convert, edit, and stream audio and video files with a vast range of codecs and formats. | Note: FFmpeg can not be uninstalled using WinGet.",
|
||||||
"link": "https://ffmpeg.org/",
|
"link": "https://ffmpeg.org/",
|
||||||
"winget": "Gyan.FFmpeg"
|
"winget": "Gyan.FFmpeg"
|
||||||
},
|
},
|
||||||
@@ -795,7 +795,7 @@
|
|||||||
"category": "Multimedia Tools",
|
"category": "Multimedia Tools",
|
||||||
"choco": "lightshot",
|
"choco": "lightshot",
|
||||||
"content": "Lightshot (Screenshots)",
|
"content": "Lightshot (Screenshots)",
|
||||||
"description": "Ligthshot is an easy-to-use, light-weight screenshot software tool, where you can optionally edit your screenshots using different tools, share them via Internet and/or save to disk, and customize the available options.",
|
"description": "Lightshot is an easy-to-use, light-weight screenshot software tool, where you can optionally edit your screenshots using different tools, share them via Internet and/or save to disk, and customize the available options.",
|
||||||
"link": "https://app.prntscr.com/",
|
"link": "https://app.prntscr.com/",
|
||||||
"winget": "Skillbrains.Lightshot"
|
"winget": "Skillbrains.Lightshot"
|
||||||
},
|
},
|
||||||
@@ -1367,7 +1367,7 @@
|
|||||||
"category": "Communications",
|
"category": "Communications",
|
||||||
"choco": "linphone",
|
"choco": "linphone",
|
||||||
"content": "Linphone",
|
"content": "Linphone",
|
||||||
"description": "Linphone is an open-source voice over IP (VoIPservice that allows for audio and video calls, messaging, and more.",
|
"description": "Linphone is an open-source voice over IP (VoIP) service that allows for audio and video calls, messaging, and more.",
|
||||||
"link": "https://www.linphone.org/",
|
"link": "https://www.linphone.org/",
|
||||||
"winget": "BelledonneCommunications.Linphone",
|
"winget": "BelledonneCommunications.Linphone",
|
||||||
"foss": true
|
"foss": true
|
||||||
@@ -1657,7 +1657,7 @@
|
|||||||
"category": "Pro Tools",
|
"category": "Pro Tools",
|
||||||
"choco": "netbird",
|
"choco": "netbird",
|
||||||
"content": "NetBird",
|
"content": "NetBird",
|
||||||
"description": "NetBird is a open-source alternative comparable to TailScale that can be connected to a selfhosted Server.",
|
"description": "NetBird is a open-source alternative comparable to TailScale that can be connected to a self-hosted server.",
|
||||||
"link": "https://netbird.io/",
|
"link": "https://netbird.io/",
|
||||||
"winget": "netbird",
|
"winget": "netbird",
|
||||||
"foss": true
|
"foss": true
|
||||||
@@ -1970,7 +1970,7 @@
|
|||||||
"category": "Document",
|
"category": "Document",
|
||||||
"choco": "pdfxchangeeditor",
|
"choco": "pdfxchangeeditor",
|
||||||
"content": "PDF-XChangeEditor",
|
"content": "PDF-XChangeEditor",
|
||||||
"description": "a comprehensive Windows-based software suite and editor for creating, viewing, editing, annotating, and signing PDF files.",
|
"description": "A comprehensive Windows-based software suite and editor for creating, viewing, editing, annotating, and signing PDF files.",
|
||||||
"link": "https://www.pdf-xchange.com/",
|
"link": "https://www.pdf-xchange.com/",
|
||||||
"winget": "TrackerSoftware.PDF-XChangeEditor"
|
"winget": "TrackerSoftware.PDF-XChangeEditor"
|
||||||
},
|
},
|
||||||
@@ -2917,7 +2917,7 @@
|
|||||||
"wazuh": {
|
"wazuh": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "wazuh-agent",
|
"choco": "wazuh-agent",
|
||||||
"content": "Wazuh.",
|
"content": "Wazuh",
|
||||||
"description": "Wazuh is an open-source security monitoring platform that offers intrusion detection, compliance checks, and log analysis.",
|
"description": "Wazuh is an open-source security monitoring platform that offers intrusion detection, compliance checks, and log analysis.",
|
||||||
"link": "https://wazuh.com/",
|
"link": "https://wazuh.com/",
|
||||||
"winget": "Wazuh.WazuhAgent",
|
"winget": "Wazuh.WazuhAgent",
|
||||||
@@ -2952,7 +2952,7 @@
|
|||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "wingetui",
|
"choco": "wingetui",
|
||||||
"content": "UniGetUI",
|
"content": "UniGetUI",
|
||||||
"description": "UniGetUI is a GUI for Winget, Chocolatey, and other Windows CLI package managers.",
|
"description": "UniGetUI is a GUI for WinGet, Chocolatey, and other Windows CLI package managers.",
|
||||||
"link": "https://www.marticliment.com/wingetui/",
|
"link": "https://www.marticliment.com/wingetui/",
|
||||||
"winget": "MartiCliment.UniGetUI",
|
"winget": "MartiCliment.UniGetUI",
|
||||||
"foss": true
|
"foss": true
|
||||||
@@ -3439,7 +3439,7 @@
|
|||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "na",
|
"choco": "na",
|
||||||
"content": "Lenovo Legion Toolkit",
|
"content": "Lenovo Legion Toolkit",
|
||||||
"description": "Lenovo Legion Toolkit (LLT) is a open-source utility created for Lenovo Legion (and similar) series laptops, that allows changing a couple of features that are only available in Lenovo Vantage or Legion Zone. It runs no background services, uses less memory, uses virtually no CPU, and contains no telemetry. Just like Lenovo Vantage, this application is Windows only.",
|
"description": "Lenovo Legion Toolkit (LLT) is a open-source utility created for Lenovo Legion laptops, that allows changing a couple of features that are only available in Lenovo Vantage or Legion Zone. It runs no background services, uses less memory, uses virtually no CPU, and contains no telemetry. Just like Lenovo Vantage, this application is Windows only.",
|
||||||
"link": "https://github.com/BartoszCichecki/LenovoLegionToolkit",
|
"link": "https://github.com/BartoszCichecki/LenovoLegionToolkit",
|
||||||
"winget": "BartoszCichecki.LenovoLegionToolkit",
|
"winget": "BartoszCichecki.LenovoLegionToolkit",
|
||||||
"foss": true
|
"foss": true
|
||||||
|
|||||||
@@ -21,13 +21,13 @@
|
|||||||
"Description": "Upgrade all applications to the latest version"
|
"Description": "Upgrade all applications to the latest version"
|
||||||
},
|
},
|
||||||
"WingetRadioButton": {
|
"WingetRadioButton": {
|
||||||
"Content": "Winget",
|
"Content": "WinGet",
|
||||||
"Category": "__Package Manager",
|
"Category": "__Package Manager",
|
||||||
"Type": "RadioButton",
|
"Type": "RadioButton",
|
||||||
"GroupName": "PackageManagerGroup",
|
"GroupName": "PackageManagerGroup",
|
||||||
"Checked": true,
|
"Checked": true,
|
||||||
"Order": "1",
|
"Order": "1",
|
||||||
"Description": "Use Winget for package management"
|
"Description": "Use WinGet for package management"
|
||||||
},
|
},
|
||||||
"ChocoRadioButton": {
|
"ChocoRadioButton": {
|
||||||
"Content": "Chocolatey",
|
"Content": "Chocolatey",
|
||||||
|
|||||||
@@ -103,7 +103,7 @@
|
|||||||
|
|
||||||
Remove-Item ViVeTool -Recurse
|
Remove-Item ViVeTool -Recurse
|
||||||
|
|
||||||
Write-Host 'Old start menu reverted please restart your computer to take effect'
|
Write-Host 'Old start menu reverted. Please restart your computer to take effect.'
|
||||||
"
|
"
|
||||||
],
|
],
|
||||||
"UndoScript": [
|
"UndoScript": [
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
Remove-Item ViVeTool -Recurse
|
Remove-Item ViVeTool -Recurse
|
||||||
|
|
||||||
Write-Host 'New start menu reverted please restart your computer to take effect'
|
Write-Host 'New start menu reverted. Please restart your computer to take effect.'
|
||||||
"
|
"
|
||||||
],
|
],
|
||||||
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/revertstartmenu"
|
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/revertstartmenu"
|
||||||
@@ -1457,7 +1457,7 @@
|
|||||||
},
|
},
|
||||||
"WPFTweaksUTC": {
|
"WPFTweaksUTC": {
|
||||||
"Content": "Set Time to UTC (Dual Boot)",
|
"Content": "Set Time to UTC (Dual Boot)",
|
||||||
"Description": "Essential for computers that are dual booting. Fixes the time sync with Linux Systems.",
|
"Description": "Essential for computers that are dual booting. Fixes the time sync with Linux systems.",
|
||||||
"category": "z__Advanced Tweaks - CAUTION",
|
"category": "z__Advanced Tweaks - CAUTION",
|
||||||
"panel": "1",
|
"panel": "1",
|
||||||
"registry": [
|
"registry": [
|
||||||
@@ -1490,7 +1490,7 @@
|
|||||||
Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force
|
Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force
|
||||||
Remove-Item \"C:\\ProgramData\\Microsoft OneDrive\" -Recurse -Force
|
Remove-Item \"C:\\ProgramData\\Microsoft OneDrive\" -Recurse -Force
|
||||||
|
|
||||||
# Grant back permission to accses OneDrive folder
|
# Grant back permission to access OneDrive folder
|
||||||
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
|
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
|
||||||
|
|
||||||
# Disable OneSyncSvc
|
# Disable OneSyncSvc
|
||||||
@@ -1528,7 +1528,7 @@
|
|||||||
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removehome"
|
"link": "https://winutil.christitus.com/dev/tweaks/z--advanced-tweaks---caution/removehome"
|
||||||
},
|
},
|
||||||
"WPFTweaksRemoveGallery": {
|
"WPFTweaksRemoveGallery": {
|
||||||
"Content": "Remove Gallery from explorer",
|
"Content": "Remove Gallery from Explorer",
|
||||||
"Description": "Removes the Gallery from Explorer and sets This PC as default.",
|
"Description": "Removes the Gallery from Explorer and sets This PC as default.",
|
||||||
"category": "z__Advanced Tweaks - CAUTION",
|
"category": "z__Advanced Tweaks - CAUTION",
|
||||||
"panel": "1",
|
"panel": "1",
|
||||||
@@ -1799,7 +1799,7 @@
|
|||||||
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/endtaskontaskbar"
|
"link": "https://winutil.christitus.com/dev/tweaks/essential-tweaks/endtaskontaskbar"
|
||||||
},
|
},
|
||||||
"WPFTweaksPowershell7Tele": {
|
"WPFTweaksPowershell7Tele": {
|
||||||
"Content": "Disable Powershell 7 Telemetry",
|
"Content": "Disable PowerShell 7 Telemetry",
|
||||||
"Description": "Creates an Environment Variable called 'POWERSHELL_TELEMETRY_OPTOUT' with a value of '1' which will tell PowerShell 7 to not send Telemetry Data.",
|
"Description": "Creates an Environment Variable called 'POWERSHELL_TELEMETRY_OPTOUT' with a value of '1' which will tell PowerShell 7 to not send Telemetry Data.",
|
||||||
"category": "Essential Tweaks",
|
"category": "Essential Tweaks",
|
||||||
"panel": "1",
|
"panel": "1",
|
||||||
@@ -2088,7 +2088,7 @@
|
|||||||
},
|
},
|
||||||
"WPFTweaksTeredo": {
|
"WPFTweaksTeredo": {
|
||||||
"Content": "Disable Teredo",
|
"Content": "Disable Teredo",
|
||||||
"Description": "Teredo network tunneling is a IPv6 feature that can cause additional latency, but may cause problems with some games.",
|
"Description": "Teredo network tunneling is an IPv6 feature that can cause additional latency, but may cause problems with some games.",
|
||||||
"category": "z__Advanced Tweaks - CAUTION",
|
"category": "z__Advanced Tweaks - CAUTION",
|
||||||
"panel": "1",
|
"panel": "1",
|
||||||
"registry": [
|
"registry": [
|
||||||
@@ -2224,7 +2224,7 @@
|
|||||||
},
|
},
|
||||||
"WPFToggleStandbyFix": {
|
"WPFToggleStandbyFix": {
|
||||||
"Content": "Modern Standby fix",
|
"Content": "Modern Standby fix",
|
||||||
"Description": "Disable network connection during S0 sleep. If network connectivity is turned on during S0 sleep it could cause overheating on modern laptops",
|
"Description": "Disable network connection during S0 Sleep. If network connectivity is turned on during S0 Sleep it could cause overheating on modern laptops.",
|
||||||
"category": "Customize Preferences",
|
"category": "Customize Preferences",
|
||||||
"panel": "2",
|
"panel": "2",
|
||||||
"Type": "Toggle",
|
"Type": "Toggle",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ toc: true
|
|||||||
|
|
||||||
* Pull requests are now handled directly on the **MAIN branch**. This was done since we can now select specific releases to launch via releases in GitHub.
|
* Pull requests are now handled directly on the **MAIN branch**. This was done since we can now select specific releases to launch via releases in GitHub.
|
||||||
|
|
||||||
* If you're doing code changes, then you can submit a PR to `main` branch, but I am very selective about these.
|
* If you're doing code changes, then you can submit a PR to the `main` branch, but I am very selective about these.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Do not use a code formatter, make massive amounts of line changes, or make multiple feature changes. EACH FEATURE CHANGE SHOULD BE IT'S OWN PULL REQUEST!
|
> Do not use a code formatter, make massive amounts of line changes, or make multiple feature changes. EACH FEATURE CHANGE SHOULD BE IT'S OWN PULL REQUEST!
|
||||||
@@ -85,7 +85,7 @@ graph TD
|
|||||||
|
|
||||||
### Testing your changes
|
### Testing your changes
|
||||||
|
|
||||||
* To test to see if your changes work as intended run following commands in a powershell terminal as admin:
|
* To test to see if your changes work as intended, run the following commands in a PowerShell terminal as admin:
|
||||||
|
|
||||||
* Change the directory where you are running the commands to the forked project.
|
* Change the directory where you are running the commands to the forked project.
|
||||||
* `cd {path to the folder with the compile.ps1}`
|
* `cd {path to the folder with the compile.ps1}`
|
||||||
@@ -110,6 +110,6 @@ graph TD
|
|||||||
{{< image src="images/Push-Commit" alt="Push Commit Image" >}}
|
{{< image src="images/Push-Commit" alt="Push Commit Image" >}}
|
||||||
|
|
||||||
### Making a PR
|
### Making a PR
|
||||||
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is not a Winutil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.
|
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is no Winutil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.
|
||||||
* If you do not see your feature in the main "/win" build, that is fine. All new changes go into the /windev build to make sure everything is working OK before going fully public.
|
* If you do not see your feature in the main "/win" build, that is fine. All new changes go into the /windev build to make sure everything is working OK before going fully public.
|
||||||
* Congratulations! You just submitted your first PR. Thank you so much for contributing to Winutil.
|
* Congratulations! You just submitted your first PR. Thank you so much for contributing to Winutil.
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ irm https://github.com/ChrisTitusTech/Winutil/releases/latest/download/Winutil.p
|
|||||||
|
|
||||||
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 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:
|
If you are still having issues, try using a **VPN**, or changing your **DNS provider** to one of the following two providers:
|
||||||
|
|
||||||
| Provider | Primary DNS | Secondary DNS |
|
| Provider | Primary DNS | Secondary DNS |
|
||||||
| :--------: | :---------: | :-----------: |
|
| :--------: | :---------: | :-----------: |
|
||||||
@@ -44,7 +44,7 @@ irm "https://christitus.com/win" | iex
|
|||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> On Windows 11, you usually do not need the TLS 1.2 command. Use it only if you hit download or security protocol errors.
|
> On Windows 11, you usually do not need the TLS 1.2 command. Use it only if you encounter download or security protocol errors.
|
||||||
|
|
||||||
### Execution Policy Error
|
### Execution Policy Error
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ This only changes the policy for the current PowerShell process and is safe for
|
|||||||
|
|
||||||
### Interface Doesn't Appear
|
### Interface Doesn't Appear
|
||||||
|
|
||||||
If Winutil downloads but the GUI does not open or appear, try these steps:
|
If Winutil downloads, but the GUI does not open or appear, try these steps:
|
||||||
|
|
||||||
1. Check if your antivirus or Windows Defender is blocking the script — add an exclusion if necessary.
|
1. Check if your antivirus or Windows Defender is blocking the script — add an exclusion if necessary.
|
||||||
2. Ensure you launched PowerShell / Terminal as **Administrator**.
|
2. Ensure you launched PowerShell / Terminal as **Administrator**.
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ Welcome to the official documentation for Winutil, your go-to utility for optimi
|
|||||||
|
|
||||||
## Running the latest release of Winutil
|
## Running the latest release of Winutil
|
||||||
|
|
||||||
* You will first need to start a Powershell terminal **as Admin**.
|
* You will first need to start a PowerShell terminal **as Admin**.
|
||||||
* Now you can run the following command:
|
* Now you can run the following command:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ The **Win11 Creator** is a specialized subsystem within Winutil that creates cus
|
|||||||
|
|
||||||
- `Invoke-WinUtilISOScript.ps1`: Applies modifications to mounted install.wim
|
- `Invoke-WinUtilISOScript.ps1`: Applies modifications to mounted install.wim
|
||||||
- Removes provisioned AppX packages (40+ bloatware apps)
|
- Removes provisioned AppX packages (40+ bloatware apps)
|
||||||
- Injects drivers (optional) from current system
|
- Injects drivers (optional) from the current system
|
||||||
- Removes OneDrive setup files
|
- Removes OneDrive setup files
|
||||||
- Applies offline registry tweaks (hardware bypass, privacy, telemetry, OOBE)
|
- Applies offline registry tweaks (hardware bypass, privacy, telemetry, OOBE)
|
||||||
- Deletes telemetry scheduled task definitions
|
- Deletes telemetry scheduled task definitions
|
||||||
@@ -167,7 +167,7 @@ Invoke-WinUtilISOMountAndVerify
|
|||||||
├─ Extract available editions (Home, Pro, Enterprise, etc.)
|
├─ Extract available editions (Home, Pro, Enterprise, etc.)
|
||||||
└─ Store ISO path, drive letter, WIM path, image info in $sync
|
└─ Store ISO path, drive letter, WIM path, image info in $sync
|
||||||
↓
|
↓
|
||||||
User optionally enables Driver Injection checkbox
|
User optionally enables the Driver Injection checkbox
|
||||||
↓
|
↓
|
||||||
Invoke-WinUtilISOModify (runs in background runspace)
|
Invoke-WinUtilISOModify (runs in background runspace)
|
||||||
├─ Create work directory: ~WinUtil_Win11ISO_[timestamp]
|
├─ Create work directory: ~WinUtil_Win11ISO_[timestamp]
|
||||||
@@ -183,7 +183,7 @@ Invoke-WinUtilISOModify (runs in background runspace)
|
|||||||
│ ├─ Pre-stage setup scripts from autounattend.xml to C:\Windows\Setup\Scripts\
|
│ ├─ Pre-stage setup scripts from autounattend.xml to C:\Windows\Setup\Scripts\
|
||||||
│ └─ Unload registry hives
|
│ └─ Unload registry hives
|
||||||
├─ DISM /Cleanup-Image /StartComponentCleanup /ResetBase (saves 300-800 MB)
|
├─ DISM /Cleanup-Image /StartComponentCleanup /ResetBase (saves 300-800 MB)
|
||||||
├─ Dismount and save modified install.wim (~10+ minutes, slowest step)
|
├─ Dismount and save the modified install.wim (~10+ minutes, slowest step)
|
||||||
├─ Export selected edition only (removes all other editions, saves 1-2 GB each)
|
├─ Export selected edition only (removes all other editions, saves 1-2 GB each)
|
||||||
├─ Dismount source ISO
|
├─ Dismount source ISO
|
||||||
└─ Report completion, enable export options
|
└─ Report completion, enable export options
|
||||||
@@ -218,7 +218,7 @@ Invoke-WinUtilISOCleanAndReset (optional)
|
|||||||
- Prevents redundant modifications
|
- Prevents redundant modifications
|
||||||
|
|
||||||
**Modification Safety**:
|
**Modification Safety**:
|
||||||
- All registry changes are documented in script (reversible)
|
- All registry changes are documented in a script (reversible)
|
||||||
- Original ISO never modified; only working copy
|
- Original ISO never modified; only working copy
|
||||||
- Logged to `WinUtil_Win11ISO.log` for debugging
|
- Logged to `WinUtil_Win11ISO.log` for debugging
|
||||||
- DISM handles image dismount with automatic cleanup on error
|
- DISM handles image dismount with automatic cleanup on error
|
||||||
@@ -256,7 +256,7 @@ The `Invoke-WinUtilISOScript` function applies **50+ offline registry tweaks**:
|
|||||||
|
|
||||||
**System Features**:
|
**System Features**:
|
||||||
- Disable BitLocker and device encryption
|
- Disable BitLocker and device encryption
|
||||||
- Disable Chat icon from taskbar
|
- Disable Chat icon from the Taskbar
|
||||||
- Disable OneDrive folder backup
|
- Disable OneDrive folder backup
|
||||||
- Disable Copilot
|
- Disable Copilot
|
||||||
- Disable Windows Update during OOBE (re-enabled at first login)
|
- Disable Windows Update during OOBE (re-enabled at first login)
|
||||||
@@ -287,7 +287,7 @@ Get-WinUtilCheckBoxes → Retrieves selected apps
|
|||||||
↓
|
↓
|
||||||
For each selected app:
|
For each selected app:
|
||||||
↓
|
↓
|
||||||
Check if WinGet/Choco installed
|
Check if WinGet/Choco is installed
|
||||||
↓
|
↓
|
||||||
Install-WinUtilWinget/Choco (if needed)
|
Install-WinUtilWinget/Choco (if needed)
|
||||||
↓
|
↓
|
||||||
@@ -333,7 +333,7 @@ Retrieve "OriginalState" from tweak definition
|
|||||||
↓
|
↓
|
||||||
Invoke-WPFUndoTweak → Restore original values
|
Invoke-WPFUndoTweak → Restore original values
|
||||||
↓
|
↓
|
||||||
Remove from applied tweaks log
|
Remove from the applied tweaks log
|
||||||
↓
|
↓
|
||||||
Update UI
|
Update UI
|
||||||
```
|
```
|
||||||
@@ -525,7 +525,7 @@ $sync.form.Dispatcher.Invoke([action]{
|
|||||||
```
|
```
|
||||||
|
|
||||||
2. Recompile: `.\Compile.ps1`
|
2. Recompile: `.\Compile.ps1`
|
||||||
3. The app appears automatically in Install tab
|
3. The app appears automatically in the Install tab
|
||||||
|
|
||||||
### Adding a New Tweak
|
### Adding a New Tweak
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ $sync.form.Dispatcher.Invoke([action]{
|
|||||||
```
|
```
|
||||||
|
|
||||||
2. Recompile: `.\Compile.ps1`
|
2. Recompile: `.\Compile.ps1`
|
||||||
3. Tweak appears in Tweaks tab
|
3. Tweak appears in the Tweaks tab
|
||||||
|
|
||||||
### Adding a New Function
|
### Adding a New Function
|
||||||
|
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ toc: true
|
|||||||
## General Questions
|
## General Questions
|
||||||
|
|
||||||
### Is Windows 10 still supported?
|
### Is Windows 10 still supported?
|
||||||
No. Windows 10 is no longer supported by Winutil because it reached end of support on **October 14, 2025**.
|
No. Windows 10 is no longer supported by Winutil because it reached the end of support on **October 14, 2025**.
|
||||||
Winutil is focused on Windows 11.
|
Winutil is focused on Windows 11.
|
||||||
|
|
||||||
### How do I uninstall Winutil?
|
### How do I uninstall Winutil?
|
||||||
You do not need to uninstall Winutil. Because it runs as a PowerShell script, it is loaded into memory only while it is open. Once you close it, it is removed from memory and does not remain installed on your system.
|
You do not need to uninstall Winutil. Because it runs as a PowerShell script, it is loaded into memory only while it is open. Once you close it, it is removed from memory and does not remain installed on your system.
|
||||||
|
|
||||||
### Is Winutil safe to use?
|
### Is Winutil safe to use?
|
||||||
Yes, Winutil is open source and the code is publicly available on GitHub. Thousands of users run it daily. However, like any system modification tool, you should:
|
Yes, Winutil is open source, and the code is publicly available on GitHub. Thousands of users run it daily. However, like any system modification tool, you should:
|
||||||
- Run it as Administrator (required)
|
- Run it as Administrator (required)
|
||||||
- Create a restore point before major changes
|
- Create a restore point before major changes
|
||||||
- Understand what tweaks you're applying
|
- Understand what tweaks you're applying
|
||||||
@@ -23,7 +23,7 @@ Yes, Winutil is open source and the code is publicly available on GitHub. Thousa
|
|||||||
No. Once you've applied tweaks or installed applications, you can close Winutil. Changes persist after closing. You only need to run Winutil again when you want to make additional changes or undo tweaks.
|
No. Once you've applied tweaks or installed applications, you can close Winutil. Changes persist after closing. You only need to run Winutil again when you want to make additional changes or undo tweaks.
|
||||||
|
|
||||||
### Does Winutil require internet access?
|
### Does Winutil require internet access?
|
||||||
- **For downloading**: Yes, installing applications requires internet
|
- **For downloading**: Yes, installing applications requires the internet
|
||||||
- **For tweaks**: No, most tweaks work offline
|
- **For tweaks**: No, most tweaks work offline
|
||||||
- **Initial run**: Yes, to run the latest script
|
- **Initial run**: Yes, to run the latest script
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ Try these solutions in order:
|
|||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> On Windows 11, you usually do not need the TLS 1.2 command. Use it only if you hit download or security protocol errors.
|
> On Windows 11, you usually do not need the TLS 1.2 command. Use it only if you encounter download or security protocol errors.
|
||||||
|
|
||||||
3. **Change DNS** to Cloudflare (1.1.1.1) or Google (8.8.8.8)
|
3. **Change DNS** to Cloudflare (1.1.1.1) or Google (8.8.8.8)
|
||||||
|
|
||||||
@@ -91,10 +91,10 @@ Alternatively, use System Restore if you created a restore point.
|
|||||||
- Run Disk Cleanup
|
- Run Disk Cleanup
|
||||||
- Create Restore Point
|
- Create Restore Point
|
||||||
|
|
||||||
**(Advanced Tweaks)** should only be ran by advance users.
|
**(Advanced Tweaks)** should only be run by advanced users.
|
||||||
|
|
||||||
### Will tweaks survive Windows Updates?
|
### Will tweaks survive Windows Updates?
|
||||||
Most tweaks persist through updates, but some may be reset by major Windows feature updates. You may need to reapply certain tweaks afterward.
|
Most tweaks persist through updates, but some may be reset by major Windows feature updates. You may need to reapply certain tweaks afterwards.
|
||||||
|
|
||||||
### Can I create my own tweak presets?
|
### Can I create my own tweak presets?
|
||||||
Currently, Winutil uses predefined presets (Standard, Minimal). Custom presets aren't directly supported in the GUI, but you can script your preferred configuration.
|
Currently, Winutil uses predefined presets (Standard, Minimal). Custom presets aren't directly supported in the GUI, but you can script your preferred configuration.
|
||||||
@@ -165,7 +165,7 @@ Troubleshooting steps:
|
|||||||
1. Check your internet connection
|
1. Check your internet connection
|
||||||
2. Try installing just that one application
|
2. Try installing just that one application
|
||||||
3. Review error messages in the output panel
|
3. Review error messages in the output panel
|
||||||
4. Check if antivirus is blocking
|
4. Check if the antivirus is blocking
|
||||||
5. Try the WinGet Reinstall fix
|
5. Try the WinGet Reinstall fix
|
||||||
|
|
||||||
### Network tweaks broke my internet connection
|
### Network tweaks broke my internet connection
|
||||||
@@ -241,7 +241,7 @@ Results may vary depending on your system.
|
|||||||
Use the **Desktop** preset, then additionally apply:
|
Use the **Desktop** preset, then additionally apply:
|
||||||
- Disable GameDVR
|
- Disable GameDVR
|
||||||
- Ultimate Performance power plan
|
- Ultimate Performance power plan
|
||||||
- Disable fullscreen optimizations (Advanced)
|
- Disable full-screen optimizations (Advanced)
|
||||||
- Set display for performance (Advanced)
|
- Set display for performance (Advanced)
|
||||||
|
|
||||||
### How much RAM does Winutil use?
|
### How much RAM does Winutil use?
|
||||||
@@ -251,7 +251,7 @@ Winutil itself uses about 50-100 MB while running. Once closed, it is removed fr
|
|||||||
|
|
||||||
### "Access Denied" errors
|
### "Access Denied" errors
|
||||||
- Ensure PowerShell is running as Administrator
|
- Ensure PowerShell is running as Administrator
|
||||||
- Check if antivirus is blocking changes
|
- Check if the antivirus is blocking changes
|
||||||
- Verify you have ownership of files/registry keys
|
- Verify you have ownership of files/registry keys
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ weight: 2
|
|||||||
Welcome to the official User Guide for **Winutil**, your all-in-one Windows toolkit.
|
Welcome to the official User Guide for **Winutil**, your all-in-one Windows toolkit.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Windows 10 is not supported by Winutil. Windows 10 reached end of support on **October 14, 2025**.
|
> Windows 10 is not supported by Winutil. Windows 10 reached the end of support on **October 14, 2025**.
|
||||||
|
|
||||||
## What is Winutil?
|
## What is Winutil?
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Install common **Windows features** by selecting the feature checkboxes and clic
|
|||||||
* Hyper-V Virtualization
|
* Hyper-V Virtualization
|
||||||
* Legacy Media (WMP, DirectPlay)
|
* Legacy Media (WMP, DirectPlay)
|
||||||
* NFS - Network File System
|
* NFS - Network File System
|
||||||
* Enable Daily Registry Backup Task 12:30am
|
* Enable Daily Registry Backup Task 12:30 AM
|
||||||
* Enable Legacy F8 Boot Recovery
|
* Enable Legacy F8 Boot Recovery
|
||||||
* Disable Legacy F8 Boot Recovery
|
* Disable Legacy F8 Boot Recovery
|
||||||
* Windows Subsystem for Linux
|
* Windows Subsystem for Linux
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Winutil is a powerful Windows utility that helps you optimize, customize, and ma
|
|||||||
Before running Winutil, ensure your system meets these requirements:
|
Before running Winutil, ensure your system meets these requirements:
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Windows 10 is not supported by Winutil. Windows 10 reached end of support on **October 14, 2025**.
|
> Windows 10 is not supported by Winutil. Windows 10 reached the end of support on **October 14, 2025**.
|
||||||
|
|
||||||
- **Operating System**: Windows 11
|
- **Operating System**: Windows 11
|
||||||
- **PowerShell**: Version 5.1 or later (included by default in Windows 11)
|
- **PowerShell**: Version 5.1 or later (included by default in Windows 11)
|
||||||
@@ -86,7 +86,7 @@ Winutil opens with a clean, tabbed interface:
|
|||||||
- **Tweaks**: Apply system optimizations and customizations
|
- **Tweaks**: Apply system optimizations and customizations
|
||||||
- **Config**: Access system tools and utilities
|
- **Config**: Access system tools and utilities
|
||||||
- **Updates**: Manage Windows updates
|
- **Updates**: Manage Windows updates
|
||||||
- **Win11 Creator**: Allows user to debloat Win11 iso files.
|
- **Win11 Creator**: Allows user to debloat Windows 11 ISO files.
|
||||||
|
|
||||||
## Your First Actions
|
## Your First Actions
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ This gives you a rollback point if needed.
|
|||||||
|
|
||||||
1. Navigate to the **Install** tab
|
1. Navigate to the **Install** tab
|
||||||
2. Browse categories or use the search bar
|
2. Browse categories or use the search bar
|
||||||
3. Check applications you want to install
|
3. Check the applications you want to install
|
||||||
4. Click "Install/Upgrade Selected" at the bottom
|
4. Click "Install/Upgrade Selected" at the bottom
|
||||||
|
|
||||||
### 3. Apply Basic Tweaks
|
### 3. Apply Basic Tweaks
|
||||||
@@ -209,7 +209,7 @@ Winutil offers several preset configurations:
|
|||||||
|
|
||||||
### Script Won't Download
|
### Script Won't Download
|
||||||
|
|
||||||
If you get any errors when running winutil please refer to [Known Issues](/knownissues/) page
|
If you get any errors when running Winutil please refer to [Known Issues](/knownissues/) page
|
||||||
|
|
||||||
## Next Steps
|
## Next Steps
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ weight: 6
|
|||||||
|
|
||||||
Winutil provides three update modes so you can choose how aggressively Windows Update is managed on your system:
|
Winutil provides three update modes so you can choose how aggressively Windows Update is managed on your system:
|
||||||
|
|
||||||
- **Default (Out of Box) Settings**: Restores standard Windows Update behavior
|
- **Default (Out of the Box) Settings**: Restores standard Windows Update behavior
|
||||||
- **Security (Recommended) Settings**: Prioritizes stability while still receiving security updates
|
- **Security (Recommended) Settings**: Prioritizes stability while still receiving security updates
|
||||||
- **Disable ALL Updates**: Turns off Windows Update entirely and should only be used with extreme caution
|
- **Disable ALL Updates**: Turns off Windows Update entirely and should only be used with extreme caution
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ Click **Run Windows ISO Modification and Creator** to start the customization pr
|
|||||||
- **Disable Copilot and search box suggestions**
|
- **Disable Copilot and search box suggestions**
|
||||||
|
|
||||||
**Optional: Driver Injection**
|
**Optional: Driver Injection**
|
||||||
- If enabled, injects all drivers from your current system into the install.wim and boot.wim — useful for offline installations on machines with missing drivers. This is an optional checkbox in Step 3.
|
- If enabled, it injects all drivers from your current system into the install.wim and boot.wim — useful for offline installations on machines with missing drivers. This is an optional checkbox in Step 3.
|
||||||
|
|
||||||
A live log shows progress as each step completes. This stage usually takes **10–30 minutes** depending on disk speed. The WIM dismount near the end is the slowest part, so do not close Winutil while it is running.
|
A live log shows progress as each step completes. This stage usually takes **10–30 minutes** depending on disk speed. The WIM dismount near the end is the slowest part, so do not close Winutil while it is running.
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ A live log shows progress as each step completes. This stage usually takes **10
|
|||||||
|
|
||||||
### Step 4 — Export Your Result
|
### Step 4 — Export Your Result
|
||||||
|
|
||||||
Once modification is complete, choose how to save your image:
|
Once the modification is complete, choose how to save your image:
|
||||||
|
|
||||||
{{< tabs >}}
|
{{< tabs >}}
|
||||||
|
|
||||||
|
|||||||
@@ -34,21 +34,21 @@ function Get-WinUtilSelectedPackages
|
|||||||
if ($package.choco -eq "na") {
|
if ($package.choco -eq "na") {
|
||||||
Write-Debug "$($package.content) has no Choco value."
|
Write-Debug "$($package.content) has no Choco value."
|
||||||
$null = $packagesWinget.add($($package.winget))
|
$null = $packagesWinget.add($($package.winget))
|
||||||
Write-Host "Queueing $($package.winget) for Winget"
|
Write-Host "Queueing $($package.winget) for WinGet..."
|
||||||
} else {
|
} else {
|
||||||
$null = $packagesChoco.add($package.choco)
|
$null = $packagesChoco.add($package.choco)
|
||||||
Write-Host "Queueing $($package.choco) for Chocolatey"
|
Write-Host "Queueing $($package.choco) for Chocolatey..."
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
"Winget" {
|
"Winget" {
|
||||||
if ($package.winget -eq "na") {
|
if ($package.winget -eq "na") {
|
||||||
Write-Debug "$($package.content) has no Winget value."
|
Write-Debug "$($package.content) has no WinGet value."
|
||||||
$null = $packagesChoco.add($package.choco)
|
$null = $packagesChoco.add($package.choco)
|
||||||
Write-Host "Queueing $($package.choco) for Chocolatey"
|
Write-Host "Queueing $($package.choco) for Chocolatey..."
|
||||||
} else {
|
} else {
|
||||||
$null = $packagesWinget.add($($package.winget))
|
$null = $packagesWinget.add($($package.winget))
|
||||||
Write-Host "Queueing $($package.winget) for Winget"
|
Write-Host "Queueing $($package.winget) for WinGet..."
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ Function Get-WinUtilToggleStatus {
|
|||||||
if (($ToggleSwitchReg.path -imatch "hku") -and !(Get-PSDrive -Name HKU -ErrorAction SilentlyContinue)) {
|
if (($ToggleSwitchReg.path -imatch "hku") -and !(Get-PSDrive -Name HKU -ErrorAction SilentlyContinue)) {
|
||||||
$null = (New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS)
|
$null = (New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS)
|
||||||
if (Get-PSDrive -Name HKU -ErrorAction SilentlyContinue) {
|
if (Get-PSDrive -Name HKU -ErrorAction SilentlyContinue) {
|
||||||
Write-Debug "HKU drive created successfully"
|
Write-Debug "HKU drive created successfully."
|
||||||
} else {
|
} else {
|
||||||
Write-Debug "Failed to create HKU drive"
|
Write-Debug "Failed to create HKU drive."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
|
|||||||
@@ -10,6 +10,6 @@ function Install-WinUtilChoco {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "Chocolatey is not installed, installing now."
|
Write-Host "Chocolatey is not installed. Installing now..."
|
||||||
Invoke-WebRequest -Uri https://community.chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression
|
Invoke-WebRequest -Uri https://community.chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ function Install-WinUtilProgramChoco {
|
|||||||
Write-Host "Searching for metapackages of $Program (.install or .portable)"
|
Write-Host "Searching for metapackages of $Program (.install or .portable)"
|
||||||
$chocoPackages = ((choco list | Select-String -Pattern "$Program(\.install|\.portable)?").Matches.Value) -join " "
|
$chocoPackages = ((choco list | Select-String -Pattern "$Program(\.install|\.portable)?").Matches.Value) -join " "
|
||||||
if ($chocoPackages) {
|
if ($chocoPackages) {
|
||||||
Write-Host "Starting uninstallation of $chocoPackages with Chocolatey."
|
Write-Host "Starting uninstallation of $chocoPackages with Chocolatey..."
|
||||||
try {
|
try {
|
||||||
$uninstallStatusCode = Invoke-ChocoCommand "uninstall $chocoPackages -y"
|
$uninstallStatusCode = Invoke-ChocoCommand "uninstall $chocoPackages -y"
|
||||||
Write-Host "$Program" $(if ($uninstallStatusCode -eq 0) { "uninstalled successfully." } else { "failed to uninstall." })
|
Write-Host "$Program" $(if ($uninstallStatusCode -eq 0) { "uninstalled successfully." } else { "failed to uninstall." })
|
||||||
|
|||||||
@@ -28,10 +28,10 @@ Function Install-WinUtilProgramWinget {
|
|||||||
Invokes the winget.exe with the provided arguments and return the exit code
|
Invokes the winget.exe with the provided arguments and return the exit code
|
||||||
|
|
||||||
.PARAMETER wingetId
|
.PARAMETER wingetId
|
||||||
The Id of the Program that Winget should Install/Uninstall
|
The Id of the Program that WinGet should Install/Uninstall
|
||||||
|
|
||||||
.NOTES
|
.NOTES
|
||||||
Invoke Winget uses the public variable $Action defined outside the function to determine if a Program should be installed or removed
|
Invoke WinGet uses the public variable $Action defined outside the function to determine if a Program should be installed or removed
|
||||||
#>
|
#>
|
||||||
param (
|
param (
|
||||||
[string]$wingetId
|
[string]$wingetId
|
||||||
@@ -61,7 +61,7 @@ Function Install-WinUtilProgramWinget {
|
|||||||
Contains the Install Logic and return code handling from winget
|
Contains the Install Logic and return code handling from winget
|
||||||
|
|
||||||
.PARAMETER Program
|
.PARAMETER Program
|
||||||
The Winget ID of the Program that should be installed
|
The WinGet ID of the Program that should be installed
|
||||||
#>
|
#>
|
||||||
param (
|
param (
|
||||||
[string]$Program
|
[string]$Program
|
||||||
@@ -71,7 +71,7 @@ Function Install-WinUtilProgramWinget {
|
|||||||
Write-Host "$($Program) installed successfully."
|
Write-Host "$($Program) installed successfully."
|
||||||
return $true
|
return $true
|
||||||
} elseif ($status -eq -1978335189) {
|
} elseif ($status -eq -1978335189) {
|
||||||
Write-Host "$($Program) No applicable update found"
|
Write-Host "No applicable update found for $($Program)."
|
||||||
return $true
|
return $true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,10 +82,10 @@ Function Install-WinUtilProgramWinget {
|
|||||||
Function Invoke-Uninstall {
|
Function Invoke-Uninstall {
|
||||||
<#
|
<#
|
||||||
.SYNOPSIS
|
.SYNOPSIS
|
||||||
Contains the Uninstall Logic and return code handling from winget
|
Contains the Uninstall Logic and return code handling from WinGet
|
||||||
|
|
||||||
.PARAMETER Program
|
.PARAMETER Program
|
||||||
The Winget ID of the Program that should be uninstalled
|
The WinGet ID of the Program that should be uninstalled
|
||||||
#>
|
#>
|
||||||
param (
|
param (
|
||||||
[string]$Program
|
[string]$Program
|
||||||
@@ -110,7 +110,7 @@ Function Install-WinUtilProgramWinget {
|
|||||||
$failedPackages = @()
|
$failedPackages = @()
|
||||||
|
|
||||||
Write-Host "==========================================="
|
Write-Host "==========================================="
|
||||||
Write-Host "-- Configuring winget packages ---"
|
Write-Host "-- Configuring WinGet packages ---"
|
||||||
Write-Host "==========================================="
|
Write-Host "==========================================="
|
||||||
|
|
||||||
for ($i = 0; $i -lt $count; $i++) {
|
for ($i = 0; $i -lt $count; $i++) {
|
||||||
@@ -130,6 +130,6 @@ Function Install-WinUtilProgramWinget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Set-WinUtilProgressBar -label "$($Action)ation done" -percent 100
|
Set-WinUtilProgressBar -label "$($Action) action done." -percent 100
|
||||||
return $failedPackages
|
return $failedPackages
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,16 @@ function Install-WinUtilWinget {
|
|||||||
<#
|
<#
|
||||||
|
|
||||||
.SYNOPSIS
|
.SYNOPSIS
|
||||||
Installs Winget if not already installed.
|
Installs WinGet if not already installed.
|
||||||
|
|
||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
installs winget if needed
|
installs winGet if needed
|
||||||
#>
|
#>
|
||||||
if ((Test-WinUtilPackageManager -winget) -eq "installed") {
|
if ((Test-WinUtilPackageManager -winget) -eq "installed") {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "Winget is not Installed. Installing." -ForegroundColor Red
|
Write-Host "WinGet is not installed. Installing now..." -ForegroundColor Red
|
||||||
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
|
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
|
||||||
|
|
||||||
Install-PackageProvider -Name NuGet -Force
|
Install-PackageProvider -Name NuGet -Force
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ function Invoke-WinUtilFeatureInstall {
|
|||||||
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
|
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
Write-Warning "Unable to Install $feature due to unhandled exception"
|
Write-Warning "Unable to Install $feature due to unhandled exception."
|
||||||
Write-Warning $CheckBox.Exception.StackTrace
|
Write-Warning $CheckBox.Exception.StackTrace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ function Invoke-WinUtilFeatureInstall {
|
|||||||
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
|
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
|
||||||
} else {
|
} else {
|
||||||
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
|
Invoke-WPFUIThread -ScriptBlock { Set-WinUtilTaskbaritem -state "Error" }
|
||||||
Write-Warning "Unable to Install $feature due to unhandled exception"
|
Write-Warning "Unable to Install $feature due to unhandled exception."
|
||||||
Write-Warning $CheckBox.Exception.StackTrace
|
Write-Warning $CheckBox.Exception.StackTrace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ function Invoke-WinUtilISOModify {
|
|||||||
|
|
||||||
if (-not $isoPath) {
|
if (-not $isoPath) {
|
||||||
[System.Windows.MessageBox]::Show(
|
[System.Windows.MessageBox]::Show(
|
||||||
"No verified ISO found. Please complete Steps 1 and 2 first.",
|
"No verified ISO found. Please complete Steps 1 and 2 first.",
|
||||||
"Not Ready", "OK", "Warning")
|
"Not Ready", "OK", "Warning")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -416,12 +416,12 @@ function Invoke-WinUtilISOCleanAndReset {
|
|||||||
Log "WIM dismounted successfully."
|
Log "WIM dismounted successfully."
|
||||||
}
|
}
|
||||||
} elseif (Test-Path $mountDir) {
|
} elseif (Test-Path $mountDir) {
|
||||||
Log "No mounted WIM reported by Get-WindowsImage, running DISM /Cleanup-Wim as a precaution..."
|
Log "No mounted WIM reported by Get-WindowsImage. Running DISM /Cleanup-Wim as a precaution..."
|
||||||
SetProgress "Running DISM cleanup..." 3
|
SetProgress "Running DISM cleanup..." 3
|
||||||
& dism /English /Cleanup-Wim 2>&1 | ForEach-Object { Log $_ }
|
& dism /English /Cleanup-Wim 2>&1 | ForEach-Object { Log $_ }
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
Log "Warning: could not dismount WIM cleanly, attempting DISM /Cleanup-Wim fallback: $_"
|
Log "Warning: could not dismount WIM cleanly. Attempting DISM /Cleanup-Wim fallback: $_"
|
||||||
try { & dism /English /Cleanup-Wim 2>&1 | ForEach-Object { Log $_ } }
|
try { & dism /English /Cleanup-Wim 2>&1 | ForEach-Object { Log $_ } }
|
||||||
catch { Log "Warning: DISM /Cleanup-Wim also failed: $_" }
|
catch { Log "Warning: DISM /Cleanup-Wim also failed: $_" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ function Invoke-WinUtilISORefreshUSBDrives {
|
|||||||
$combo.Items.Clear()
|
$combo.Items.Clear()
|
||||||
|
|
||||||
if ($removable.Count -eq 0) {
|
if ($removable.Count -eq 0) {
|
||||||
$combo.Items.Add("No USB drives detected")
|
$combo.Items.Add("No USB drives detected.")
|
||||||
$combo.SelectedIndex = 0
|
$combo.SelectedIndex = 0
|
||||||
$sync["Win11ISOUSBDisks"] = @()
|
$sync["Win11ISOUSBDisks"] = @()
|
||||||
Write-Win11ISOLog "No USB drives detected."
|
Write-Win11ISOLog "No USB drives detected."
|
||||||
@@ -26,7 +26,7 @@ function Invoke-WinUtilISOWriteUSB {
|
|||||||
$usbDisks = $sync["Win11ISOUSBDisks"]
|
$usbDisks = $sync["Win11ISOUSBDisks"]
|
||||||
|
|
||||||
if (-not $contentsDir -or -not (Test-Path $contentsDir)) {
|
if (-not $contentsDir -or -not (Test-Path $contentsDir)) {
|
||||||
[System.Windows.MessageBox]::Show("No modified ISO content found. Please complete Steps 1-3 first.", "Not Ready", "OK", "Warning")
|
[System.Windows.MessageBox]::Show("No modified ISO content found. Please complete Steps 1-3 first.", "Not Ready", "OK", "Warning")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,12 +9,12 @@ function Invoke-WinUtilSSHServer {
|
|||||||
|
|
||||||
# Install the OpenSSH Server feature if not already installed
|
# Install the OpenSSH Server feature if not already installed
|
||||||
if ($FeatureName.State -ne "Installed") {
|
if ($FeatureName.State -ne "Installed") {
|
||||||
Write-Host "Enabling OpenSSH Server"
|
Write-Host "Enabling OpenSSH Server..."
|
||||||
Add-WindowsCapability -Online -Name $FeatureName.Name
|
Add-WindowsCapability -Online -Name $FeatureName.Name
|
||||||
}
|
}
|
||||||
|
|
||||||
# Sets up the OpenSSH Server service
|
# Sets up the OpenSSH Server service
|
||||||
Write-Host "Starting the services"
|
Write-Host "Starting the services..."
|
||||||
Start-Service -Name sshd
|
Start-Service -Name sshd
|
||||||
Set-Service -Name sshd -StartupType Automatic
|
Set-Service -Name sshd -StartupType Automatic
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ function Invoke-WinUtilSSHServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#Adding Firewall rule for port 22
|
#Adding Firewall rule for port 22
|
||||||
Write-Host "Setting up firewall rules"
|
Write-Host "Setting up firewall rules..."
|
||||||
$firewallRule = (Get-NetFirewallRule -Name 'sshd').Enabled
|
$firewallRule = (Get-NetFirewallRule -Name 'sshd').Enabled
|
||||||
if ($firewallRule) {
|
if ($firewallRule) {
|
||||||
Write-Host "Firewall rule for OpenSSH Server (sshd) already exists."
|
Write-Host "Firewall rule for OpenSSH Server (sshd) already exists."
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ function Invoke-WinUtilScript {
|
|||||||
)
|
)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Write-Host "Running Script for $name"
|
Write-Host "Running Script for $Name"
|
||||||
Invoke-Command $scriptblock -ErrorAction Stop
|
Invoke-Command $scriptblock -ErrorAction Stop
|
||||||
} catch [System.Management.Automation.CommandNotFoundException] {
|
} catch [System.Management.Automation.CommandNotFoundException] {
|
||||||
Write-Warning "The specified command was not found."
|
Write-Warning "The specified command was not found."
|
||||||
@@ -37,7 +37,7 @@ function Invoke-WinUtilScript {
|
|||||||
Write-Warning $PSItem.Exception.message
|
Write-Warning $PSItem.Exception.message
|
||||||
} catch {
|
} catch {
|
||||||
# Generic catch block to handle any other type of exception
|
# Generic catch block to handle any other type of exception
|
||||||
Write-Warning "Unable to run script for $name due to unhandled exception"
|
Write-Warning "Unable to run script for $Name due to unhandled exception."
|
||||||
Write-Warning $psitem.Exception.StackTrace
|
Write-Warning $psitem.Exception.StackTrace
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ function Invoke-WinUtilTweaks {
|
|||||||
$changeservice = $false
|
$changeservice = $false
|
||||||
}
|
}
|
||||||
} catch [System.ServiceProcess.ServiceNotFoundException] {
|
} catch [System.ServiceProcess.ServiceNotFoundException] {
|
||||||
Write-Warning "Service $($psitem.Name) was not found"
|
Write-Warning "Service $($psitem.Name) was not found."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,9 +76,9 @@ function Invoke-WinUtilTweaks {
|
|||||||
if (($psitem.Path -imatch "hku") -and !(Get-PSDrive -Name HKU -ErrorAction SilentlyContinue)) {
|
if (($psitem.Path -imatch "hku") -and !(Get-PSDrive -Name HKU -ErrorAction SilentlyContinue)) {
|
||||||
$null = (New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS)
|
$null = (New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS)
|
||||||
if (Get-PSDrive -Name HKU -ErrorAction SilentlyContinue) {
|
if (Get-PSDrive -Name HKU -ErrorAction SilentlyContinue) {
|
||||||
Write-Debug "HKU drive created successfully"
|
Write-Debug "HKU drive created successfully."
|
||||||
} else {
|
} else {
|
||||||
Write-Debug "Failed to create HKU drive"
|
Write-Debug "Failed to create HKU drive."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Set-WinUtilRegistry -Name $psitem.Name -Path $psitem.Path -Type $psitem.Type -Value $psitem.$($values.registry)
|
Set-WinUtilRegistry -Name $psitem.Name -Path $psitem.Path -Type $psitem.Type -Value $psitem.$($values.registry)
|
||||||
|
|||||||
@@ -7,5 +7,5 @@ function Invoke-WinUtilUninstallPSProfile {
|
|||||||
Remove-Item $Profile
|
Remove-Item $Profile
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "Successfully uninstalled CTT Powershell Profile" -ForegroundColor Green
|
Write-Host "Successfully uninstalled CTT PowerShell Profile." -ForegroundColor Green
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ function Set-WinUtilDNS {
|
|||||||
if($DNSProvider -eq "Default") {return}
|
if($DNSProvider -eq "Default") {return}
|
||||||
try {
|
try {
|
||||||
$Adapters = Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
|
$Adapters = Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
|
||||||
Write-Host "Ensuring DNS is set to $DNSProvider on the following interfaces"
|
Write-Host "Ensuring DNS is set to $DNSProvider on the following interfaces:"
|
||||||
Write-Host $($Adapters | Out-String)
|
Write-Host $($Adapters | Out-String)
|
||||||
|
|
||||||
Foreach ($Adapter in $Adapters) {
|
Foreach ($Adapter in $Adapters) {
|
||||||
@@ -27,7 +27,7 @@ function Set-WinUtilDNS {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
Write-Warning "Unable to set DNS Provider due to an unhandled exception"
|
Write-Warning "Unable to set DNS Provider due to an unhandled exception."
|
||||||
Write-Warning $psitem.Exception.StackTrace
|
Write-Warning $psitem.Exception.StackTrace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ function Set-WinUtilRegistry {
|
|||||||
if(!(Test-Path 'HKU:\')) {New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS}
|
if(!(Test-Path 'HKU:\')) {New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS}
|
||||||
|
|
||||||
If (!(Test-Path $Path)) {
|
If (!(Test-Path $Path)) {
|
||||||
Write-Host "$Path was not found, Creating..."
|
Write-Host "$Path was not found. Creating..."
|
||||||
New-Item -Path $Path -Force -ErrorAction Stop | Out-Null
|
New-Item -Path $Path -Force -ErrorAction Stop | Out-Null
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,13 +44,13 @@ function Set-WinUtilRegistry {
|
|||||||
Remove-ItemProperty -Path $Path -Name $Name -Force -ErrorAction Stop | Out-Null
|
Remove-ItemProperty -Path $Path -Name $Name -Force -ErrorAction Stop | Out-Null
|
||||||
}
|
}
|
||||||
} catch [System.Security.SecurityException] {
|
} catch [System.Security.SecurityException] {
|
||||||
Write-Warning "Unable to set $Path\$Name to $Value due to a Security Exception"
|
Write-Warning "Unable to set $Path\$Name to $Value due to a Security Exception."
|
||||||
} catch [System.Management.Automation.ItemNotFoundException] {
|
} catch [System.Management.Automation.ItemNotFoundException] {
|
||||||
Write-Warning $psitem.Exception.ErrorRecord
|
Write-Warning $psitem.Exception.ErrorRecord
|
||||||
} catch [System.UnauthorizedAccessException] {
|
} catch [System.UnauthorizedAccessException] {
|
||||||
Write-Warning $psitem.Exception.Message
|
Write-Warning $psitem.Exception.Message
|
||||||
} catch {
|
} catch {
|
||||||
Write-Warning "Unable to set $Name due to unhandled exception"
|
Write-Warning "Unable to set $Name due to unhandled exception."
|
||||||
Write-Warning $psitem.Exception.StackTrace
|
Write-Warning $psitem.Exception.StackTrace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,13 +30,13 @@ function Set-WinUtilScheduledTask {
|
|||||||
}
|
}
|
||||||
} catch [System.Exception] {
|
} catch [System.Exception] {
|
||||||
if($psitem.Exception.Message -like "*The system cannot find the file specified*") {
|
if($psitem.Exception.Message -like "*The system cannot find the file specified*") {
|
||||||
Write-Warning "Scheduled Task $name was not Found"
|
Write-Warning "Scheduled Task $Name was not found."
|
||||||
} else {
|
} else {
|
||||||
Write-Warning "Unable to set $Name due to unhandled exception"
|
Write-Warning "Unable to set $Name due to unhandled exception."
|
||||||
Write-Warning $psitem.Exception.Message
|
Write-Warning $psitem.Exception.Message
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
Write-Warning "Unable to run script for $name due to unhandled exception"
|
Write-Warning "Unable to run script for $name due to unhandled exception."
|
||||||
Write-Warning $psitem.Exception.StackTrace
|
Write-Warning $psitem.Exception.StackTrace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ Function Set-WinUtilService {
|
|||||||
$service | Set-Service -StartupType $StartupType -ErrorAction Stop
|
$service | Set-Service -StartupType $StartupType -ErrorAction Stop
|
||||||
}
|
}
|
||||||
} catch [System.ServiceProcess.ServiceNotFoundException] {
|
} catch [System.ServiceProcess.ServiceNotFoundException] {
|
||||||
Write-Warning "Service $Name was not found"
|
Write-Warning "Service $Name was not found."
|
||||||
} catch {
|
} catch {
|
||||||
Write-Warning "Unable to set $Name due to unhandled exception"
|
Write-Warning "Unable to set $Name due to unhandled exception."
|
||||||
Write-Warning $_.Exception.Message
|
Write-Warning $_.Exception.Message
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ function Test-WinUtilPackageManager {
|
|||||||
<#
|
<#
|
||||||
|
|
||||||
.SYNOPSIS
|
.SYNOPSIS
|
||||||
Checks if Winget and/or Choco are installed
|
Checks if WinGet and/or Choco are installed
|
||||||
|
|
||||||
.PARAMETER winget
|
.PARAMETER winget
|
||||||
Check if Winget is installed
|
Check if WinGet is installed
|
||||||
|
|
||||||
.PARAMETER choco
|
.PARAMETER choco
|
||||||
Check if Chocolatey is installed
|
Check if Chocolatey is installed
|
||||||
@@ -20,12 +20,12 @@ function Test-WinUtilPackageManager {
|
|||||||
if ($winget) {
|
if ($winget) {
|
||||||
if (Get-Command winget -ErrorAction SilentlyContinue) {
|
if (Get-Command winget -ErrorAction SilentlyContinue) {
|
||||||
Write-Host "===========================================" -ForegroundColor Green
|
Write-Host "===========================================" -ForegroundColor Green
|
||||||
Write-Host "--- Winget is installed ---" -ForegroundColor Green
|
Write-Host "--- WinGet is installed ---" -ForegroundColor Green
|
||||||
Write-Host "===========================================" -ForegroundColor Green
|
Write-Host "===========================================" -ForegroundColor Green
|
||||||
$status = "installed"
|
$status = "installed"
|
||||||
} else {
|
} else {
|
||||||
Write-Host "===========================================" -ForegroundColor Red
|
Write-Host "===========================================" -ForegroundColor Red
|
||||||
Write-Host "--- Winget is not installed ---" -ForegroundColor Red
|
Write-Host "--- WinGet is not installed ---" -ForegroundColor Red
|
||||||
Write-Host "===========================================" -ForegroundColor Red
|
Write-Host "===========================================" -ForegroundColor Red
|
||||||
$status = "not-installed"
|
$status = "not-installed"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ Function Update-WinUtilProgramWinget {
|
|||||||
<#
|
<#
|
||||||
|
|
||||||
.SYNOPSIS
|
.SYNOPSIS
|
||||||
This will update all programs using Winget
|
This will update all programs using WinGet
|
||||||
|
|
||||||
#>
|
#>
|
||||||
|
|
||||||
[ScriptBlock]$wingetinstall = {
|
[ScriptBlock]$wingetinstall = {
|
||||||
|
|
||||||
$host.ui.RawUI.WindowTitle = """Winget Install"""
|
$host.ui.RawUI.WindowTitle = """WinGet Install"""
|
||||||
|
|
||||||
Start-Transcript "$logdir\winget-update_$dateTime.log" -Append
|
Start-Transcript "$logdir\winget-update_$dateTime.log" -Append
|
||||||
winget upgrade --all --accept-source-agreements --accept-package-agreements --scope=machine --silent
|
winget upgrade --all --accept-source-agreements --accept-package-agreements --scope=machine --silent
|
||||||
|
|||||||
@@ -3,20 +3,20 @@ function Invoke-WPFFixesWinget {
|
|||||||
<#
|
<#
|
||||||
|
|
||||||
.SYNOPSIS
|
.SYNOPSIS
|
||||||
Fixes Winget by running choco install winget
|
Fixes WinGet by running `choco install winget`
|
||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
BravoNorris for the fantastic idea of a button to reinstall winget
|
BravoNorris for the fantastic idea of a button to reinstall WinGet
|
||||||
#>
|
#>
|
||||||
# Install Choco if not already present
|
# Install Choco if not already present
|
||||||
try {
|
try {
|
||||||
Set-WinUtilTaskbaritem -state "Indeterminate" -overlay "logo"
|
Set-WinUtilTaskbaritem -state "Indeterminate" -overlay "logo"
|
||||||
Write-Host "==> Starting Winget Repair"
|
Write-Host "==> Starting WinGet Repair"
|
||||||
Install-WinUtilWinget
|
Install-WinUtilWinget
|
||||||
} catch {
|
} catch {
|
||||||
Write-Error "Failed to install winget: $_"
|
Write-Error "Failed to install WinGet: $_"
|
||||||
Set-WinUtilTaskbaritem -state "Error" -overlay "warning"
|
Set-WinUtilTaskbaritem -state "Error" -overlay "warning"
|
||||||
} finally {
|
} finally {
|
||||||
Write-Host "==> Finished Winget Repair"
|
Write-Host "==> Finished WinGet Repair"
|
||||||
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
|
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ function Invoke-WPFInstall {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($PackagesToInstall.Count -eq 0) {
|
if ($PackagesToInstall.Count -eq 0) {
|
||||||
$WarningMsg = "Please select the program(s) to install or upgrade"
|
$WarningMsg = "Please select the program(s) to install or upgrade."
|
||||||
[System.Windows.MessageBox]::Show($WarningMsg, $AppTitle, [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning)
|
[System.Windows.MessageBox]::Show($WarningMsg, $AppTitle, [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Warning)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ foreach ($itemName in $tweakNames) {
|
|||||||
|
|
||||||
if ($item.registry) {
|
if ($item.registry) {
|
||||||
$content += "`r`n## Registry Changes`r`n`r`n"
|
$content += "`r`n## Registry Changes`r`n`r`n"
|
||||||
$content += "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.`r`n`r`n"
|
$content += "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.`r`n`r`n"
|
||||||
$content += "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).`r`n"
|
$content += "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).`r`n"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user