Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Debloating Windows 10 with one command and no internet scripts (gabrielsieben.tech)
274 points by gjsman-1000 on Jan 2, 2023 | hide | past | favorite | 191 comments


> [..] it’s a great one-line, easily memorable tool for cleaning up a PC quickly for an industrial use case without any security risks.

I deal with many OT/ICS vendors and they would all refuse to support their app on a Windows system modified in this manner. I think such an article should mention the -WhatIf option, so you get an idea of all the important things about to be removed.

    Get-AppxPackage | Remove-AppPackage -WhatIf
On my systems that includes VCLibs, .Net frameworks. I would not do this.


I showed this to someone who works on Windows distribution in enterprise and who previously worked on core windows. Their response was a resounding "That's hilariously stupid".

For those who think "oh I can do this on windows 11 too", This has a high risk of blowing away your shell too, which is distributed now as an AppX, also Defender and its update runtime which are distributed via AppX/Store so you're risking destroying your whole machine.

From the winds of change that I've been hearing: Most of the OS is going to be distributed via AppX packages, which means that pretty quickly, doing this will leave you limping and hurt.


I don't dispute that, that's why I said Windows 10, not 11. Windows 11 is far more dependent on AppX than Windows 10 and the effects are far more harshly felt. Windows 10, having an EOL in 2025, is unlikely to change in that direction anytime soon.

I'd be interested in hearing what the issue on Windows 10 is, especially considering how it compares to Windows 10 LTSC which seems quite similar.

Edit: As for "That's hilariously stupid," I updated the article for my thoughts on that. Considering this is going to be used on a computer that cost me $150, has storage on a separate NAS, for a machine that could cause safety issues and a lot of money in wasted material if literally anything goes wrong (CNC router), running software that runs only on Windows and requires precise USB timing (no VM or Wine from Linux), I think it would be more stupid to not de-bloat for all the failure methods Windows has added. The last thing I need is Windows Game Bar (normally not removable) popping up over the CNC Control Window and blocking the Emergency Stop button. [If you think this sounds horrifying, brand new CNCs have software that still runs great on Windows XP, it's called Mach3 and it's arcane. Some features literally refuse to run on any 64-bit version of Windows and require a Parallel port, that kind of thing. This software is still sold in 2022 and still required for many machines.] For me, Windows bloat is actually a potential, even if unlikely, safety issue.

Stupid ideas sometimes become a lot less stupid when in context.

Edit 2: "Most of the OS is going to be distributed via AppX packages, which means that pretty quickly, doing this will leave you limping and hurt."

This is just my personal experience, but I had a Windows 10 computer (a desktop, no power issues here) brick itself from a botched Windows Update. Neither System Restore nor Windows Recovery could bring it back to life from the unstable mess it crashed in. The install was less than 2 years old. I've seen family laptops with unbelievable bugs which make me scratch my head and wonder how Windows got that messed up, even without installing new apps. My brother literally only uses the Microsoft Store, yet somehow managed to lose all thumbnails on files, and the Start button logo on the taskbar [nothing but an empty space where it should be]. I'm at the point where blindly trusting Microsoft updates feels "hilariously stupid" for anything that requires stability as well... which is an awkward position. Darned if you do, darned if you don't. (For the record I do install updates, but I hold my breath on whether they'll work... and make backups.)


But what if you intend to mostly run win32 apps?

You mean the extremely dumbed down Windows 11 shell with huge everything? Good riddance. I'd like a command to run on my VM to get rid of this atrocity specifically, actually.


> On my systems that includes VCLibs, .Net frameworks. I would not do this.

Edit: There was a long paragraph here, but I've decided to simplify. The AppX .NET Framework, AppX .NET Native, and VCLibs are all UWP support packages and Win32-inside-Microsoft-Store support packages. If you run this script, fully knowing that the Microsoft Store is being removed, you won't have any packages that need them, and their loss is almost certainly irrelevant.


That's a lot of "primarily", "most", "a very good chance", "if you have no"... :P

So I get your point, but it also sounds awfully optimistic... ;)

