winutil/docs/dev/tweaks/z--Advanced-Tweaks---CAUTION/DeBloat.md
MyDrift 5e3c6ba452
[Docs 02] Auto dev-docs & more (#2481)
* Compile Winutil

* pre-Releases (#1)

* Create pre-release.yaml

* Update release.yaml

* Update pre-release.yaml

* Create release-drafter.yml

* Update release-drafter.yml

* Update pre-release.yaml

* Update pre-release.yaml

* Update pre-release.yaml

* Update pre-release.yaml

* Update pre-release.yaml

* Update pre-release.yaml

* Update pre-release.yaml

* Update pre-release.yaml

* Update pre-release.yaml

* Update release-drafter.yml

* Update pre-release.yaml

* Update release-drafter.yml

* Update pre-release.yaml

* Update release-drafter.yml

* Update release-drafter.yml

* Update pre-release.yaml

* Update pre-release.yaml

* Update release-drafter.yml

* Update release-drafter.yml

* Update release.yaml

* Update release-drafter.yml

* Update release-drafter.yml

* Update pre-release.yaml

* Compile Winutil

* fixed end task with right click

* Compile Winutil

* code generator & compile integration

* Compile Winutil

* finish

- add autogenerated table of content page named "Dev Docs", with table of content to all .md files
- added invokescript & undoscript
- generate documentation files

* oops, remove dublicates

* undo winutil.ps1

* remove prefixes

WPF
WinUtil
Toggle
$category
Features
Tweaks
Panel
Fixes

* fixes

- fix inconsistency in Featurenaming
- add "Enable" & "Disable" as prefix to remove

* fix spellin mistake

* remove unneccesary whitespaces

update info
remove unnecessary whitespaces by only adding stuff to the md if it actually exists

* rewrite prefix removal into one line definition

* added taskscheduler support

* add support for function calling

add support for functioncalling
- replace code formatting for invoke & undo script from json to powershell

* content instead of displayname

* add last modified date

* contributing + docs generator

- moved contribute.md to root CONTRIBUTING.md
- referenced CONTRIBUTING.md in contribute.md
- added toggle & button reference to functions
- added function references in functions
- changed mkdocs site styling

* Use HashSet for processedFunctions

Use HashSet for processedFunctions:
- Ensures dynamic addition of functions without duplication.
Recursive Function Scanning:
- Includes all nested functions called by InvokeScript, UndoScript, ToggleScript, and ButtonScript.

* follow github standards

- add code of conduct
- reference code of conduct in docs
- regrouped docs navigation
- add comment about the sourced md file

* small fixes

* change color from teal to blue in light mode

* add links to tweaks

* add archiving feature to autodocs

* administrative

- add script to releases and remove from compile
- move link from after description to after category

* small fixes

- add S in feature.json
- fix dating
- move link to after category

* fix links

* undo link bc of bugs

* add progress bar to script

- add progress like in compile
- moved archive folder creation to the beginning of the script

* Simple improvements to 'auto-devdocs' branch (#3)

* Fix links for tweaks & features

* Make New Line characters work for Json Snippet

* Change NewLine Character from Unix Style (LF) to Windows/DOS Style (CRLF)

* rerun script

* und workflows & rearrange navigation items

* layer out itemname cutout

* rework links & temp removal of archivation

* fix adding link in json root

not adding link member to root in json files

* fix json generation

replace '\r\n',"`r`n" with ('\n',"`n")

* add features to auto md docs

* add minify plugin

* regex hotfix

* refractor

* add changelog to about section

add link to changelog in docs for about section

* undo changelog

* Cleanup 'devdocs-generator.ps1' - Implement Zig Multiline String Feature (#4)

* Cleanup 'devdocs-generator.ps1' - Implement Zig Multiline String Feature

* Fix NewLine character replace in 'devdocs-generator.ps1'

* run script

* run script

* Fix 'itemnametocut' RegEx in 'devdocs-generator.ps1' (#5)

* rerun script

* rework nav + remove code of conduct

* undo workflow changes

* run script

* remove changelog

---------

Co-authored-by: MyDrift-user <MyDrift-user@users.noreply.github.com>
Co-authored-by: Mr.k <mineshtine28546271@gmail.com>
2024-08-07 10:55:23 -05:00

6.8 KiB

Remove ALL MS Store Apps - NOT RECOMMENDED

Last Updated: 2024-08-07

!!! info The Development Documentation is auto generated for every compilation of WinUtil, meaning a part of it will always stay up-to-date. Developers do have the ability to add custom content, which won't be updated automatically.

Description

USE WITH CAUTION!!!!! This will remove ALL Microsoft store apps other than the essentials to make winget work. Games installed by MS Store ARE INCLUDED!

Preview Code
{
  "Content": "Remove ALL MS Store Apps - NOT RECOMMENDED",
  "Description": "USE WITH CAUTION!!!!! This will remove ALL Microsoft store apps other than the essentials to make winget work. Games installed by MS Store ARE INCLUDED!",
  "category": "z__Advanced Tweaks - CAUTION",
  "panel": "1",
  "Order": "a028_",
  "appx": [
    "Microsoft.Microsoft3DViewer",
    "Microsoft.AppConnector",
    "Microsoft.BingFinance",
    "Microsoft.BingNews",
    "Microsoft.BingSports",
    "Microsoft.BingTranslator",
    "Microsoft.BingWeather",
    "Microsoft.BingFoodAndDrink",
    "Microsoft.BingHealthAndFitness",
    "Microsoft.BingTravel",
    "Microsoft.MinecraftUWP",
    "Microsoft.GamingServices",
    "Microsoft.GetHelp",
    "Microsoft.Getstarted",
    "Microsoft.Messaging",
    "Microsoft.Microsoft3DViewer",
    "Microsoft.MicrosoftSolitaireCollection",
    "Microsoft.NetworkSpeedTest",
    "Microsoft.News",
    "Microsoft.Office.Lens",
    "Microsoft.Office.Sway",
    "Microsoft.Office.OneNote",
    "Microsoft.OneConnect",
    "Microsoft.People",
    "Microsoft.Print3D",
    "Microsoft.SkypeApp",
    "Microsoft.Wallet",
    "Microsoft.Whiteboard",
    "Microsoft.WindowsAlarms",
    "microsoft.windowscommunicationsapps",
    "Microsoft.WindowsFeedbackHub",
    "Microsoft.WindowsMaps",
    "Microsoft.YourPhone",
    "Microsoft.WindowsSoundRecorder",
    "Microsoft.XboxApp",
    "Microsoft.ConnectivityStore",
    "Microsoft.ScreenSketch",
    "Microsoft.Xbox.TCUI",
    "Microsoft.XboxGameOverlay",
    "Microsoft.XboxGameCallableUI",
    "Microsoft.XboxSpeechToTextOverlay",
    "Microsoft.MixedReality.Portal",
    "Microsoft.XboxIdentityProvider",
    "Microsoft.ZuneMusic",
    "Microsoft.ZuneVideo",
    "Microsoft.Getstarted",
    "Microsoft.MicrosoftOfficeHub",
    "*EclipseManager*",
    "*ActiproSoftwareLLC*",
    "*AdobeSystemsIncorporated.AdobePhotoshopExpress*",
    "*Duolingo-LearnLanguagesforFree*",
    "*PandoraMediaInc*",
    "*CandyCrush*",
    "*BubbleWitch3Saga*",
    "*Wunderlist*",
    "*Flipboard*",
    "*Twitter*",
    "*Facebook*",
    "*Royal Revolt*",
    "*Sway*",
    "*Speed Test*",
    "*Dolby*",
    "*Viber*",
    "*ACGMediaPlayer*",
    "*Netflix*",
    "*OneCalendar*",
    "*LinkedInforWindows*",
    "*HiddenCityMysteryofShadows*",
    "*Hulu*",
    "*HiddenCity*",
    "*AdobePhotoshopExpress*",
    "*HotspotShieldFreeVPN*",
    "*Microsoft.Advertising.Xaml*"
  ],
  "InvokeScript": [
    "
        $TeamsPath = [System.IO.Path]::Combine($env:LOCALAPPDATA, 'Microsoft', 'Teams')
        $TeamsUpdateExePath = [System.IO.Path]::Combine($TeamsPath, 'Update.exe')

        Write-Host \"Stopping Teams process...\"
        Stop-Process -Name \"*teams*\" -Force -ErrorAction SilentlyContinue

        Write-Host \"Uninstalling Teams from AppData\\Microsoft\\Teams\"
        if ([System.IO.File]::Exists($TeamsUpdateExePath)) {
            # Uninstall app
            $proc = Start-Process $TeamsUpdateExePath \"-uninstall -s\" -PassThru
            $proc.WaitForExit()
        }

        Write-Host \"Removing Teams AppxPackage...\"
        Get-AppxPackage \"*Teams*\" | Remove-AppxPackage -ErrorAction SilentlyContinue
        Get-AppxPackage \"*Teams*\" -AllUsers | Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue

        Write-Host \"Deleting Teams directory\"
        if ([System.IO.Directory]::Exists($TeamsPath)) {
            Remove-Item $TeamsPath -Force -Recurse -ErrorAction SilentlyContinue
        }

        Write-Host \"Deleting Teams uninstall registry key\"
        # Uninstall from Uninstall registry key UninstallString
        $us = (Get-ChildItem -Path HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall, HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall | Get-ItemProperty | Where-Object { $_.DisplayName -like '*Teams*'}).UninstallString
        if ($us.Length -gt 0) {
            $us = ($us.Replace('/I', '/uninstall ') + ' /quiet').Replace('  ', ' ')
            $FilePath = ($us.Substring(0, $us.IndexOf('.exe') + 4).Trim())
            $ProcessArgs = ($us.Substring($us.IndexOf('.exe') + 5).Trim().replace('  ', ' '))
            $proc = Start-Process -FilePath $FilePath -Args $ProcessArgs -PassThru
            $proc.WaitForExit()
        }
      "
  ],
  "link": "https://christitustech.github.io/winutil/dev/tweaks/z--Advanced-Tweaks---CAUTION/DeBloat"
}

Invoke Script


        $TeamsPath = [System.IO.Path]::Combine($env:LOCALAPPDATA, 'Microsoft', 'Teams')
        $TeamsUpdateExePath = [System.IO.Path]::Combine($TeamsPath, 'Update.exe')

        Write-Host "Stopping Teams process..."
        Stop-Process -Name "*teams*" -Force -ErrorAction SilentlyContinue

        Write-Host "Uninstalling Teams from AppData\Microsoft\Teams"
        if ([System.IO.File]::Exists($TeamsUpdateExePath)) {
            # Uninstall app
            $proc = Start-Process $TeamsUpdateExePath "-uninstall -s" -PassThru
            $proc.WaitForExit()
        }

        Write-Host "Removing Teams AppxPackage..."
        Get-AppxPackage "*Teams*" | Remove-AppxPackage -ErrorAction SilentlyContinue
        Get-AppxPackage "*Teams*" -AllUsers | Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue

        Write-Host "Deleting Teams directory"
        if ([System.IO.Directory]::Exists($TeamsPath)) {
            Remove-Item $TeamsPath -Force -Recurse -ErrorAction SilentlyContinue
        }

        Write-Host "Deleting Teams uninstall registry key"
        # Uninstall from Uninstall registry key UninstallString
        $us = (Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object { $_.DisplayName -like '*Teams*'}).UninstallString
        if ($us.Length -gt 0) {
            $us = ($us.Replace('/I', '/uninstall ') + ' /quiet').Replace('  ', ' ')
            $FilePath = ($us.Substring(0, $us.IndexOf('.exe') + 4).Trim())
            $ProcessArgs = ($us.Substring($us.IndexOf('.exe') + 5).Trim().replace('  ', ' '))
            $proc = Start-Process -FilePath $FilePath -Args $ProcessArgs -PassThru
            $proc.WaitForExit()
        }
      

View the JSON file