Commit Graph

236 Commits

Author SHA1 Message Date
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.
2019-05-31 20:50:48 +03:00
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.
2019-05-31 20:50:48 +03:00
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...
2019-05-31 20:50:06 +03:00
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.
2019-05-31 20:48:32 +03:00
Justin Luth
92e3c35492 new nonremovables: from Windows 10 1709
Found by being unable to remove these despite running debloat
multiple times.
2019-05-31 20:44:37 +03:00
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.
2019-05-31 20:44:37 +03:00
Justin Luth
7525a8e56c whitelist cleanup: XboxGameCallableUI is already a .NonRemovable 2019-05-31 20:44:37 +03:00
Justin Luth
8cc7cfafa0 whitelist cleanup: remove duplicated entries 2019-05-31 20:44:37 +03:00
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.
2019-05-31 20:44:37 +03:00
Justin Luth
d3e4296603 Issue 84: CBSPreview is .NonRemovable - removed from blacklist.
https://github.com/Sycnex/Windows10Debloater/issues/84
2019-05-31 20:44:37 +03:00
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).
2019-05-31 20:39:53 +03:00
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.)
2019-05-31 20:36:30 +03:00
Richard Newton
fb64083821
Added UnpinStartMenuTiles button and code 2019-05-12 11:41:47 -07:00
Richard Newton
57f194be95
Added Enable and Disable Cortana buttons and code 2019-05-12 11:31:36 -07:00
Richard Newton
9940feae6c
Added revert changes button and code 2019-05-12 11:22:28 -07:00
Richard Newton
80db2ac5c7
Rename Windows10DebloaterGUI to Windows10DebloaterGUI.ps1 2019-05-12 11:16:01 -07:00
Richard Newton
84a669ff65
Added new GUI version of the Windows10Debloater. 2019-05-12 11:15:25 -07:00
Richard Newton
434c9f1ce6
Rename Windows10DebloaterGUI.ps1 to Windows10DebloaterGUIOLD.ps1 2019-05-12 11:14:21 -07:00
Richard Newton
b090b92a44
Merge pull request #114 from Technerder/patch-1
Fixed two minor spelling mistakes
2019-04-20 21:12:40 -07:00
Richard Newton
0b3ad73c34
Merge pull request #121 from jtmy/patch-1
Fixed typo in CloudStore path
2019-04-20 21:12:19 -07:00
jtmy
9c0504ad7e
Fixed typo in CloudStore path
string in $CloudStore has a typo that lead the check to always false
2019-04-15 18:40:00 +09:00
Technerder
721e24c410
Fixed two minor spelling mistakes 2019-03-27 18:34:27 -04:00
Richard Newton
36159f876b
Fixed Uninstall OneDrive Functiion 2019-03-18 15:58:47 -07:00
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
2019-03-18 15:57:05 -07:00
Richard Newton
cd59634879
Merge branch 'master' into master 2019-03-18 15:56:55 -07:00
Richard Newton
837994bf26
Removed .\ from taskkill 2019-03-16 23:24:35 -07:00
Richard Newton
381375349d
Merge pull request #103 from smoonlee/patch-2
Update Windows10SysPrepDebloater.ps1
2019-03-14 22:24:34 -07:00
Damian
4e1618cb4f Update Windows10DebloaterGUI.ps1
Removed DebloatNoBlacklist since it was the exact same as DebloatAll
2019-03-13 10:07:45 -04:00
Damian
a7d477333c Update README.md
Updated the readme
2019-03-13 09:50:05 -04:00
Simon Lee
893ea98feb
Update Windows10SysPrepDebloater.ps1
Created PR from Issue #101
2019-03-11 10:17:27 +00:00
Richard Newton
8f95557ee0
Merge pull request #100 from smoonlee/patch-1
Update Windows10SysPrepDebloater.ps1
2019-03-09 12:31:10 -08:00
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.
2019-03-05 22:19:03 -05:00
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
2019-03-05 14:10:32 +00:00
Damian
83fd597a00 Added Dark Mode button(s) to the GUI
Also added a small countdown to the admin check
2019-03-05 01:07:40 -05:00
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
2019-03-04 23:19:11 -05:00
Richard Newton
22ddb3addc
Fixed taskkill.exe not working
This should resolved issue #98
2019-03-03 13:52:28 -08:00
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.
2019-02-27 23:39:11 -05:00
Richard Newton
cd80c22493
Merge pull request #93 from ChipTechno/patch-1
Update README.md
2019-02-25 19:34:18 -08:00
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
2019-02-25 19:33:50 -08:00
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.
2019-02-25 18:37:48 -08:00
Chip
88849b92b0
Update README.md 2019-02-24 23:39:44 +09:00
Richard Newton
a830864c59
Added framework to whitelist
I am hoping that this stops the issue of not allowing office 2016+ to install.
2019-02-23 14:31:38 -08:00
Richard Newton
7cf21c8e23
Update Windows10DebloaterGUI.ps1 2019-02-23 14:31:02 -08:00
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+
2019-02-23 14:30:32 -08:00
Richard Newton
0dfc6d25a1
Update Windows10Debloater.ps1 2019-02-23 14:29:36 -08:00
Richard Newton
4001abbc2e
Update Windows10SysPrepDebloater.ps1 2019-02-23 14:28:44 -08:00
Richard Newton
c09b8185d8
Update Windows10DebloaterGUI.ps1 2019-02-23 14:28:00 -08:00
Richard Newton
60a73a3aa9
Merge pull request #92 from robert-smith/patch-1
Fix variable name in Bloatware foreach
2019-02-23 14:21:23 -08:00
Robert Smith
4fca7090f6
Fix variable name in Bloatware foreach
There's no variable named $Debloat. Looks like this might be a typo.
2019-02-23 13:27:21 -05:00
Richard Newton
fac6c2af80
Update Windows10DebloaterGUI.ps1 2019-02-16 20:09:20 -08:00