(I see you got downvoted, but it wasn't me.)


I keep saying primarily because I haven't actually run into any Win32 applications, even large ones (Fusion 360, FreeCAD, Steam), that don't run without them, which is a good sign. I keep saying that as a disclaimer just in case, because I don't want to be on the record saying "it won't" even if it has never happened thus far. So... that's why I recommend VM first. That's why it's important to keep in mind what VCLibs and .NET Native are for, which is UWP and Microsoft Store apps, not Win32 ones, which makes sense for why they wouldn't be affected.


You are speaking properly and I would say the command is quite useful and awesome. Thank you!

You aren't presenting it as something everyone should do to clean up their relatives crufty loaded up pc's while visiting for holidays.

It is what it is and it's quite cool and useful for what it's useful for.


The VCLibs stuff is still available as standalone downloads: https://learn.microsoft.com/en-us/cpp/windows/latest-support...


Mark my words: Microsoft Store will end up on this list https://www.versionmuseum.com/history-of/discontinued-micros... so disabling it is like living in the future.


Considering they are betting their future on this, that seems a stretch.


A number of the apps that appear to be pre-installed on Windows actually aren't. They simply show up in the start menu, and it installs it on the first time you click to run the program.

There are quite a lot of important dev-friendly programs that can be easily installed through the store such as Windows Terminal, Powershell 7, WSL, and WinGet. Indeed, most of those can only be installed through the store (or equivalent APPX powershell commands).

Even notepad and friends now auto-update through the store.

WinGet is the new Windows Package Manager, and it is basically just apt-get or pacman for Windows. It is an APPX bundle that you can get through the store. You definitely want it.

Leave the darn store on. If you don't trust Microsoft, then don't use Windows.

A lot of people go the other direction and want to restrict to only use the store for downloads. It gives you the added security peace of mind that you would get on a phone, and for Windows-on-ARM it may be your only realistic option.


> Leave the darn store on. If you don't trust Microsoft, then don't use Windows

Having legacy apps doesn't mean you trust MS.


But having the store doesn't prevent legacy apps from installing, and the store provides a number of developer-friendly tools that will improve your ability to support legacy apps.


But people can and will use their computers how they wish to


It is a sad day discovering corporate IT blocks the use of any package manager and has custom, limited, store content.


There is no need for the store at all, and the dev-friendly programs you mention can all be installed without it.


That is just not true in the case of WinGet, WSL, or the Windows Terminal. They are open source, and in theory could be compiled, but they only provide APPX-packaged binaries. WSL itself is avaiable in the Features area, alongside the store. But all WSL distributions that I know of are packaged only for the store.

I did say that the equivalent Add-AppxPackage command could install these without the store, if you really wanted to.


It absolutely is true, at least for WSL and Windows Terminal. I installed both without having the store. Their github pages either tell you how or tell you where you can find a standalone installer. It's not hard at all. Google is your friend.


If you ran the command from this blog post, the msixbundle files that are provided on the github page for Windows Terminal absolutely will not simply install. You may be able to run powershell commands to install it.

The program called App Installer that allows easy installation of bundles is itself primarily available via... the store.

The point of this blog post was to remove everything from Windows that is not simply using the base Win32 API. Windows Terminal uses XAML and is a modern application that is using the new WinUI, and staying current with the most up to date versions of it will be difficult without... the store. Or WinGet. WinGet will be using the store as the source.

If you manually installed msixbundle files from github, then you are still downloading something from a Microsoft-owned server, but just inconveniently.

If you don't trust what I'm saying then post the link to this non-msixbundle standalone installer, and prove to others that you are correct.


The claim was not that you could install the apps after running the command in the blogpost, but that you could install the apps without microsoft store.

you said: "Indeed, most of those can only be installed through the store"

I said: "There is no need for the store at all, and the dev-friendly programs you mention can all be installed without it."

My claim remains true and correct. You're shifting the goalposts by saying the apps would not install if the command in the post was run, when originally the claim was only that they can only be installed via the store.


Yes, its true. I never use store, I install store apps if I need them (I don't, just My Asus shit) via winget. Otherwise, I use chocolatey for everything.

You don't need store, and it is not your friend. Its terrible.


"If you don't trust Microsoft, then don't use Windows."

I'd like to, but cannot because I need Adobe for work. Linux is unfortunatelly not an option.


Wow telling people what to do ..must work well for you I suppose.


In my experience, attempts to debloat or fix Windows results in a broken system sooner or later, after a sufficient amount of updates have elapsed.

Nowadays I treat Windows as I would a force of nature -- There's no negotiating or changing it, I just let it roll in and do whatever it's going to do.


In my experience, unmodified Windows 10 is just as capable of demolishing itself, repeatedly if needed to destroy one's will to continue using it. So capable in fact, that I don't believe any debloating measures could possibly make it any worse.

Then again I seem to have had less luck than most, with all kinds of bugs from keyboard layouts to USB ports. And even a period where an updated, freshly installed Windows 10 would not even boot on my machine.


Yeah but my Windows 11 powerful laptop takes longer to boot than my old Windows 10 pc... there is no way you can just accept the bloatware and telemetry on top of the price of the OS.


My boot times and other load times improved with Windows 11, and the (not gaming) Ryzen laptop we just bought cold-boots in 3 seconds[1] and shuts down in 4 seconds[2].

As with any computer, it’s more than likely your OEM’s driver quality & amount that dictates these. Especially on laptops where OEMs just stop supporting random driver interfaces and you end up using the same “customized” audio driver for 4 years.

1: Fast Startup — aka hibernated kernel — disabled. It’s supposed to be slower with it off but it made no difference. (And I always prefer it off on modern hardware)

2: After you close whatever extra programs you opened, i.e.: the time it takes Windows itself to shutdown.


Are you running bit locker to encrypt the hard drive on this system? I have a pretty powerful desktop with two nvme drives in raid 0 striping and it was very fast at first, booting with windows 11. But has become significantly slower due to changes over time. But I'm not sure which changes. I think a lot of it is actually the bios doing stuff. I can't enable fast boot because it usually requires the bit locker recovery key on every boot. Perhaps the tpm doesn't get loaded up in time?

It's still pretty fast, but 20 seconds seems like a lot when you are used to 5. I usually just let the computer hibernate, but interestingly, that usually takes a lot more time than a cold boot. Probably because I usually have a ton of stuff open and using memory.


Upgrading from Windows 10 to 11 (on an unsupported cpu on top of that) stopped me from upgrading my workstation because performance improved so much due to better memory management. I don't know if it takes longer to boot since I rarely restart.


I don't understand. Performance improved, so you didn't upgrade your workstation? What?


They meant they gave up on their hardware upgrade plans, not software. Stuff ran faster so suddenly the CPU upgrade wasn’t needed, etc.


How are you attributing the longer boot time to 'bloatware' and 'telemetry'?

I'm assuming you've measured this can you provide stats I'd be curious which components of Windows 11 is causing this. I'm assuming you've downgraded to Windows 10 on this machine with the exact software versions loaded to determine this?

Causation and correlation are 2 separate things so I would caution you from making sweeping statements.


>Causation and correlation are 2 separate things so I would caution you from making sweeping statements.

This is like 50% of answers on HN now, reread my comment, I didn't say Win 11 was slower because of my experience, I said that for me in my 2 laptops the newer one with windows 11 was slower, didn't make any conclusions out of it.

About the bloat and telemetry read the comment I was replying to, they said they just accept it as a force of nature, I said why accept it when you pay for it already, that's like having ads on a smart tv.

Now your problem is that you're so quick to try and prove other people's logic as wrong that you add imaginary statements to it so you can disprove them.


A while back, windows tried to do updates in the middle of my workday and crashed. Digging through the logs, the only error I could find was that it failed to update the calculator app. Cute.


> attempts to debloat or fix Windows results in a broken system sooner or later

My anecdotal experience is the opposite, after ~20 years of de-bloating and customizing Windows. The updates seem to just reset the de-bloating, rather than breaking things.


I don't use windows as much I used to anymore, but this is my experience as well. Mainly, been using linux for the past 4 years.

However, I say part of the problem is that windows updates are pushed out in a big blob instead the update being pushed in a more granular fashion. This ends up in with sometimes an update containing files or setting for something you removed.

There is no reason it has be like this, but that is how updates work on windows, and I don't think Microsoft is going to change that any time soon. I am imagine in theory it would be possible for a community to break down each update into smaller discrete chunks. However, the community would have to be a decent size and dedicated enough to keep up with the rate MS rolls out updates.

Also there some things like Edge and Cortana that current day windows is not very happy with if you nuke it from the system.


It depends, the yearly “Feature Updates” essentially do an in-place upgrade instead of patching it. There’s a whole “Windows.old” folder afterwards and all.


The big ones do that, yeah, but then others are just tiny “enablement packages” that just turn on the new features that were updated into the previous version but disabled.

[1]: https://www.thewindowsclub.com/what-is-enablement-package-in...


I agree with this. De-bloating Windows is increasingly useful and helpful, and this is especially true if one dual-boots with Linux.

I mainly run Linux these days, and older versions of macOS on the desktop.

But I was an early adopter of Windows (v2.01 in the late 1980s) and it was the backbone of my early career: the first ~25 years.

For me, the version that drove me away was Windows XP, and I find it amusing that now people look back on XP as a classic lightweight version, when its bloat is what drove me to Linux on the desktop, and spending as little as possible on cheap old Apple kit and judicious upgrades to run the then-new Mac OS X.

XP had themes. That's bloat. But they're easy to turn off; reset to the Classic theme, disable the theming service. Getting rid of other bloat, such as Movie Maker, the "files and settings transfer wizard" or whatever it was called, of IE and Outlook Express, of Media Player etc., was harder. In the end, I used NLite and built a custom install CD.

Win7's bloat is harder still.

Win8 was little _but_ bloat.

Win10 is... barely acceptable but it's getting easier to turn all the junk off now. I rarely use it but at least I can uninstall all the Metro/Modern/Store crap, and use Ninite to install a selection of conventional Win32 FOSS apps to replace the MS touchscreen-oriented junk.

Having read this post, I will be bolder, bin the Store and all the .NET stuff too. I don't want PowerShell, any version. I don't want .NET apps or a fancy terminal. I don't want VS Code or any of that. If I have to use this mess of an OS, I want it lean and cut down to basic simple apps, preferably FOSS, with as few runtimes as possible.

Win11 is, for me, mostly unusable. There's almost nothing left but bloat now. The taskbar is unusable, no longer able to be placed vertically, where it belongs on a widescreen. The Start menu is a sad crippled thing built by graphic designers who didn't know how to use the original one.

Explorer Patcher helps, but it can only do so much. Disabling Teams, widgets, all that junk, and every Modern app, leaves something that is just about functional, but uglier than ever, and less friendly and less convenient than ever before.

I'm not a gamer, so I don't care about games performance. I'm not a developer so I don't care about that, either.

So, yes, go for it, remove absolutely everything you can, disable hibernation, disable Fast Boot, remove all the Modern junk, cut that OS back hard, delete every temp file in every folder, turn off System Restore, turn off all the chrome, and then you can leave a smaller C drive and have a parallel install of a slightly leaner meaner OS that doesn't waste CPU and GPU cycles on shiny.

That means no GNOME, no Cinnamon, no KDE, no Budgie. No Snaps, no Flatpaks, and I'm increasingly leaning towards no systemd either. Xfce or LXDE and native packages of native apps.

It's a sad day that this seems to be the case, but Java apps look small and fast compared to modern abominations such as Electron.


I live in a building rather than let nature do whatever it's going to do.

This argument is more along the lines of paying protection racket enforcers.


Agreed. It sits almost entirely vanilla in a high-performance virtual machine on my home PC. Constraining it to virtual disks and vCPUs, and using qcow2 snapshots in case I need to rollback, is amazing. I have one VM for my music production, and one for gaming. And another for miscellaneous tasks. The boot disks all branch off of one disk, so they don't unnecessarily repeat data.

Same goes for my work computer. Only Linux is allowed to touch my hardware directly, whenever. If I need to test something in a Windows environment, I pop a VM open.

It's actually amazing how great VMs have gotten lately. Even on my work PC's modest hardware (i5 10400, 12 GB RAM, GT 710), I can pass the GT 710 through for native graphics performance, and the VM feels like it's running on hardware.

Remember, when using Windows, always wear protection!


unmodified windows results in a broken system sooner or later, since windows 8.


Well, there are alternatives...


This is such a trite and unhelpful comment. Everyone on HN knows there are alternatives (which are not even true alternatives as far as compatibility with most software is concerned)


Thanks for your comment. But I disagree -- almost no one has to "just accept his fate" and be stuck with Windows nowadays.

Unless you are a gamer or you strictly work with Windows only software, there are plenty of alternatives. And just to be clear, nowadays you might not find everything for Linux or BSD, but there are quite a lot of perfectly fine MacOS alternatives for most Win tools.


Hmmm I have de bloated several windows 10 machines, just be careful and don’t do 100% what a script does. Titus tech has a good sample on his blog, just go step by step. Don’t need Cortana then disable that and so on


I hadn't heard of this command. `Get-AppxPackage` seems to enumerate all the packages that the post talks about so its a good way to explore in a non-destructive way.

It does remove the Microsoft Store and WSL with it which is important to me. Maybe a safer strategy is to look through that list and remove specifically the ones that are annoying


The advantage of including everything, or the problem with trying to cherry-pick, is that many problems are only the result of the partial but incomplete sets of interoperating components.

If service A is always trying to use service B, but you removed service B, you can have annoying problems caused by service A hanging and timing out behind the scenes or presenting buttons that don't work etc.

One way to avoid that is never remove anything, but another way is to remove both A and B.

One way to get both A and B without knowing what they are, is get everything.

And this particular method, using an actually fairly managed and graceful command (managed/graceful meaning not just removing files and editing the registry, but only running a user-facing command and interface) is like an automatic filter to include only things that don't actually break the OS.


Have you tried this method yet? Appx packages tend to be very good about declaring their dependencies so that removal is easy and safe.

They’re not suggesting deleting individual files or mucking with the registry, they’re talking about using a clean, user-facing tool just in a more surgical and thoughtful manner.


That's what I said? Did you mean to reply to the same parent comment I did? I fully agree this is a quite good trick, or at least is a solid theory, not claiming to have done it.


It's probably easier to just remove everything and then add back what you want.


It is incredibly difficult to re-add the MS store if you remove it. Consider it non-revert-able. Just a warning in case someone thinks that is what you meant by your comment.


Get-AppXPackage *WindowsStore* -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}


Did you have this command memorized, or are you natively highly competent in PowerShell?

(I'm a BASH loving freak and haven't spent any time learning WinPS.)


In my experience, most greybeards on this forum will be able to recall that command from memory. It's part of the reason why HN is the place to be, these days.


Sheeeeeit, I had grey in my beard before the Windows store even _existed_.


These days, if you're serious about tech in itself, and not just its money-making potential, you're bound to get stress-induced grey hair and beard very fast...


Every time I tried to learn poweshell I am always put off by the capitalization and verbosity of commands. Not sure if I'd be feeling this way had I used poweshell first before being exposed to bash and windows cmd.


It's case-insensitive, so the capitalization is just to make it easier on the reader. Add mentioned there's enough auto-complete that you don't really have to care.


It's verbose, sure, but it has great autocomplete support to go along with it.


I think once you understand what the individual bits do, it's easy to memorize them, then reconstruct the command from what you've memorized. The only part specific to the Store app is "WindowsStore", the rest can be used for installing any app.


Yeah, I don’t understand the laziness of this option. The list isn’t that long, just figure out which packages you don’t want, put them in a text file, then iterate over that file and remove them. Repeatable and easy to back out out because you know what you removed. All in you’re talking less than an hour if you decide to google every single package in the list.


I do this for every Windows installation that is used for similar purposes, like embedded machines that has to run a single application, virtual machines, etc.

For who says that this will break the system: it will not, provided that you only need to run win32 applications (as it's almost the case). It's basically the same thing that Windows 10 LTSC (or now Windows 10 IoT I think it was renamed) does, that is not have any appx package installed beside Edge and few system packages.

You of course loose a couple of utilities, such as the calculator (but you can simply do calculations in powershell, python or whatever), the image viewer (you can view images in Paint) and audio/video player (just install VLC or open them with a browser).

If you need the store you can reinstall it afterwards, and then use the store to reinstall any software you need, that is faster than manually removing all the bloatware that is installed (like Candy Crush and stupid stuff that shouldn't even be there in the first place!)


> I do this for every Windows installation that is used for similar purposes, like embedded machines that has to run a single application, virtual machines, etc.

Have you tried running Linux for these use cases? This sort of thing is an area Linux excels, in my experience.

When you run Windows, you're in for the whole kit and caboodle. Most of the components are proprietary, closed-source black boxes. You can only poke and prod and test and hope things don't break in unexpected ways.

Conversely, Linux can be easy stripped down to a bare bones kernel and a single statically-linked binary. I can run a useful application on top of Linux with the whole system weighing in smaller than bootmgfw.efi.

Something more complex, but still custom, is easily crafted with Buildroot.

https://buildroot.org/


Of course yes, where I can I run Linux. Unfortunately you have often to deal with software that is only for Windows, mainly programs made to interact with very specific and custom hardware, often legacy software.


> You of course loose a couple of utilities, such as the calculator (but you can simply do calculations in powershell, python or whatever), the image viewer (you can view images in Paint) and audio/video player (just install VLC or open them with a browser).

This is, technically speaking, only if you run the script from Windows 11. Windows 10 still has Paint, WordPad, Windows Media Player, Remote Desktop, and some others as unpackaged system components that aren't in the Store. So, if you are still on 10, you won't have that issue.


Alternatively, you could use a freeware from a reputable German company - O&O AppBuster - to uninstall (or reinstall previously removed apps) in a more visual, user-friendly interface. Don't forget to explore the View menu, where you can select Normal Apps, Hidden Apps, Store Apps, System Apps, Framework Apps.

https://www.oo-software.com/en/ooappbuster

EDIT: While you're there, check their other freeware - O&O Shut Up10++ (i.e. also works for Windows 11) I've been using it for years, with zero problems (other than Windows resetting some policies after a major upgrade).


Been using Shut Up 10 for a while and I confirm it's a great tool that doesn't nuke your system.

My current Windows 11 (latest version) was upgraded since the first released version of Windows 10 (2015). It survived two CPU changes, one MB change and it's still working fine. Pretty amazed by that.


I always wanted to run WinPE, or a custom bootable WIM file, from a USB stick. AFAIK, one can only create this using full-blown Windows, which for me defeats the purpose. I have also seen Microsoft go as far as time-limiting PE so that computer continuously reboots automatically after a short elapsed time.

"Windows PE is not a general-purpose operating system. It may not be used for any purpose other than deployment and recovery. It should not be used as a thin client or an embedded operating system. There are other Microsoft products, such as Windows Embedded CE, which may be used for these purposes.

To prevent its use as a production operating system, Windows PE automatically stops running the shell and restarts after 72 hours of continuous use. This period is not configurable."

https://docs.microsoft.com/en-us/windows-hardware/manufactur...


Oh, the memories. The only time I ever saw a WinPE in practice is in high school, when a friend made a stripped down version of Windows that booted straight to StarCraft: Brood War. A nice proof of concept, but wasn't used much in practice, as every single student-accessible computer would somehow, organically, grow an SC:BW copy within few hours of being turned on without it.


Sergei Strelec is the bomb.


WinPE images can be created on Linux using wimlib [0].

https://wimlib.net/man1/mkwinpeimg.html


Microsoft is a commercial company that cares about not cannibalizing their own sales. Open source maintainers generally don't care


My fantasy project from the same category is "Windows from scratch", where I set up the NT bootloader and kernel (possibly CSRSS, LSASS as well) but step into an Msys2 userspace from there.


Installed windows on a computer for the first time in about 5 years. I was surprised to see how much bloatware were pre installed (Spotify, TikTok, Instagram, etc). It’s crazy what Windows have become.


> Spotify, TikTok, Instagram

I have not seen this. Was this just a windows install or some OEM install?


If you download Windows 11 from microsoft.com it comes with that stuff, also things like Disney+

citation: I installed it 3 weeks ago


I had a Disney+ icon as well and the irony is that the service is not even available in my region. I am not sure the apps are actually installed, I thought they were just placeholders that install on first run.


Is it installed?

The apps.


Yes, they're there and installed on first login. Some will auto install a bit later.


The shortcuts are what you're seeing on a naked windows install, not the applications themselves.

This can be proven by when you go into uninstall it look at the space used. It will be tiny.

Part of the reason those shortcuts are there are on consumer editions because a) lots of people have no clue how to do anything and need a helping hand b) the vendors pay to have that installed as marketing, which helps lower the cost of the windows license


I mean thats the same "reason" OEMs do it. Unwanted shitware polluting the start menu is ok because... it doesn't take up megabytes of space?


I think there is a difference between coming pre-intalled and not installed, but annoying shortcuts.


The process for removing either is exactly the same.


I think the difference of a program installed and not is big.

Personally I don’t even look at the whole mess of a start menu when I’m in Windows.


Weird, last windows install I did was like 4 months ago and I didn't get that, DL from Microsoft ...

I wonder if it depends on the image.


Where exactly did you get the install from? That definitely doesnt sound right.


I got mine from https://www.microsoft.com/en-us/software-download/windows11 just a week ago and it had a bunch of stuff like this in the start menu (I don't think these pre-installs are anything new). I think they're mostly install shims so they're harmless unless you click on them but still annoying to clean up on a fresh box.


I think this is New Microsoft vs Old Microsoft.

Everyone bitched that Old Microsoft took too long to roll out new technologies and major versions, because it QA'd the shit out of them, so New Microsoft retooled itself to ship faster.

As a consequence, all the bad parts of Microsoft also got the ability to pull request whatever tacky KPI-booster-du-jour was on their pet project list.

If MS gave a damn about this, they'd just make a core-only Windows set of packages available at install-time via flags. Because they know perfectly well what's 1st/3rd-party crapware and what's core-Windows.


I am fairly certain that those get installed as soon as you connect to the web. I have had similar experiences with isos downloaded from M$.


Yep, you can literally open the start menu, connect a fresh (non-Enterprise / Edu / LTSC etc) install to the internet and watch the install stubs for the crap get added in real time. :D


Really? Do they preinstall TikTok?


I installed Windows 11 for my mum last week and can confirm there was definitely a pinned link to TikTok in the start menu tiles. This was by default after a clean install. (Unclear if app was installed or a link to install, but I just nuked it obvs)


Those kinds of apps aren't actually installed, what you see are shortcuts to install the apps.

Not that I'm comfortable with it either way.


You're mistaken, it's NOT installed. However a link to install it is included and shown to you.

You can prove this by when you try to uninstall it look at the size.

This can be considered clutter on your screen but it's not causing any performance degradation.


I didn’t say it was installed! I said it was unclear if it was installed or it was a link as you describe. Thanks for the additional info though.


Well, that’s interesting, considering all these privacy violations...


Privacy violations regarding TikTok? I don't think it's a violation of privacy if one uses the service and therefore agrees to their privacy policy, which clearly states they collect a lot of data.

https://www.tiktok.com/legal/page/us/privacy-policy/en


It's still a violation of privacy even if you inform them that you're going to do the violating.


The collection of data, as stated in the terms of service, does not necessarily absolve the company of potential privacy violations, as it is ultimately governed by the laws of the nation(s) in which it operates.

TOS cannot supersede the laws of countries themselves.


"Privacy concerns"


Windows itself is a privacy violation


No. The listed software is not preinstalled by Microsoft. OP must have used an OEM version that includes it.


TikTok comes as one of the pinned item on a clean Windows 11 Pro install downloaded directly from Microsoft.

https://snipboard.io/6VgivQ.jpg


I installed W11 from the ISO I downloaded directly from Microsoft a few months back and it had all these apps pinned (though likely not actually installed).


Thanks. It would be insane.


I would happily pay Microsoft just to have the minimal Windows without all the bloat. Windows does window management well. That's good. That is all I need. Stop trying to shove these half finished applications with bad UX/ads down my throat and let someone else figure this out.


You can in fact buy a minimal edition of Windows from Microsoft, e.g. Windows 10 LTSC. However, to buy it legally one needs to jump through some hoops (I think you need to have an Azure or enterprise account, or something) before being able to buy a license.


Enterprise is more what you're looking for, LTSC is designed for special use cases only. https://techcommunity.microsoft.com/t5/windows-it-pro-blog/l... has some examples of why you don't want to use it except in cases.

The most likely reason is a stripped down version of periphal support, no new feature releases etc. It's more of set and forget installations rather than a daily driver.


which is actually good, i'd say, because i don't want my machine to suddenly stop working because some peripheral driver was updated and conflicts with some other driver, or cause system instability.


This is available in corporate versions (aka enterprise or LTSC). The home versions are significantly cheaper and dont offer that functionality out of the box.

2 reasons - a lot of endusers appreciate it surprisingly, and some of those bloat of preinstalled applications subsidizes the cost to make it cheaper to purchase.


> a lot of endusers appreciate it surprisingly

Then they wouldn't want to disable it; what harm is there in offering the choice?


There's not as much bloatware in Windows 11 as you might think - most of it is links to install applcations, not the applications themselves. Part of it is due to advertising - you're actually getting Windows license a bit cheaper in exchange for these "features".

But you can disable and remove it - manually. These scripts do it automatically for you as a convenience but the ability is there.

In enterprise versions of Windows, there's tighter control and less "features"/bloatware installed by default, and you can use GPOs and other settings to deal with it very easily. This of course comes at a cost that most endusers don't want to pay.

Feel free to purchase the non home versions of Windows and you will find there _is_ a choice.


Wouldn't it be better to just give up on Microsoft and make a difference towards an OS that doesn't continuously implement shady practices?


It would be better. If any other OS gets as good in window management as Windows is right now I would happily make the switch. MacOS is close (with extra apps) but it is not there yet unfortunately. And that is why MS can get away with this.


There are things to like about Windows, but their window management to me is the worst out of all options.


Would love to be enlightened about better options.

I have spent a lot of time on three platforms, including multiple Linux desktop managers, but have not seen anything better than the window management in Windows 11. (I am aware that this article talks about Windows 10)


I'm personally very happy with Sway and i3wm. They just make sense to me and are a lot less bloated. Everything is just a shortcut away.


What are they doing special with window management?


Window management is sort of a superficial feature of an OS. If Windows only managed windows, you would not be able to do much on it.


Isn't that called reactos?


I might use this in a VM, where I typically only want the bare minimum of features. But this won't block all of the ~spyware~ telemetry built into Windows, and I definitely wouldn't run it on a real machine.

Right now I'm using Windows 10 Ameliorated[1] in VMs, which is much more lightweight than the official builds. I haven't done any deep inspections to see if itself introduces some spyware, but it works fine for my purposes. Has anyone done any research into this build and know if it can be trusted?

[1]: https://ameliorated.info/


> I haven't done any deep inspections to see if itself introduces some spyware

I have, in that you can build your own version using their instructions and scripts, and I have read the scripts thoroughly. There is a binary blob at the end of one of them which gets decoded and installed, but you can strip it out easily enough. As well there are a few downloads that it pulls and installs -- also easy to comment that out and affects very little. They like to mess with the GUI and that is a matter of taste (they make the new settings panel inoperable so I remove that part from the script).

I have also checked network traffic on an edge device to see what an AME install sends out. It is fine.


Better way: use Get-AppxProvisionedPackage and Remove-AppxProvisionedPackage during OOBE to remove them for all users.

Bonus: Use these cmdlets on a offline mounted WIM image to build a custom image without bloats.



This tool really improved my Windows 10 experience and lowered the idle load to 5%

https://github.com/ChrisTitusTech/winutil


Did something similar at one point and found that this breaks the ability to install certain windows optional features.


You say that like it's a bad thing.

;-)

