338 Commits (master)
 

Author SHA1 Message Date
Justin Luth fd96b8dd3c Xbox consistency: Blacklist and Whitelist the same things
DebloatAll whitelisted XBox apps since a lot of home users
want to play games. So, I added ALL of the XBox items to
the whitelist. Seems reasonable to me.

The blacklist removed several XBox components (since it
ignores the whitelist). Since some XBox components are
being removed, I added ALL of the XBox items to
the blacklist. Seems reasonable to me.

Or alternatively all XBox apps should be removed from
one of the lists, right?

I also confirmed that both GameOverlay and GamingOverlay
are both valid/installed in 1809.
5 years ago
Justin Luth 2536d873f6 remove --allUsers packages after -online packages have been removed
There seems to be some kind of dependency. -AllUsers packages
remove better when they are the last things to be removed.
5 years ago
Justin Luth 78830e4676 ProvisionedPackage uses DisplayName, not Name
Bug in original code. Since $_.Name is $null, it is always
considered to match, so nothing was ever removed.
5 years ago
Justin Luth e45c1ae76d speedup: batch appx removal (at cost of less user feedback)
This ESPECIALLY helps during a second run of the removal script,
where the result is almost instantaneous. Instead of
initializing the Remove-AppxPackage routine N times,
it only needs to do it once.

The downside is that we can't control feedback to the user on
the progress - and users frequently complain about hung
processes etc. There is SOME feedback coming from the
Remove-AppxPackage process - hopefully that will be enough.

I also ensured that -AllUsers packages were removed,
which was not done previously. If there was a reason for
NOT removing -AllUsers for the blacklist, then it can
be removed, but the DeBloat All function does remove
it, so to be consistent it seemed best to do the same here.

In terms of $NonRemovables - I had just added that but
on second thought, let the user be smarter than the computer.
The user now has the tools to detect if there are
conflicts with nonRemovables, so if they choose to
try to remove it anyway, don't prevent that.
The computer might be lying after all...
5 years ago
Justin Luth 445da40eaa whitelist: remove "Framework" - too risky for false-positive match
I expect this was intended to protect .NET Framework items.
That is already covered by the \.NET entry.
5 years ago
Justin Luth 92e3c35492 new nonremovables: from Windows 10 1709
Found by being unable to remove these despite running debloat
multiple times.
5 years ago
Justin Luth 15e3a204d4 whitelist cleanup: Microsoft.Paint3D is not a valid app name
At least as far as I can see.  Microsoft.Paint is the appx name for
Paint3D. I often confuse it with Microsoft.Print3D, and perhaps
that is what has happened here as well.
5 years ago
Justin Luth 7525a8e56c whitelist cleanup: XboxGameCallableUI is already a .NonRemovable 5 years ago
Justin Luth 8cc7cfafa0 whitelist cleanup: remove duplicated entries 5 years ago
Justin Luth 6dfb2f3c90 whitelisted apps: remove from commented out section in blacklist
Since they are listed and documented in the whitelist,
there isn't much value in identifying them in the blacklist anymore.
5 years ago
Justin Luth d3e4296603 Issue 84: CBSPreview is .NonRemovable - removed from blacklist.
https://github.com/Sycnex/Windows10Debloater/issues/84
5 years ago
Justin Luth 988ad90d64 Issues 68,107,110: Step 2: GUI to easily manage custom white/blacklist
https://github.com/Sycnex/Windows10Debloater/issues/107

1.) dynamic list of all installed apps, indicating current status.
    This enables instant verification of the effectiveness of
    running a debloat.
2.) white/blacklists regex/matching name retained. (Doesn't
    change to match the actual full/installed name.)
3.) indentifies NEW apps not in any black or white list.
4.) notes conflicts between NonRemovable/White/Black lists.

Potential enhancements
A.) I placed the save button at the top of the form because
    it was easiest to do. I don't know how to put it at the
    bottom of a dynamic-length form.
