fix not being able to uninstall system apps

This commit is contained in:
undergroundwires
2020-11-06 18:36:45 +01:00
parent 45b8dd972b
commit 31e08d231d

View File

@@ -3105,24 +3105,26 @@ actions:
packageName: SpotifyAB.SpotifyMusic packageName: SpotifyAB.SpotifyMusic
- -
category: Uninstall system apps category: Uninstall system apps
docs: https://docs.microsoft.com/en-us/windows/application-management/apps-in-windows-10#system-apps docs:
- https://docs.microsoft.com/en-us/windows/application-management/apps-in-windows-10#system-apps
- https://github.com/Sycnex/Windows10Debloater/blob/02963b6844cf7d13ed3fa64d75128f4e312689ca/Windows10Debloater.ps1#L43
children: children:
- -
name: File Picker app name: File Picker app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: 1527c705-839a-4832-9118-54d4Bd6a0c89 packageName: 1527c705-839a-4832-9118-54d4Bd6a0c89
- -
name: File Explorer app name: File Explorer app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: c5e2524a-ea46-4f67-841f-6a9465d9d515 packageName: c5e2524a-ea46-4f67-841f-6a9465d9d515
- -
name: App Resolver UX app name: App Resolver UX app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: E2A4F912-2574-4A75-9BB0-0D023378592B packageName: E2A4F912-2574-4A75-9BB0-0D023378592B
- -
@@ -3130,30 +3132,30 @@ actions:
recommend: standard recommend: standard
call: call:
- -
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: F46D4000-FD22-4DB4-AC8E-4E1DDDE828FE packageName: F46D4000-FD22-4DB4-AC8E-4E1DDDE828FE
- -
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: InputApp packageName: InputApp
- -
name: Microsoft AAD Broker Plugin app name: Microsoft AAD Broker Plugin app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.AAD.Broker.Plugin packageName: Microsoft.AAD.Broker.Plugin
- -
name: Microsoft Accounts Control app name: Microsoft Accounts Control app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.AccountsControl packageName: Microsoft.AccountsControl
- -
name: Microsoft Async Text Service app name: Microsoft Async Text Service app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.AsyncTextService packageName: Microsoft.AsyncTextService
- -
@@ -3163,25 +3165,25 @@ actions:
name: Bio enrollment app name: Bio enrollment app
recommend: strict recommend: strict
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.BioEnrollment packageName: Microsoft.BioEnrollment
- -
name: Cred Dialog Host app name: Cred Dialog Host app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.CredDialogHost packageName: Microsoft.CredDialogHost
- -
name: EC app name: EC app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.ECApp packageName: Microsoft.ECApp
- -
name: Lock app name: Lock app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.LockApp packageName: Microsoft.LockApp
- -
@@ -3191,63 +3193,63 @@ actions:
name: Microsoft Edge app name: Microsoft Edge app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.MicrosoftEdge packageName: Microsoft.MicrosoftEdge
- -
name: Microsoft Edge Dev Tools Client app name: Microsoft Edge Dev Tools Client app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.MicrosoftEdgeDevToolsClient packageName: Microsoft.MicrosoftEdgeDevToolsClient
- -
name: Microsoft PPI Projection app name: Microsoft PPI Projection app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.PPIProjection packageName: Microsoft.PPIProjection
- -
name: Win32 Web View Host app name: Win32 Web View Host app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Win32WebViewHost packageName: Microsoft.Win32WebViewHost
- -
name: ChxApp app name: ChxApp app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.Apprep.ChxApp packageName: Microsoft.Windows.Apprep.ChxApp
- -
name: Assigned Access Lock App app name: Assigned Access Lock App app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.AssignedAccessLockApp packageName: Microsoft.Windows.AssignedAccessLockApp
- -
name: Capture Picker app name: Capture Picker app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.CapturePicker packageName: Microsoft.Windows.CapturePicker
- -
name: Cloud Experience Host app name: Cloud Experience Host app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.CloudExperienceHost packageName: Microsoft.Windows.CloudExperienceHost
- -
name: Content Delivery Manager app name: Content Delivery Manager app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.ContentDeliveryManager packageName: Microsoft.Windows.ContentDeliveryManager
- -
@@ -3257,35 +3259,35 @@ actions:
name: Cortana app name: Cortana app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.Cortana packageName: Microsoft.Windows.Cortana
- -
name: Holographic First Run app name: Holographic First Run app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.Holographic.FirstRun packageName: Microsoft.Windows.Holographic.FirstRun
- -
name: OOBE Network Captive Port app name: OOBE Network Captive Port app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.OOBENetworkCaptivePort packageName: Microsoft.Windows.OOBENetworkCaptivePort
- -
name: OOBE Network Connection Flow app name: OOBE Network Connection Flow app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.OOBENetworkConnectionFlow packageName: Microsoft.Windows.OOBENetworkConnectionFlow
- -
name: Parental Controls app name: Parental Controls app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.ParentalControls packageName: Microsoft.Windows.ParentalControls
- -
@@ -3295,41 +3297,41 @@ actions:
name: People Experience Host app name: People Experience Host app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.PeopleExperienceHost packageName: Microsoft.Windows.PeopleExperienceHost
- -
name: Pinning Confirmation Dialog app name: Pinning Confirmation Dialog app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.PinningConfirmationDialog packageName: Microsoft.Windows.PinningConfirmationDialog
- -
name: Sec Health UI app name: Sec Health UI app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.SecHealthUI packageName: Microsoft.Windows.SecHealthUI
- -
name: Secondary Tile Experience app name: Secondary Tile Experience app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.SecondaryTileExperience packageName: Microsoft.Windows.SecondaryTileExperience
- -
name: Secure Assessment Browser app name: Secure Assessment Browser app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.SecureAssessmentBrowser packageName: Microsoft.Windows.SecureAssessmentBrowser
- -
name: Start app name: Start app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.Windows.ShellExperienceHost packageName: Microsoft.Windows.ShellExperienceHost
- -
@@ -3339,45 +3341,45 @@ actions:
name: Windows Feedback app name: Windows Feedback app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.WindowsFeedback packageName: Microsoft.WindowsFeedback
- -
name: Xbox Game Callable UI app name: Xbox Game Callable UI app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Microsoft.XboxGameCallableUI packageName: Microsoft.XboxGameCallableUI
- -
name: CBS Preview app name: CBS Preview app
recommend: standard recommend: standard
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Windows.CBSPreview packageName: Windows.CBSPreview
- -
name: Contact Support app name: Contact Support app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Windows.ContactSupport packageName: Windows.ContactSupport
- -
name: Settings app name: Settings app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Windows.immersivecontrolpanel packageName: Windows.immersivecontrolpanel
- -
name: Windows Print 3D app name: Windows Print 3D app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Windows.Print3D packageName: Windows.Print3D
- -
name: Print UI app name: Print UI app
call: call:
function: UninstallStoreApp function: UninstallSystemApp
parameters: parameters:
packageName: Windows.PrintDialog packageName: Windows.PrintDialog
- -
@@ -3896,3 +3898,47 @@ functions:
} }
$manifest = $package.InstallLocation + '\AppxManifest.xml'; $manifest = $package.InstallLocation + '\AppxManifest.xml';
Add-AppxPackage -DisableDevelopmentMode -Register \"$manifest\" " Add-AppxPackage -DisableDevelopmentMode -Register \"$manifest\" "
-
name: UninstallSystemApp
parameters: [ packageName ]
# It simply renames files
# Because system apps are non removable (check: (Get-AppxPackage -AllUsers 'Windows.CBSPreview').NonRemovable)
# Otherwise they throw 0x80070032 when trying to uninstall them
code:
PowerShell -Command "
$package = (Get-AppxPackage -AllUsers '{{ $packageName }}');
if (!$package) {
Write-Host 'Not installed';
exit 0;
}
$directories = @($package.InstallLocation, \"$env:LOCALAPPDATA\Packages\$($package.PackageFamilyName)\");
foreach($dir in $directories) {
if ( !$dir -Or !(Test-Path \"$dir\") ) { continue; }
cmd /c takeown /f \"$dir\" /r /d y | Out-Null;
cmd /c icacls \"$dir\" /grant administrators:F /t | Out-Null;
$files = Get-ChildItem -File -Path $dir -Recurse -Force;
foreach($file in $files) {
if($file.Name.EndsWith('.OLD')) { continue; }
$newName = $file.Name + '.OLD';
Write-Host \"Renamed '$($file.FullName)' to '$newName'\";
Rename-Item -Path $file.FullName -NewName \"$newName\";
}
}; "
revertCode:
PowerShell -Command "
$package = (Get-AppxPackage -AllUsers '{{ $packageName }}');
if (!$package) {
Write-Error 'App could not be found' -ErrorAction Stop;
}
$directories = @($package.InstallLocation, \"$env:LOCALAPPDATA\Packages\$($package.PackageFamilyName)\");
foreach($dir in $directories) {
if ( !$dir -Or !(Test-Path \"$dir\") ) { continue; }
cmd /c takeown /f \"$dir\" /r /d y | Out-Null;
cmd /c icacls \"$dir\" /grant administrators:F /t | Out-Null;
$files = Get-ChildItem -File -Path \"$dir\*.OLD\" -Recurse -Force;
foreach($file in $files) {
$newName = $file.Name.Substring(0, $file.Name.Length - 4);
Write-Host \"Renamed '$($file.FullName)' to '$newName'\";
Rename-Item -Path $file.FullName -NewName \"$newName\";
}
}; "