AppXPackages
Stand 11.01.2018
Die Grundsätzliche Idee zu den AppXPackages entstand während der Entwicklung von Windows 8. Dabei ging es unter anderem um die Fragestellung wie man Entwicklern eine einfache und sichere Platform bietet um Apps ohne großen Aufwand auf einem System zu installieren und aktuell zuhalten. Die bis dato verwendeten Methoden über eine ausführbare Datei oder ein *.msi Packet, waren bei der Vielzahl an alternativen App Platformen zur einfachen Einbindung unter Windows nicht mehr zeitgemäß. Daher wurde 2008 unter der ISO/IEC 29500-2 ein Standard festgelegt der von Microsoft bereits 2006 veröffentlicht wurde. Hinter AppXPackages verbergen sich eine Vielzahl von Anwendungen. Darunter fallen zahlreiche nützliche wie der Calculator oder der Calender, allerdings auch einige Apps auf die man gut und gerne verzichten kann.
AppXPackages unter Windows 10
Ich habe mir die Packages auf dem Win 10 Build 16299 angesehen um einen Überblick darüber zu erhalten ob diese Anwendungen einen System relevanten Hintergrund besitzen oder ob man einen Teil davon entfernen kann. AppXPackages werden generell in 5 PackageTypeFilter unterteilt Bundle, Resource, Main, Framework, None. Die Anzahl der Anwendungen ist abhängig von der Tatsache ob bei der Installation von Windows 10 die Benutzerdefinierte Variante verwendet wurde oder die Update Variante. Wählt man die Benutzerdefinierte Installation und belässt man beim ersten Start des Systems alle Einstellung so wie das System es vorgibt dann variiert die Anzahl der Packages zwischen 115-182. Hintergrund sind Updates während der Einrichtung des Benutzerkontos und in den ersten Minuten nachdem System Start, darunter fallen einige Main Packages aber auch zusätzliche Resource Packages für bereits vorhandene Anwendung. Ebenfalls können ab diesem Zeitpunkt Apps von Drittanbietern installiert werden die ihren Content zum Beispiel in der Taskleiste anzeigen lassen möchten. Wenn alle Updates während der Installation unterbunden werden befinden sich zunächst nur Microsoft eigene AppXPackages auf dem System. Daher habe ich während der Einrichtung Cortana „deaktiviert“ und folgende Datenschutz Einstellung gewählt
Nach dem Abschluss der Installation können die grundsätzlich vorhandenen Packages und das benutzte Build eines vorliegenden Systems wie folgt abgefragt werden.
$System = [System.Environment]::OSVersion.Version $AllPackages = Get-AppxPackage -PackageTypeFilter Bundle,Resource,Main,Framework,None | Sort-Object $i = 0 foreach($Package in $AllPackages) { Write-host $Package.Name $i++ } Write-host "Count $i Packages on Windows Major $($system.major) Build $($System.Build)"
Die Liste umfasst alle Packages inklusive ihres jeweiligen PackageTypeFilter, dazu die Kategorien System relevant und nützlich. System relevante AppXPackages sind jene Packages die nicht auf direktem Weg gelöscht werden können. Die Kategorie Nützlich AppXPackages basiert auf Erfahrungswerten. Wird das cmdlet Get-AppxPackage ohne den Parameter -Packagetype gefolgt von den 5 Filtern angegeben, werden nur Packages der Kategorien Main und Framework angezeigt. Bei Fett markierten AppXPackages handelt es sich um Drittanbieter Anwendungen.
AppXPackages | Main | Bundle | Framework | Resource | System relevant | nützlich |
---|---|---|---|---|---|---|
1527c705-839a-4832-9118-54d4Bd6a0c89 | X | X | ||||
A278AB0D.DisneyMagicKingdoms | X | |||||
A278AB0D.MarchofEmpires | X | |||||
c5e2524a-ea46-4f67-841f-6a9465d9d515 | X | X | ||||
DolbyLaboratories.DolbyAccess | X | |||||
E2A4F912-2574-4A75-9BB0-0D023378592B | X | X | ||||
F46D4000-FD22-4DB4-AC8E-4E1DDDE828FE | X | X | ||||
InputApp | X | X | ||||
king.com.BubbleWitch3Saga | X | |||||
king.com.CandyCrushSodaSaga | X | |||||
Microsoft.AAD.BrokerPlugin | X | X | ||||
Microsoft.AccountsControl | X | X | ||||
Microsoft.Advertising.Xaml | X | |||||
Microsoft.Advertising.Xaml | X | X | ||||
Microsoft.BingNews | X | |||||
Microsoft.BingNews | X | |||||
Microsoft.BingNews | X | |||||
Microsoft.BingNews | X | |||||
Microsoft.BingWeather | X | |||||
Microsoft.BingWeather | X | |||||
Microsoft.BingWeather | X | |||||
Microsoft.BingWeather | X | |||||
Microsoft.BioEnrollment | X | X | ||||
Microsoft.CredDialogHost | X | X | ||||
Microsoft.DesktopAppInstaller | X | |||||
Microsoft.DesktopAppInstaller | X | |||||
Microsoft.DesktopAppInstaller | X | |||||
Microsoft.DesktopAppInstaller | X | |||||
Microsoft.ECApp | X | X | ||||
Microsoft.GetHelp | X | |||||
Microsoft.GetHelp | X | |||||
Microsoft.GetHelp | X | |||||
Microsoft.GetHelp | X | |||||
Microsoft.Getstarted | X | |||||
Microsoft.Getstarted | X | |||||
Microsoft.Getstarted | X | |||||
Microsoft.LockApp | X | X | ||||
Microsoft.Messaging | X | |||||
Microsoft.Messaging | X | |||||
Microsoft.Messaging | X | |||||
Microsoft.Messaging | X | |||||
Microsoft.Microsoft3DViewer | X | |||||
Microsoft.Microsoft3DViewer | X | |||||
Microsoft.MicrosoftEdge | X | X | ||||
Microsoft.MicrosoftOfficeHub | X | |||||
Microsoft.MicrosoftOfficeHub | X | |||||
Microsoft.MicrosoftOfficeHub | X | |||||
Microsoft.MicrosoftSolitaireCollection | X | |||||
Microsoft.MicrosoftSolitaireCollection | X | |||||
Microsoft.MicrosoftSolitaireCollection | X | |||||
Microsoft.MicrosoftSolitaireCollection | X | |||||
Microsoft.MicrosoftStickyNotes | X | |||||
Microsoft.MicrosoftStickyNotes | X | |||||
Microsoft.MicrosoftStickyNotes | X | |||||
Microsoft.MicrosoftStickyNotes | X | |||||
Microsoft.MSPaint | X | X | ||||
Microsoft.MSPaint | X | X | ||||
Microsoft.NET.Native.Framework.1.3 | X | X | ||||
Microsoft.NET.Native.Framework.1.3 | X | X | ||||
Microsoft.NET.Native.Framework.1.6 | X | X | ||||
Microsoft.NET.Native.Framework.1.6 | X | X | ||||
Microsoft.NET.Native.Framework.1.7 | X | |||||
Microsoft.NET.Native.Framework.1.7 | X | X | ||||
Microsoft.NET.Native.Runtime.1.3 | X | X | ||||
Microsoft.NET.Native.Runtime.1.3 | X | X | ||||
Microsoft.NET.Native.Runtime.1.4 | X | X | ||||
Microsoft.NET.Native.Runtime.1.4 | X | X | ||||
Microsoft.NET.Native.Runtime.1.6 | X | X | ||||
Microsoft.NET.Native.Runtime.1.6 | X | X | ||||
Microsoft.NET.Native.Runtime.1.7 | X | |||||
Microsoft.NET.Native.Runtime.1.7 | X | X | ||||
Microsoft.Office.OneNote | X | |||||
Microsoft.Office.OneNote | X | |||||
Microsoft.Office.OneNote | X | |||||
Microsoft.OneConnect | X | |||||
Microsoft.OneConnect | X | |||||
Microsoft.OneConnect | X | |||||
Microsoft.OneConnect | X | |||||
Microsoft.People | X | |||||
Microsoft.People | X | |||||
Microsoft.People | X | |||||
Microsoft.People | X | |||||
Microsoft.PPIProjection | X | X | ||||
Microsoft.Print3D | X | |||||
Microsoft.Print3D | X | |||||
Microsoft.Print3D | X | |||||
Microsoft.Services.Store.Engagement | X | |||||
Microsoft.Services.Store.Engagement | X | |||||
Microsoft.SkypeApp | X | |||||
Microsoft.SkypeApp | X | |||||
Microsoft.SkypeApp | X | |||||
Microsoft.SkypeApp | X | |||||
Microsoft.StorePurchaseApp | X | |||||
Microsoft.StorePurchaseApp | X | |||||
Microsoft.StorePurchaseApp | X | |||||
Microsoft.StorePurchaseApp | X | |||||
Microsoft.VCLibs.120.00 | X | |||||
Microsoft.VCLibs.120.00 | X | |||||
Microsoft.VCLibs.140.00.UWPDesktop | X | |||||
Microsoft.VCLibs.140.00.UWPDesktop | X | |||||
Microsoft.VCLibs.140.00 | X | |||||
Microsoft.VCLibs.140.00 | X | X | ||||
Microsoft.Wallet | X | |||||
Microsoft.Wallet | X | |||||
Microsoft.Windows.Apprep.ChxApp | X | X | ||||
Microsoft.Windows.AssignedAccessLockApp | X | X | ||||
Microsoft.Windows.CloudExperienceHost | X | X | ||||
Microsoft.Windows.ContentDeliveryManager | X | X | ||||
Microsoft.Windows.Cortana | X | X | ||||
Microsoft.Windows.HolographicFirstRun | X | X | ||||
Microsoft.Windows.OOBENetworkCaptivePortal | X | X | ||||
Microsoft.Windows.OOBENetworkConnectionFlow | X | X | ||||
Microsoft.Windows.ParentalControls | X | X | ||||
Microsoft.Windows.PeopleExperienceHost | X | X | ||||
Microsoft.Windows.Photos | X | |||||
Microsoft.Windows.Photos | X | |||||
Microsoft.Windows.Photos | X | |||||
Microsoft.Windows.Photos | X | |||||
Microsoft.Windows.PinningConfirmationDialog | X | X | ||||
Microsoft.Windows.SecHealthUI | X | X | ||||
Microsoft.Windows.SecondaryTileExperience | X | X | ||||
Microsoft.Windows.SecureAssessmentBrowser | X | X | ||||
Microsoft.Windows.ShellExperienceHost | X | X | ||||
Microsoft.WindowsAlarms | X | |||||
Microsoft.WindowsAlarms | X | |||||
Microsoft.WindowsAlarms | X | |||||
Microsoft.WindowsAlarms | X | |||||
Microsoft.WindowsCalculator | X | X | ||||
Microsoft.WindowsCalculator | X | X | ||||
Microsoft.WindowsCalculator | X | X | ||||
Microsoft.WindowsCalculator | X | X | ||||
Microsoft.WindowsCamera | X | X | ||||
Microsoft.WindowsCamera | X | X | ||||
Microsoft.WindowsCamera | X | X | ||||
microsoft.windowscommunicationsapps | X | |||||
microsoft.windowscommunicationsapps | X | |||||
microsoft.windowscommunicationsapps | X | |||||
Microsoft.WindowsFeedbackHub | X | |||||
Microsoft.WindowsFeedbackHub | X | |||||
Microsoft.WindowsFeedbackHub | X | |||||
Microsoft.WindowsFeedbackHub | X | |||||
Microsoft.WindowsMaps | X | |||||
Microsoft.WindowsMaps | X | |||||
Microsoft.WindowsMaps | X | |||||
Microsoft.WindowsMaps | X | |||||
Microsoft.WindowsSoundRecorder | X | |||||
Microsoft.WindowsSoundRecorder | X | |||||
Microsoft.WindowsSoundRecorder | X | |||||
Microsoft.WindowsStore | X | |||||
Microsoft.WindowsStore | X | |||||
Microsoft.WindowsStore | X | |||||
Microsoft.WindowsStore | X | |||||
Microsoft.Xbox.TCUI | X | |||||
Microsoft.Xbox.TCUI | X | |||||
Microsoft.Xbox.TCUI | X | |||||
Microsoft.XboxApp | X | |||||
Microsoft.XboxApp | X | |||||
Microsoft.XboxApp | X | |||||
Microsoft.XboxGameCallableUI | X | X | ||||
Microsoft.XboxGameOverlay | X | |||||
Microsoft.XboxGameOverlay | X | |||||
Microsoft.XboxGameOverlay | X | |||||
Microsoft.XboxIdentityProvider | X | |||||
Microsoft.XboxIdentityProvider | X | |||||
Microsoft.XboxSpeechToTextOverlay | X | |||||
Microsoft.XboxSpeechToTextOverlay | X | |||||
Microsoft.XboxSpeechToTextOverlay | X | |||||
Microsoft.ZuneMusic | X | |||||
Microsoft.ZuneMusic | X | |||||
Microsoft.ZuneMusic | X | |||||
Microsoft.ZuneMusic | X | |||||
Microsoft.ZuneVideo | X | |||||
Microsoft.ZuneVideo | X | |||||
Microsoft.ZuneVideo | X | |||||
Microsoft.ZuneVideo | X | |||||
SpotifyAB.SpotifyMusic | X | |||||
windows.immersivecontrolpanel | X | X | ||||
Windows.PrintDialog | X | X | ||||
XINGAG.XING | X | |||||
XINGAG.XING | X | |||||
XINGAG.XING | X | |||||
XINGAG.XING | X |
In diesem Build befinden sich 31 Packages die System relevant sind und nicht ohne weitere Mittel vom System entfernt werden können. Es gibt 86 AppXPackages vom Typ Bundle oder Resource die auf diesem Build ohne eine Beeinflussung der grundsätzlichen Funktionen des Systems nach belieben entfernt werden können. Möchte man einige Packete die man nicht als nützlich ansieht von seinem System entfernen kann das obere Script ergänzt werden.
$System = [System.Environment]::OSVersion.Version $AllPackages = Get-AppxPackage -PackageTypeFilter Bundle,Resource,Main,Framework,None | Sort-Object $CountAll = 0 $CountRemoved = 0 $countSystem = 0 $DontRemove = 'Microsoft.WindowsCalculator','Microsoft.MSPaint' foreach($Package in $AllPackages) { if($DontRemove -notcontains $Package.Name) { Get-AppxPackage $Package.Name | Remove-AppxPackage -ErrorAction SilentlyContinue if($error) { $error.Clear() $CountSystem++ } $CountRemoved++ } $CountAll++ } Write-host "Count $CountAll Packages on Windows Major $($system.major) Build $($System.Build). " Write-host "Can't remove $($CountSystem - $($CountAll - $CountRemoved)) required System AppXPackages. " Write-host "$($CountAll - $CountRemoved) Packages are protected by `$DontRemove."
Dieses Script entfernt keine System relevanten AppXPackages, über die Variable $DontRemove können Packages angegeben werden die nicht vom System gelöscht werden sollen. Abschließend erfolgt eine kleine Auswertung. Während der Laufzeit des Scriptes können bereits auftretende Side Effects beobachtet werden, da durch das entfernen der Packages das Aussehen der Taskleiste verändert wird. Dies deutet darauf hin das es Abhängigkeiten zwischen AppXPackages gibt und den Symbolen in der Taskleiste. Es ist nicht verwunderlich da das Konzept der AppXPackages unter anderem darauf abzielt, dem User Apps zur Verfügung zu stellen.
AppXPackages unter Windows Server 2016
Die Liste der AppXPackages eines Windows Server 2016 Build 14393 ist deutlich kürzer sie umfasst 14 Packages:
AppXPackages | Main | Bundle | Framework | Resource |
---|---|---|---|---|
Microsoft.AAD.BrokerPlugin | X | |||
Microsoft.AccountsControl | X | |||
Microsoft.BioEnrollment | X | |||
Microsoft.LockApp | X | |||
Microsoft.Windows.Apprep.ChxApp | X | |||
Microsoft.Windows.AssignedAccessLockApp | X | |||
Microsoft.Windows.CloudExperienceHost | X | |||
Microsoft.Windows.Cortana | X | |||
Microsoft.Windows.SecondaryTileExperience | X | |||
Microsoft.Windows.ShellExperienceHost | X | |||
Microsoft.XboxGameCallableUI | X | |||
windows.immersivecontrolpanel | X | |||
Windows.MiracastView | X | |||
Windows.PrintDialog | X |