Part of my idea of happiness on a Windows box is to look at the list of optional features and see only unticked boxes.


Ouch, that's rough.


Windows 7 was the last good Windows. Windows 10 was the last adequate Windows.


Windows 7 was the last Windows I actually wanted to use.

Windows 10 is the last version of windows I'm willing to tolerate.


I agree with you both...

But saying that, I don't actually use it any more, and these days, I'm finding even Linux distros uncomfortably bloated, and I'm looking for lighter ones... and trying to work out if FreeBSD would be a usable desktop OS.


  > Get-AppxPackage | Remove-AppxPackage
I figured it was this one. Note that this will remove Windows Store apps, including Edge (Chromium) plugins, which may not be what you want. So, it's safe to run on a fresh install to get rid of the preinstalled bloatware, but don't run it blindly on any system.


Appx packages are not where the bloat is. These are "store" / UWP apps which are generally sandboxed / very restricted in API access - so they take up disk space but not much else after you close them.

Sure, if your goal is to save a bit of disk space, this will help; but I suspect when most people think about "bloat" they think of things that slow down their computer (things that actively consume memory / cpu / network).

In my experience, that bloat is mostly services and scheduled tasks. I started collecting scripts / documentation on debloating with a primary focus on restoring privacy here: https://github.com/TemporalAgent7/awesome-windows-privacy (it's not very maintained but maybe someone finds something useful there)