B.) Currently the white/blacklist are only updated in the
    running program when the saveList button is pressed.
    That means that all of the NEWly found bloats which
    are checked as bloatware will not be removed, and any
    changes the user makes also don't take effect until
    they are saved. I supposed an OK button could handle
    that (but then a cancel button would also be needed).
5 years ago
Justin Luth 5bbbf3ab8e Issues 68,110: Step 1: import user defined white/blacklists
Step 2 is to add a GUI.

This step 1 patch is the minimal requirement
for custom blacklist functionality.

https://github.com/Sycnex/Windows10Debloater/issues/68
https://github.com/Sycnex/Windows10Debloater/issues/110

1.) Make the black/whitelists global - so they can easily be
    modified from functions and forms (needed for step 2)
2.) Put the lists at the start of the script to make it
    easy for people to find and browse through the lists.
3.) One item per line to allow for better documentation.
    I added as many notes as I could. Documentating the
    reasons for black/white-listing is very valuable.
4.) Both whitelist and blacklist entries can be used as REGEXs.
    That can cause a bit of confusion perhaps, but probably
    necessary for flexibility. I turned ON case sensitivity
    to offset that a bit (using .NET as the prime example
    which otherwise falsely whitelists .NetworkSpeedTest)

In theory, these should be merely cosmetic changes and any
change in behaviour should be considered a bug.

5.) Provide the user a persistent, customizable white/blacklist.
    custom-lists.ps1 should NOT be added to GIT,
    so that a "git pull" does not change their custom settings.
    Step 2 will provide a GUI to easily create/edit this file.
6.) Tried to make NonRemovables dynamic - to auto-detect new
    packages that cannot be removed in future verisons of Windows.
    Non-dynamic fallback provided for older versions of Windows.
    (I developed  on 1709, which didn't have the .NonRemovable
    property, but tested on 1809 which does.)
5 years ago
Richard Newton 828f532caf
Update Windows10DebloaterGUI.ps1 5 years ago
Richard Newton fb64083821
Added UnpinStartMenuTiles button and code 5 years ago
Richard Newton 57f194be95
Added Enable and Disable Cortana buttons and code 5 years ago
Richard Newton 9940feae6c
Added revert changes button and code 5 years ago
Richard Newton 80db2ac5c7
Rename Windows10DebloaterGUI to Windows10DebloaterGUI.ps1 5 years ago
Richard Newton 84a669ff65
Added new GUI version of the Windows10Debloater. 5 years ago
Richard Newton 434c9f1ce6
Rename Windows10DebloaterGUI.ps1 to Windows10DebloaterGUIOLD.ps1 5 years ago
Richard Newton b090b92a44
Merge pull request #114 from Technerder/patch-1
Fixed two minor spelling mistakes
5 years ago
Richard Newton 0b3ad73c34
Merge pull request #121 from jtmy/patch-1
Fixed typo in CloudStore path
5 years ago
jtmy 9c0504ad7e
Fixed typo in CloudStore path
string in $CloudStore has a typo that lead the check to always false
5 years ago
Technerder 721e24c410
Fixed two minor spelling mistakes 5 years ago
Richard Newton 36159f876b
Fixed Uninstall OneDrive Functiion 5 years ago
Richard Newton 9828909389
Merge pull request #102 from Gray-0men/master
Added Dark Mode, Removed 3D Objects, Fixed OneDrive not closing explorer, Optimized Debloat all to be error free
5 years ago
Richard Newton cd59634879
Merge branch 'master' into master 5 years ago
Richard Newton 837994bf26
Removed .\ from taskkill 5 years ago
Richard Newton 381375349d
Merge pull request #103 from smoonlee/patch-2
Update Windows10SysPrepDebloater.ps1
5 years ago
Damian 4e1618cb4f Update Windows10DebloaterGUI.ps1
Removed DebloatNoBlacklist since it was the exact same as DebloatAll
5 years ago
Damian a7d477333c Update README.md
Updated the readme
5 years ago
Simon Lee 893ea98feb
Update Windows10SysPrepDebloater.ps1
Created PR from Issue #101
5 years ago
Richard Newton 8f95557ee0
Merge pull request #100 from smoonlee/patch-1
Update Windows10SysPrepDebloater.ps1
5 years ago
Damian f269dbbee3 Fixed Optimization to skip NonRemovable apps that were always attempted
NonRemovable apps were still getting attempted in the debloat all functions that were always throwing errors that were just hanging on initalizing floating above the powershell window running.

