Uninstalls (and deregisters) Windows APPX packages that are preinstalled by default.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

19 lines
1.8 KiB

2 years ago
# Remove Default Apps
2 years ago
2 years ago
This script makes it simple to remove unnecessary Microsoft, OEM, and third-party modern app packages (APPX) which are typically preinstalled and part of an OS image.
There are two different means of removing packages:
1. `Remove-AppxPackage` uninstalls packages installed for the current user.
2. `Remove-AppxProvisionedPackage -Online` uninstalls *staged* packages - these packages are automatically deployed every time a new user profile is created.
**Be careful removing staged packages.** It's typically possible to redownload these packages from the Microsoft Store, but this isn't a given for every package. Windows prevents uninstalling core system packages, so you can't render your Windows installation unusable by accidentally removing a staged package, but it's always best practice to assess every package presented by the script.
2 years ago
The `$appcsv` variable contains a single, multiline, comma-delimited string. By default, this list only includes Microsoft packages.
There are three fields:
1. **name** - The display name for the package. This is typically a dot-separated string, such as `Microsoft.Windows.Photos`.
2. **id** - The Store ID for the package. If you use this script to reinstall previously-uninstalled packages, you need this ID to find the package in the Store. This ID may be obtained by finding the app in the Microsoft Store through a web browser. The ID is part of the URL for the app listing:
`https://www.microsoft.com/en-us/p/package-name/abc123packageid?...`
3. **skip** - A Boolean value; if true, the script will bypass this package, leaving it intact.
Edit `$appcsv` to add packages for removal, and to flag packages to be skipped the next time you run the app. You can also edit the boolean value after starting the script; look at the contents `$applist` while running the script.