One person's bloat is another's critical feature.


One person's critical feature is another person's bloat. Every user is different.

By pre-installing "features" and setting defaults in ways that benefit the company, the "tech" company can effectively remove, hide and/or discourage user choice.

What is the size reduction in Windows after using the method described here.

Wouldn't there be many drivers still (pre-)installed that the user's single application or Edge would never need.


One person's bloat is another Microsoft PM KPI target.

This is great, if M$ is going to still be a defacto monopoly in the business world we need an OS that does what you tell it to, and nothing more.


I have two lines:

  linux /@/boot/vmlinuz-x.x.x-x-generic root=UUID=x-x-x-x-x ro rootflags=subvol=@  quiet splash 
  initrd /@/boot/initrd.img-x.x.x-x-generic


Doesn't debloat windows and isn't helpful for people who have to use it


It was a joke about using linux instead...


Thanks for sharing the tip!

It was hard for me to weigh the pros and cons based on the article. Some questions that you might want to answer in the blog post to make it more useful:

- Will it make my computer noticeably faster? Or just the Windows startup? Or reduce the memory consumption? Or just simplify the UI? ("bloat" is not well defined) - How much disk space can I expect to get back? - How do I know if it will remove something that I find useful? - If I run the command, how can I revert it later? How can I install a package back?