Fixed Prompt position after the .NET prompt that wouldn't show the Do you want to power down Prompt

Fixed the Write-Host saying you didn't want to remove one drive after selecting 'no' to not unpin tiles.
5 years ago
Simon Lee b071e06f77
Update Windows10SysPrepDebloater.ps1
#> is in the wrong place and creates an error 

Missing closing '}' in statement block or type definition.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingEndCurlyBrace
5 years ago
Damian 83fd597a00 Added Dark Mode button(s) to the GUI
Also added a small countdown to the admin check
5 years ago
Damian 2c587f3fb4 Optimized DebloatAll and slimmed code more
added ' -and $_.NonRemovable -eq "False"' to the Get-AppxPackage code lines to help sort through apps that can't get deleted and just get skipped anyways.

Onedrive fixes and code reuse from GUI moved over to interactive script code.

Removed [CmdletBinding()] and Param() that wasn't being used.

Fixed Write-Output to Write-Host

Added ' -and $_.NonRemovable -eq "False"' to GUI code as well in the DebloatAll function
5 years ago
Richard Newton 22ddb3addc
Fixed taskkill.exe not working
This should resolved issue #98
5 years ago
Damian fea116fd78 Fixed GUI errors and Admin Check
Started out adding a new feature about removing 3D objects from explorer in This PC but I found a lot of code re use and found bugs when I went to add it to the GUI

Fixed -Verbose being used where Write-Host is already being used.

Fixed Admin check so it works, it was removed last year for some reason after I added it when I started adding my code to this project from my old debloat.

Fixed some code reuse where  -ErrorAction SilentlyContinue is called multiple times even after it's already a global settings set in the start of the function.

Removed -Name from where it just wasn't needed to slim down file size.

Fixed the OneDrive button so it workes without errors and finds everything the way it should.

Shortened .NET 3.5 section to slim down file size

Fixed Disable Windows Store Automatic Updates code so it runs without errors and is shorter.
5 years ago
Richard Newton cd80c22493
Merge pull request #93 from ChipTechno/patch-1
Update README.md
5 years ago
Richard Newton 15770fad45
Added button to install .NET 3.5
I added a button to the optional fixes to give the ability to install .NET 3.5
5 years ago
Richard Newton eea70e48f9
Added option to install .NET 3.5
Prompt 7 when debloating will now ask if you want to install .NET 3.5.
5 years ago
Chip 88849b92b0
Update README.md 5 years ago
Richard Newton a830864c59
Added framework to whitelist
I am hoping that this stops the issue of not allowing office 2016+ to install.
5 years ago
Richard Newton 7cf21c8e23
Update Windows10DebloaterGUI.ps1 5 years ago
Richard Newton 1888b0d07a
Added Framework to whitelist
I am hoping that this resolves the issue of the script killing the ability to install Office 2016+
5 years ago
Richard Newton 0dfc6d25a1
Update Windows10Debloater.ps1 5 years ago
Richard Newton 4001abbc2e
Update Windows10SysPrepDebloater.ps1 5 years ago
Richard Newton c09b8185d8
Update Windows10DebloaterGUI.ps1 5 years ago
Richard Newton 60a73a3aa9
Merge pull request #92 from robert-smith/patch-1
Fix variable name in Bloatware foreach
5 years ago