fix not being able to uninstall system apps
This commit is contained in:
@@ -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\";
|
||||||
|
}
|
||||||
|
}; "
|
||||||
|
|||||||
Reference in New Issue
Block a user