I mentioned this in the article but should probably emphasize it: I strongly recommend using a virtual machine, running it, and then trying it out and seeing how well it works for your use-case. If it works well for you, then use it on a fresh install. I never recommend using it on an existing installation.

Ultimately, I don't know what apps you need or use or what features you need - so, trying it on an old computer, or in a VM, will best answer your question.


You can remove any subset of packages. On any new Windows 10 install I typically do something like:

  Get-AppxPackage *alarm* | Remove-AppPackage
  Get-AppxPackage *help* | Remove-AppPackage
  Get-AppxPackage *xbox* | Remove-AppPackage
  Get-AppxPackage *zune* | Remove-AppPackage
  Get-AppxPackage *phone* | Remove-AppPackage
  ...
  etc


DIRE WARNING: This will remove WSL and WSL2. If you use these packages, stop and do not execute.


Added a notice about that, as I recommend using a fresh Windows install for a very specific purpose, not anything you are currently running or even necessarily a home system (as the context about it being a new setup would hopefully indicate).

Though, to be fair, I did write originally "After running the command, you will just have the Windows folders, Microsoft Edge, and Settings. And that’s literally it – no Microsoft Store, no Apps, just Windows and a Web Browser." (WSL2 obviously included if you think about it...)


> (WSL2 obviously included if you think about it...)

