get rid of default apps: confusing situation

Discussion in 'Windows 10' started by fsound, Aug 14, 2021.

  1. fsound

    fsound MDL Novice

    Apr 3, 2015
    34
    19
    0
  2. kaljukass

    kaljukass MDL Guru

    Nov 26, 2012
    3,396
    1,322
    120
    Don't understand what your problem is. After all, you can easily remove (uninstall) most of these apps if you don't like them.
    If there is no such a topic in the forum, then you are free to start and develop it yourself. What's the question?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. fsound

    fsound MDL Novice

    Apr 3, 2015
    34
    19
    0
    My problem is: There are many scripts, which do equal stuff. Some are outdated, some have been recently updated. It's just that I lost track about them and hoped, someone could say: "Hey, use this one, this is pretty nice".

    Actually, manual uninstall doesn't work for many, e.g. the XBOX-stuff. And even when you uninstall them manually, they'll pop up after the next major Windows update.
     
  4. Pl request @wilenty or @drew84 or @AeonX . These Experts have the exact solution for your query.
    or simply
    Try Autosettingsps by westlife latest version 0.4.3
     
  5. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,351
    2,308
    60
    #5 drew84, Aug 14, 2021
    Last edited: Aug 14, 2021
    @fsound here at MDL and currently maintained with Win11 support
    Online - Sophia Script, Offline - Optimize-Offline

    The latter thread (in particular) has exhaustive information on what is or is not safe to remove...
    but ultimately it is down to user knowledge and personal preference as to what is actually removed
    - what works for one does not necessarily translate as wiill work for another -

    From the O-O thread (a starting point) @spanishfly's Resource Post
     
  6. fsound

    fsound MDL Novice

    Apr 3, 2015
    34
    19
    0
    Seems to be Russian only. I'm not even able to find a download link on all those Russian boards :D
     
  7. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,351
    2,308
    60
    seriously geeser... I've pointed you to reliable sources, and you have deceided to go off tangent, good luck... good bye...
     
  8. AeonX

    AeonX MDL Addicted

    May 24, 2013
    793
    719
    30
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. fsound

    fsound MDL Novice

    Apr 3, 2015
    34
    19
    0
    Yeah, I'm testing this already. I don't need 90% of its functions, so I'm gonna slim it down for my use case.
     
  10. case-sensitive

    case-sensitive MDL Expert

    Nov 7, 2013
    1,681
    729
    60
    #14 case-sensitive, Aug 15, 2021
    Last edited: Aug 15, 2021
    >Windows10Debloater.ps1

    Thats the one i was talking about thats 45 kbs . Its bloated .

    Here are two smaller ones . I have no idea if they are good / bad / tampered with ......... but neither seems to me to do any damage to my system . I'm sorry i dont know how to do code tags .

    1 ---- > Debloat Windows.ps1

    $AppXApps = @(

    #Unnecessary Windows 10 AppX Apps
    "*Microsoft.BingNews*"
    "*Microsoft.GetHelp*"
    "*Microsoft.Getstarted*"
    "*Microsoft.Messaging*"
    "*Microsoft.Microsoft3DViewer*"
    "*Microsoft.MicrosoftOfficeHub*"
    "*Microsoft.MicrosoftSolitaireCollection*"
    "*Microsoft.NetworkSpeedTest*"
    "*Microsoft.Office.Sway*"
    "*Microsoft.OneConnect*"
    "*Microsoft.People*"
    "*Microsoft.Print3D*"
    "*Microsoft.SkypeApp*"
    "*Microsoft.WindowsAlarms*"
    "*Microsoft.WindowsCamera*"
    "*microsoft.windowscommunicationsapps*"
    "*Microsoft.WindowsFeedbackHub*"
    "*Microsoft.WindowsMaps*"
    "*Microsoft.WindowsSoundRecorder*"
    "*Microsoft.Xbox.TCUI*"
    "*Microsoft.XboxApp*"
    "*Microsoft.XboxGameOverlay*"
    "*Microsoft.XboxIdentityProvider*"
    "*Microsoft.XboxSpeechToTextOverlay*"
    "*Microsoft.ZuneMusic*"
    "*Microsoft.ZuneVideo*"

    #Sponsored Windows 10 AppX Apps
    #Add sponsored/featured apps to remove in the "*AppName*" format
    "*EclipseManager*"
    "*ActiproSoftwareLLC*"
    "*AdobeSystemsIncorporated.AdobePhotoshopExpress*"
    "*Duolingo-LearnLanguagesforFree*"
    "*PandoraMediaInc*"
    "*CandyCrush*"
    "*Wunderlist*"
    "*Flipboard*"
    "*Twitter*"
    "*Facebook*"
    "*Spotify*"

    #Optional: Typically not removed but you can if you need to for some reason
    "*Microsoft.Advertising.Xaml_10.1712.5.0_x64__8wekyb3d8bbwe*"
    "*Microsoft.Advertising.Xaml_10.1712.5.0_x86__8wekyb3d8bbwe*"
    "*Microsoft.BingWeather*"
    "*Microsoft.MSPaint*"
    "*Microsoft.MicrosoftStickyNotes*"
    "*Microsoft.Windows.Photos*"
    #"*Microsoft.WindowsCalculator*"
    "*Microsoft.WindowsStore*"
    )
    foreach ($App in $AppXApps) {
    Write-Verbose -Message ('Removing Package {0}' -f $App)
    Get-AppxPackage -Name $App | Remove-AppxPackage -ErrorAction SilentlyContinue
    Get-AppxPackage -Name $App -AllUsers | Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue
    Get-AppxProvisionedPackage -Online | Where-Object DisplayName -like $App | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue
    }

    #Removes AppxPackages
    #Credit to /u/GavinEke for a modified version of my whitelist code
    [regex]$WhitelistedApps = 'Microsoft.Paint3D|Microsoft.WindowsCalculator|Microsoft.WindowsStore|Microsoft.Windows.Photos|CanonicalGroupLimited.UbuntuonWindows|Microsoft.XboxGameCallableUI|Microsoft.XboxGamingOverlay|Microsoft.Xbox.TCUI|Microsoft.XboxGamingOverlay|Microsoft.XboxIdentityProvider|Microsoft.MicrosoftStickyNotes|Microsoft.MSPaint*'
    Get-AppxPackage -AllUsers | Where-Object {$_.Name -NotMatch $WhitelistedApps} | Remove-AppxPackage
    Get-AppxPackage | Where-Object {$_.Name -NotMatch $WhitelistedApps} | Remove-AppxPackage
    Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -NotMatch $WhitelistedApps} | Remove-AppxProvisionedPackage -Online


    2 ---- > Force Appx Uninstall.ps1

    @(echo off% <#%) & title FORCE APPX UNINSTALL, AveYo 2020-12-05 &set script = Can be pasted directly into PowerShell
    set "0=%~f0"&set 1=%*&powershell -win 0 -nop -c iex ([io.file]::ReadAllText($env:0)) &exit/b ||#>)[1]; function prompt {}

    $YOU_MUST_FIRST_CUSTOMIZE_THE_FOLLOWING_SAMPLE_ENTRIES_TO_YOUR_NEEDS = '^_^' ; sp 'HKCU:\Volatile Environment' 'bloat' @'

    $bloat = @(
    "c5e2524a-ea46-4f67-841f-6a9465d9d515", "1527c705-839a-4832-9118-54d4Bd6a0c89", "E2A4F912-2574-4A75-9BB0-0D023378592B",
    "F46D4000-FD22-4DB4-AC8E-4E1DDDE828FE", "AADBrokerPlugin", "BioEnrollment", "ECApp", "LockApp", "MicrosoftEdge",
    "Win32WebViewHost", "AppRep.ChxApp", "AssignedAccessLockApp", "CallingShellApp", "CapturePicker", "ContentDeliveryManager",
    "NarratorQuickStart", "ParentalControls", "PeopleExperienceHost", "NcsiUwpApp", "XboxGameCallableUI", "XgpuEjectDialog",
    "CbsPreview"
    )

    $rights = whoami /groups; $env:__COMPAT_LAYER = 'Installer'

    ## run main code only if ti/system
    if ($rights -like '*1-16-16384*') {
    $D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn
    'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))}
    ## main
    $provisioned = get-appxprovisionedpackage -online; $appxpackage = get-appxpackage -allusers
    $store = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore'
    $users = @('S-1-5-18'); if (test-path $store) {$users += $((dir $store |where {$_ -like '*S-1-5-21*'}).PSChildName)}
    foreach ($name in $bloat) {
    write-host "*$name*"; if ('' -eq $name) {continue}
    foreach ($appx in $($provisioned |where {$_.PackageName -like "*$name*"})) {
    $family = $appxpackage |where {$_.Name -eq $appx.DisplayName}
    write-host -fore Blue $($family.PackageFamilyName)
    ## forced deprovision
    ni "$store\Deprovisioned\$($family.PackageFamilyName)" -force -ea 0 >$null
    ## default deprovision
    dism /online /remove-provisionedappxpackage /packagename:$($appx.PackageName) 2>&1 >$null
    #powershell -nop -c remove-appxprovisionedpackage -packagename "'$($appx.PackageName)'" -online 2>&1 >$null
    }
    foreach ($appx in $($appxpackage |where {$_.PackageFullName -like "*$name*"})) {
    write-host -fore Cyan $($appx.InstallLocation)
    ## remove from inbox
    $inbox = (gp "$store\InboxApplications\*$($appx.Name)*" Path).PSChildName
    foreach ($app in $inbox) {ri "$store\InboxApplications\$app" -recurse -force -ea 0}
    ## forced deprovision
    ni "$store\Deprovisioned\$($appx.PackageFamilyName)" -force -ea 0 >$null
    ## forced unlock - usually works
    foreach ($sid in $users) {ni "$store\EndOfLife\$sid\$($appx.PackageFullName)" -force -ea 0 >$null}
    ## default unlock - usually fails
    dism /online /set-nonremovableapppolicy /packagefamily:$($appx.PackageFamilyName) /nonremovable:0 2>&1 >$null
    ## uninstall silently
    powershell -nop -c remove-appxpackage -package "'$($appx.PackageFullName)'" -AllUsers 2>&1 >$null
    ## optional cleanup experiment - not needed
    #ri "$store\Config\$($appx.PackageFamilyName)" -recurse -force -ea 0
    #foreach ($sid in $users) {
    # ri "$store\EndOfLife\$sid\$($appx.PackageFullName)" -recurse -force -ea 0
    # ri "$store\Deleted\EndOfLife\$sid\$($appx.PackageFullName)" -recurse -force -ea 0
    #}
    #$inbox = (gp "$store\InboxApplications\*$($appx.Name)*" Path).PSChildName
    #foreach ($app in $inbox) {foreach ($sid in $users) {ri "$store\$sid\$app" -recurse -force -ea 0}}
    ## optional delete from disk experiment - not needed, would break restoring from AppxManifest.xml
    #ri "'$($appx.InstallLocation)'" -recurse -force -ea 0
    }
    }
    }

    ## admin-user elevated: run $cmd as ti/system via runasti lean and mean snippet by AveYo [$window hide:0x0E080600 show:0x0E080610]
    $cmd = 'powershell -win 0 -nop -noe -c & {iex((gp Registry::HKEY_Users\S-1-5-21*\Volatile* bloat -ea 0)[0].bloat)}'
    if ($rights -like '*1-16-12288*') {
    $A=[AppDomain]::CurrentDomain."Def`ineDynamicAssembly"(1,1)."Def`ineDynamicModule"(1);$D=@();0..5|%{$D+=$A."Def`ineType"('A'+$_,
    1179913,[ValueType])} ;4,5|%{$D+=$D[$_]."Mak`eByRefType"()} ;$I=[Int32];$J="Int`Ptr";$P=$I.module.GetType("System.$J"); $F=@(0)
    $F+=($P,$I,$P),($I,$I,$I,$I,$P,$D[1]),($I,$P,$P,$P,$I,$I,$I,$I,$I,$I,$I,$I,[Int16],[Int16],$P,$P,$P,$P),($D[3],$P),($P,$P,$I,$I)
    $S=[String]; $9=$D[0]."Def`inePInvokeMethod"('CreateProcess',"kernel`32",8214,1,$I,@($S,$S,$I,$I,$I,$I,$I,$S,$D[6],$D[7]),1,4)
    1..5|%{$k=$_;$n=1;$F[$_]|%{$9=$D[$k]."Def`ineField"('f'+$n++,$_,6)}};$T=@();0..5|%{$T+=$D[$_]."Cr`eateType"();$Z=[uintptr]::size
    nv ('T'+$_)([Activator]::CreateInstance($T[$_]))}; $H=$I.module.GetType("System.Runtime.Interop`Services.Mar`shal");
    $WP=$H."Get`Method"("Write$J",[type[]]($J,$J)); $HG=$H."Get`Method"("AllocH`Global",[type[]]'int32'); $v=$HG.invoke($null,$Z)
    'TrustedInstaller','lsass'|%{if(!$pn){net1 start $_ 2>&1 >$null;$pn=[Diagnostics.Process]::GetProcessesByName($_)[0];}}
    $WP.invoke($null,@($v,$pn.Handle)); $SZ=$H."Get`Method"("SizeOf",[type[]]'type'); $T1.f1=131072; $T1.f2=$Z; $T1.f3=$v; $T2.f1=1
    $T2.f2=1;$T2.f3=1;$T2.f4=1;$T2.f6=$T1;$T3.f1=$SZ.invoke($null,$T[4]);$T4.f1=$T3;$T4.f2=$HG.invoke($null,$SZ.invoke($null,$T[2]))
    $H."Get`Method"("StructureTo`Ptr",[type[]]($D[2],$J,'boolean')).invoke($null,@(($T2-as $D[2]),$T4.f2,$false));$window=0x0E080610
    $9=$T[0]."Get`Method"('CreateProcess').Invoke($null,@($null,$cmd,0,0,0,$window,0,$null,($T4-as $D[4]),($T5-as $D[5]))); break
    }

    ## ask to run script as admin
    '@ -force -ea 0; $script = '-win 1 -nop -c & {iex((gp Registry::HKEY_Users\S-1-5-21*\Volatile* bloat -ea 0)[0].bloat)}'
    start powershell -win 1 -args $script -verb runas

    $PRESS_ENTER_TO_FORCE_APPX_UNINSTALL_ONLY_IF_YOU_CUSTOMIZED_THE_SAMPLE_ENTRIES_TO_YOUR_NEEDS = '^_^'


    < ---- Neither is 436 mbs and neither are bloated with kiddy crap .

    Another choice is to use Dism++ 10.1.1001.10
     
  11. case-sensitive

    case-sensitive MDL Expert

    Nov 7, 2013
    1,681
    729
    60
    AND .......... a general rule of thumb is ......... ' Its better to f**k up after instalation than before instalation ' = If you want to tamper with your system do it after youve installed it and got it running as you want and then copy it and then experiment ............. and not spend a large part of your life wondering what you f**ked up because it wont go in / goes in ' sidways ' / makes problems .
     
  12. wilenty

    wilenty MDL Senior Member

    Jan 15, 2014
    270
    494
    10
    From 2013 you don't know how to use code tags on forum, but you know how to report my post in another topic to delete it. I am impressed that you can wrote messages on forums without knowing basic tags for about eight years.

    Maybe finally you will look at the controls on the top of the window where you write the messages - all the needed things are there (look at the "Insert..." in this case, please).
     
  13. case-sensitive

    case-sensitive MDL Expert

    Nov 7, 2013
    1,681
    729
    60
    >but you know how to report my post in another topic to delete it

    Paranoid lier . I have never reported any post or any person .
     
  14. wilenty

    wilenty MDL Senior Member

    Jan 15, 2014
    270
    494
    10
    If it was not you, then sorry.
     
  15. case-sensitive

    case-sensitive MDL Expert

    Nov 7, 2013
    1,681
    729
    60