It's not "obviously" included. WSL doesn't have any particular reason to need the store, and there used to be a version that didn't need the store. I don't know why you would expect people to know exactly what happens.

It's not like all the other random console commands get removed.


AFAIK WSL doesn't need the store. Preconfigured WSL Linux images are distributed through it but that's it. Since I wasn't a fan of ubuntu, I exported a fedora docker image as tar file and imported it with wsl --import on my company's windows laptop.

This is documented in numerous blogs and on the microsoft documentation website.

Having said that, I still haven't found any good incentive to use WSL over say, a Linux VM. It is not like the integration is so much better done, I'd rather hide the terrible windows UI and use an X11 or wayland window manager in full screen.


But you can install it back again if you need it, right?


Well... you might find it awkward as it uninstalls the store as well.


Real question, apart from noobs (eg my Gran) does anyone use the store for anything? I certainly cant see any businesses wanting it on company machines for any reason


Microsoft is moving more and more into the Store. Windows Calculator is now a store app, and there's a new Remote Desktop App that will soon replace built in OS functionality.


I only moved to 10 this year as 7 was not supported to take a proctored exam.

I want no part of the store, have disabled it, and have been able to install everything I want without it, even Windows Terminal and WSL.

I'm not sure why I would ever allow it on my machine.


If you want to use the nvidia control panel with the latest drivers or update the firmware on an xbox controller you need the store. So, gaming, essentially is why you would need it. If you don't care about that then I think it is pretty useless.


You can't install nvidia drivers without the store, really?


You can install the drivers but the control panel with all the useful features is a UWP app.


There's also Blackbird for making windows less of a malware vector:

https://www.getblackbird.net/documentation/


Windows 10 user should ho 'all the way' and use Atlas OS - which is Windows 10 'redesigned for gaming'

    Atlas users can enjoy:

    - higher framerate

    - lowered input delay & latency

    Great for people on a low-end system or high-end gaming machine.
Its for gaming but it has all the 'bullshit' cut out and/or disabled.

Details here: https://atlasos.net/

Regards.


I actually like Microsoft Store for its ability to update PowerShell for you.


Is there a way to get a listing of what will be removed and then only wipe out selected egregious bloatware offenses like Candy Crush Saga, Xbox Console Companion, Mixed Reality Portal, Facebook, Instagram, Netflix, Prime Video, Skype, Hidden City: Hidden Object Adventure, Twitter , Print 3D, Fitbit Coach, Farmville 2, Adobe Express, 3D Viewer, Feedback Hub, OneDrive, MS Teams, ClipChamp, etc.


On a vanilla windows installation, almost all of those are only shortcuts to install the application is included as a convenience to endusers who may want this.

You can confirm this by looking at the size of the application when you goto uninstall it.


Interesting, though more irksome than wasting storage, these all congest and pollute the Start Menu.


Am I understanding correctly that those apps are installed on Windows by default? That's crazy.


Correct. This isn't even the complete list. The bloatware bundled with Windows by default today is arguably worse and more extreme than at any point in the past, even compared to the bundling done in the early 2000s by Compaq and HP.


Does that close all your powershell windows the way it closes windows terminal for updates?


This is brilliant. I have used a variation of this.

Someone correct me but I believe it is the newish WinRT apps that have been rewritten for the metro era that MS chose to install this way. There a few windows "features" worth removing or adding that equire a diffrent cmdlet in powershell.


I use W10Privacy (does work with w11!). Takes 5 minutes. Default debloating and de-spying options are pretty good, but you can customize everything. I usually re-run it after every major update, but honestly haven't noticed that Windows tries to re-enable anything suspicious after updates.


A lot of people who run this commands don't actually know what happens under the hood, and the repercussions.

Nor do they understand what this does. It's turned into internet folklore by people "just run this and good stuff happens, i don't know exactly what but trust me"


That shouldn't stop the flow of information, because there is no way to make anything idiot-proof. "Just download this Linux ISO and good stuff happens" could be equally apt.

For this reason, I have put every disclaimer and warning that I reasonably can, and defined the use-case clearly (a few apps where anything else is bloat). "Try it on a fresh install, on a VM or old PC, first." And, in a recent update to the post, a script by Microsoft for undoing it if necessary. If people don't listen, that's not my issue if I warned them as clearly as I could.


I do somewhat agree, however the title is a bit misleading then IMHO. It's not so much a debloat as it is a how to make a very customized installation for your very specific environment.

Splitting hairs perhaps, but a lot of people don't/won't understand the difference - or why you did this.

Most non home users use Windows Enterprise and GPOs to achieve these results, where things are more fine tuned and can be reversed as needed.


> It's not so much a debloat as it is a how to make a very customized installation for your very specific environment.

Perhaps, but the main feature was that it was a debloat without requiring an internet script. There are plenty of scripts and tools out there for de-bloating, but nothing so quick for a stock install that might not even have internet.

> and can be reversed as needed

I have added a Microsoft-written script in an update to the article which reinstalls all stock AppX packages.


One man's trash is another man's treasure?

One user's bloat is another user's core feature!


Reminds of me of a relevant XKCD: https://xkcd.com/1172/

Interpretation: A bug causing the CPU to overheat when spacebar was pressed was removed, and of course, one user leveraged this as a feature.


I wish MS would allow at least some "technically difficult but still possible" side-channel for installing Windows Enterprise LTSC Builds.

That version grants basically the same experience as the linked article, but out-of-the-box, and nothing is broken.


The blocker with Enterprise/LTSC is the cost and difficulty of obtaining a license to use it legally, not the installation.

If you don't mind breaking the terms of the license and/or possibly the law it's trivial to obtain: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-... and you just need to reinstall every 90 days when the evaluation period runs out.


In my region (Hungary, EU) you can buy keys for it for $50, all legal.


LTSC is easier, and it's not just for sale for enterprise users. In Hungary, maybe because of the EU, you can easily buy LTSC 2021 keys for $50, quite accessible (and legal!).


A wise man once said, "When you need debloating, you cannot debloat. For life is full of bloatware we cannot ever sense"


I tried this some years back with limited success.

1. Some apps were removed while some weren't 2. Some apps returned after updates.

Now given up on windows.


Thanks for this! I'll definitely use it during next OS reinstall. Togather with some telemetry remover.


A better approach would be to strip out everything via NTLite and make a custom ISO.


This will break a bunch of stuff.

Microsoft has put some bloat in Appx packages, but this is definitely throwing the baby out with the bathwater, you're essentially nuking stuff based on its installation method rather than anything meaningful.

But, sure, go right ahead remove .Net Native Runtime, VCLIbs, the ability to login to guest WiFi, and Parental Controls at minimum. Who needs THAT stuff? Then just go ahead and start changing random things in gpedit because a blog told you to.

Honestly, my biggest pet-peeve with these debloating things (articles, scripts, tools) is that they never explain WHY for each thing. That is seemingly because the people building these things just copy/pasted someone else's without really understanding the original WHY of it. Multiple of them make Windows objectively less secure.

Maybe someone should build a debloater that describes exactly what [thing] is and if you want [thing]. Then also confirm that removing or disabling [thing] won't cause Windows Update to get into an install/rollback/install death spiral.


> is that they never explain WHY for each thing

Hello, author here.

I don't understand this criticism, because I specified in the article exactly why I was using this command, for this use case. I am setting up a computer specifically for CAD and CAM software, and it serves no other purpose - all I want it to do is run my industrial applications, and that's it, anything else is bloat to me. I don't advise everyone use it for every computer, but rather that it works for me very well when setting up PCs for industrial settings.

As for the VCLibs, and .NET Native, they can be reinstalled afterwards from an Appx package, so if it ever became an issue, it's easier for me to nuke and add back, but that's just my opinion. Both, however, are libraries for running applications, not security updates, which are left intact by this method as this does not remove or affect Windows Defender or Windows Update. Therefore, if my CAD software doesn't need VCLibs or .NET Native to function, I don't have any loss in security - just in the number of apps I can run.

> Multiple of them make Windows objectively less secure.

I wrote this article because it does not mess with Windows Update, or run any random de-bloating scripts from the internet. For many people, not running a random internet script for de-bloating is a desirable attribute, and I don't see how this would make a PC less secure.


As for the why, I think the parent commenter means that they would want to know the reason a package was installed by default on Windows in the first place.

We know the reason you removed it is that it is not related to CAD and CAM software. However, if we don't know the details about what that software IS (not just what it IS NOT) then as soon as we want to do something other than CAD/CAM we cannot be sure if the bloat is OK to delete.


It irks me that people are not. more vocal about getting Microsoft to do that, rather than expecting some FOSS dev to spend time picking apart proprietary software and documenting Microsoft's particular brand of madness for what? Kudos? You want that? Tell Microsoft QA is important to you, meat grinding said team is not acceptable, and to start hiring bloody tech writers again! We're where we're at because everywhere is under the impression that both of those groups are unnecesary cost centers.

I'd be daft enough to do it, however, there is a bit of resentment at how everyone is happy to throw someone under the bus, as long as it isn't them.


The Kindle Fire Toolbox on XDA[1] is a good example (IMO) of doing this right - it shows a bunch of stuff that you can remove with no impact, and with everything else it tells you what the thing you're removing is used for, so you can decide if the thing you want to remove is important to you.

That said, it's community driven so I have no idea how technically correct it is. But it is a good attempt at a "debloating" tool that informs the user of the consequences of what they're doing.

[1] https://forum.xda-developers.com/t/windows-tool-fire-toolbox...


Does it remove anything important that you can't put back later? If not, well... there you go. It doesn't break anything. If it does, well... good point, maybe you should mention that somewhere in the midst of all the FUD.

There has to be a way for users to take control of their PCs back from Microsoft, short of installing Linux. Try to make positive suggestions of your own in addition to calling out the pitfalls of other people's suggestions.


It will break a bunch of things, but half these "debloat" scripts around include a verbose version of this, and it is very common to see a complaint some application won't run and the fix is to rebuild the computer, because the store can not always be reinstalled. It doesn't matter what warnings you give, naive people will run it. He'll I've seen windows ameliorated in businesses.


> remove .Net Native Runtime, VCLIbs, the ability to login to guest WiFi, and Parental Controls at minimum. Who needs THAT stuff

I'm perfectly fine with removing those things and many others from my computer.


Yes! That is the most frustrating part of debloating - searching "what does {program} do" usually ends up with a laundry list of removal how-tos with no explanation.

It actually made me wonder if these posts are social engineering on the part of hackers to get people to unwittingly introduce vulnerabilities


A better way to debloat it - install Linux ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: