Jump to content

"An app default was reset. An app caused a problem with the default setting for xxx"


Recommended Posts

Posted

Windows 10 1607 enterprise; I have only just started testing windows 10. I have the image mostly working now except this (which has me stumped). When a user logs in for the first time on a PC the following error appears: "An app default was reset. An app caused a problem with the default app setting for xxxx so it was reset to yyyyy". Most commonly .pdf, .htm, .html to edge (I have removed a lot - almost all - of provisioned apps). I don't want edge playing with pdfs or htms or any of my other defaults being played with. worst still, the default app page pops up (I don't want users messing as they will only screw their profiles up, or some enterprising student will set everything to open with notepad etc). I saw this Fix for "An App Default was Reset" Windows 10 Resetting File Associations (Registry Fixes) and its registry settings (as both a preference and a login script) but they didn't work - the user still gets pestered.

 

Does anyone know of a GPO that basically says "Do not let default apps check for default" or "leave default app settings alone"?

 

Thanks

Posted

I have tried setting a GPO in Administrative Templates\Windows Components\File Explorer\Set a default associations configuration file

 

using an xml from Dism /Online /Export-DefaultAppAssociations:xxxxx.xml

 

This works but only on the SECOND login for a new users. If a profile doesn't exist for a user then I get the "error message" (it isn't a real "error" I know) and the defaults are not set for that session. If the user logs out and back in again then the GPO works just fine, the defaults are set according to my XML preferences and no "error message".

 

It does seem that it is just the first login (domain, roaming profile, no .V6 profile as first windows 10 login).

Posted

Solved. It isn't enough to just use the GPO. As well as the GPO on each PC the dism /online /Import-DefaultAppAssociations must be run. This sets the defaultappassociations for the defaultuser on the PC. since the user was fresh and had no profile, the defaults were copied from the machine. These defaults conflicted with what applications were set. On the second login the GPO was applied to the profile proper.

 

I suspect this is tied to the current issue with 1607 and temporary/cached profiles not working as expected (whether a profile is fresh or not, the GPOs SHOULD apply but in this case are clearly not - you can go into the app defaults as see that the GPO settings had not taken effect!)

 

In anycase I have solved it for my own purposes.

  • Thanks 1
Posted (edited)
try what I did. On the PC that is causing the issue (or at least one of them) run dism /online /Import-DefaultAppAssociations with the same XML file you use for the GPO. It has cured it on all my PCs so far (I created a one shot script that ran on startup). It is due to the defaultuser default settings on the machine conflicting with the freshly created profile. Once you update the defaultuser settings then the issue goes away. My fear is that if I install new software I will need to rerun the script on machines again (if the software changes core file associations.) Edited by KK20
Posted
I assumed that when you install a new piece of software you would have to run the file association depending on what kind of account you want to apply it to
Posted
Hi, any chance you could send me the script you are running once at startup? Just updated our school to win10 and seeing this issue on all our machines during the first login. Microsoft really need to get their act together. Thanks
Posted (edited)

Sure. It is very simplistic - I have a few "one run scripts" for various pieces of odd software; I have a simple flag system in the program files dir that keeps track of what I need. Simply increment the file number when you need to deploy a new .xml (I don't delete so I have a record but feel free to have a del if you wish). This is run as a computer start script, name it what you want, mine happens to be called FileAssoc_W10.batand has wmi filtering set to W10 only (we have no 8 or 8.1 machines)

 

@echo off

REM **** check for our script flags folder, if it isnt there then create it ****

if not exist "%PROGRAMFILES%\scriptflags" mkdir "%PROGRAMFILES%\scriptflags"

if exist "%PROGRAMFILES%\scriptflags\SAFA_V001.dat" goto ENDOF

REM **** no flag so run our DISM ****

Dism /online /Import-DefaultAppAssociations:\\NETWORK_PATH_TO_YOUR_GPO_XML\fileassociations.xml

echo "\\NETWORK_PATH_TO_YOUR_GPO_XML\fileassociations.xml" > "%PROGRAMFILES%\scriptflags\SAFA_V001.dat"

:ENDOF

REM **** on with the show! ****

Edited by KK20
  • Thanks 2
Posted
Jeeex the simplest things are taking me ages. I cant get this to work, even running it manually from the powershell. It says its completed but Edge is still the defualt for PDFs
Posted (edited)

do you have the group policy too? This script will only sort the default user out. You will also need a group policy using the same XML. The GPO lives in Administrative Templates\Windows Components\File Explorer\Set a default associations configuration file

 

You cannot manually edit the XML file as there is a checksum on the entries I think. You need to Dism /Online /Export-DefaultAppAssociations each time you make a change. Obviously, on the machine that you export make sure the file associations have been set up correctly! You can view the contents of the XML to see if they are what you think they are (as a final check)

Edited by KK20
Posted

I do, I am tearing what little hair I have left out trying to get the GP sorted for W10.

 

Silly things I am trying to fix

 

When I run a cmd prompt as a admin the drive maps dont work, even though they are mapped as me who is a admin. I pretty much have to either use a UNC path or map the drive when I go into a cmd prompt.

Users can save to c:\users\%username% including exe files... never had this before.

Office staff are getting redirected desktops... even though they shouldnt

Cant pin anything to start menu, even though a policy isnt live

 

Really tempted to go back to W7

Posted

Each time you make a change to your default apps within a machine you will always have to change it each time. You can open your xml and see what default application are set to each one.

 

KK20 has got the correct way of doing this as it has worked for me. Have you set your uses to become a administrator of the local computer when you login with a domain account that should hopefully fix your problem by pinning stuff to your startmenu layout

  • 1 month later...
Posted (edited)
I have tried setting a GPO in Administrative Templates\Windows Components\File Explorer\Set a default associations configuration file

 

using an xml from Dism /Online /Export-DefaultAppAssociations:xxxxx.xml

 

 

 

Correct me if I am wrong, but this is a policy, not a preference, so this would render your users unable to set their own file associations if they wanted?

I'm asking because I'm trying to resolve this issue in our computer labs, where we don't mind if the users are unable to change anything. However, we plan to roll out Win 10 to our faculty/staff computers, where we are less restrictive, so this might not work for us in that scenario.

Edited by jmig
Posted (edited)
Correct me if I am wrong, but this is a policy, not a preference, so this would render your users unable to set their own file associations if they wanted?

 

nope. Look at the bottom of the GPO:

 

If the policy is enabled, disabled, or not configured, users will still be able to override default file type and protocol associations.

 

I have yet to find a more modern method to sort this out (logon/bootup scripts belong back on NT4.0 and shouldn't really be necessary in an AD environment although it is hilarious how many times I need to use a script when the GPO doesn't work as intended. For example, THIS GPO should fix this "second logon behaviour" but doesn't work:

 

Administrative Templates\Windows Components\File Explorer\do not reinitialise a pre-existing roamed profile user when it is loaded on a machine for the first time

 

why? If you read the text:

 

This policy setting allows administrators who have configured roaming profile in conjunction with Delete Cached Roaming Profile Group Policy setting to ensure that Explorer will not reinitialize default program associations and other settings to default values.

 

If you enable this policy setting on a machine that does not contain all programs installed in the same manner as it was on the machine on which the user had last logged on, unexpected behavior could occur.

 

you will see that you need to use delete cached roaming profiles, which is broken in 1607. Yey. And even if it worked, I suspect that the profile will be reset when an update is applied that adds new default apps (such as candy crush saga, or other stupid MS home oriented shovelware):

 

A second issue presents itself (and I suspected it might) that updates bring more default applications along. They can also reset the current state of default applications (naughty windows 10!). It should be noted that I do use WSUS for W10 updates and we are running client branch enterprise not LTSB enterprise. In any case, here is ANOTHER powershell script for those who want to remove default applications - the default applications need to be removed from the PC *and* the default user context. This is the current powershell script I use (well part of it), no doubt there are more apps being added to this each patch - feel free to use/critique/comment as appropriate:

 

# *********** ONWARDS! *************

 

#uninstall the USER context

 

get-appxpackage *BingFinance* | Remove-AppxPackage

get-appxpackage *BingNews* | Remove-AppxPackage

get-appxpackage *BingSports* | Remove-AppxPackage

get-appxpackage *BingWeather* | Remove-AppxPackage

get-appxpackage *Binghealth* | Remove-AppxPackage

get-appxpackage *Bingfood* | Remove-AppxPackage

get-appxpackage *Bingtravel* | Remove-AppxPackage

get-appxpackage *CommsPhone* | Remove-AppxPackage

get-appxpackage *CandyCrushSaga* | Remove-AppxPackage

get-appxpackage *ConnectivityStore* | Remove-AppxPackage

get-appxpackage *Getstarted* | Remove-AppxPackage

get-appxpackage *Messaging* | Remove-AppxPackage

get-appxpackage *MicrosoftOfficeHub* | Remove-AppxPackage

get-appxpackage *MicrosoftSolitaireCollection* | Remove-AppxPackage

get-appxpackage *OneNote* | Remove-AppxPackage

get-appxpackage *Sway* | Remove-AppxPackage

get-appxpackage *People* | Remove-AppxPackage

get-appxpackage *Reader* | Remove-AppxPackage

get-appxpackage *Readinglist* | Remove-AppxPackage

get-appxpackage *SkypeApp* | Remove-AppxPackage

get-appxpackage *Twitter* | Remove-AppxPackage

get-appxpackage *WindowsAlarms* | Remove-AppxPackage

get-appxpackage *WindowsCamera* | Remove-AppxPackage

get-appxpackage *windowscommunicationsapps* | Remove-AppxPackage

get-appxpackage *WindowsPhone* | Remove-AppxPackage

#get-appxpackage *WindowsStore* | Remove-AppxPackage

get-appxpackage *XboxApp* | Remove-AppxPackage

get-appxpackage *ZuneMusic* | Remove-AppxPackage

get-appxpackage *ZuneVideo* | Remove-AppxPackage

get-appxpackage *Zune* | Remove-AppxPackage

get-appxpackage *xbox* | Remove-AppxPackage

get-appxpackage *money* | Remove-AppxPackage

get-appxpackage *contact support* | Remove-AppxPackage

get-appxpackage *contactsupport* | Remove-AppxPackage

get-appxpackage *Line* | Remove-AppxPackage

get-appxpackage *Netflix* | Remove-AppxPackage

get-appxpackage *WindowsFeedbackHub* | Remove-AppxPackage

 

#now unintall the PROVISIONSED context

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*BingFinance*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*BingNews*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*BingSports*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*BingWeather*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Binghealth*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Bingfood*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Bingtravel*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*CommsPhone*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*CandyCrushSaga*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*ConnectivityStore*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Getstarted*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Messaging*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*MicrosoftOfficeHub*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*MicrosoftSolitaireCollection*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*OneNote*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Sway*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*People*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Reader*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Readinglist*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*SkypeApp*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Twitter*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*WindowsAlarms*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*WindowsCamera*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*windowscommunicationsapps*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*WindowsPhone*"} | Remove-AppxProvisionedPackage -online

#Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*WindowsStore*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*XboxApp*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*ZuneMusic*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*ZuneVideo*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Zune*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*xbox*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*money*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*contact support*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*contactsupport*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Line*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*Netflix*"} | Remove-AppxProvisionedPackage -online

Get-AppXProvisionedPackage -online | WHere-Object {$_.packagename -like "*WindowsFeedbackHub*"} | Remove-AppxProvisionedPackage -online

 

#these arent used ATM

#$Applist | WHere-Object {$_.packagename -like "*3DBuilder*"} | Remove-AppxProvisionedPackage -online

#$Applist | WHere-Object {$_.packagename -like "*Appconnector*"} | Remove-AppxProvisionedPackage -online

#$Applist | WHere-Object {$_.packagename -like "*WindowsMaps*"} | Remove-AppxProvisionedPackage -online

#$Applist | WHere-Object {$_.packagename -like "*WindowsSoundRecorder*"} | Remove-AppxProvisionedPackage -online

 

Again, I have found no way in GPO to do this - I shouldn't NEED to uninstall these from a machine each patch, I should be able to suppress them as necessary but hey ho. As for speed, this script takes 30 seconds to complete on a freshly imaged machine with ALL the default apps installed (2g ram core2duos with Kingston v300 SSDs - fairly bottom end machines) after that the script takes about 2 seconds to run so I leave it enabled and add more default apps as I am aware of them.

Edited by KK20
Posted
nope. Look at the bottom of the GPO:

If the policy is enabled, disabled, or not configured, users will still be able to override default file type and protocol associations.

 

I probably should have read the GPO description before posting. ;)

 

 

This is the current powershell script I use (well part of it), no doubt there are more apps being added to this each patch - feel free to use/critique/comment as appropriate:

 

I believe, but again, correct me if I am wrong, that Windows Feedback Hub and Contact Support cannot be uninstalled by this method?

Posted (edited)

easily missed as you have to scroll down (at least when RDPing I did)

 

I cant see "windows feedback" or "contact support" in either start menu or cortana search so I believe I have removed them. Could be wrong myself.

Edited by KK20
Posted
Solved. It isn't enough to just use the GPO. As well as the GPO on each PC the dism /online /Import-DefaultAppAssociations must be run. This sets the defaultappassociations for the defaultuser on the PC. since the user was fresh and had no profile, the defaults were copied from the machine. These defaults conflicted with what applications were set.

 

Looks like this is a command I'll be adding to MDT :p

Posted
We used to get the "An app default was reset. An app caused a problem with the default setting for xxx"message. We've got a DefaultAppAssociations.xml file in a GPO which sorted it and works fine. For pdf's and images, etc.
Posted
We used to get the "An app default was reset. An app caused a problem with the default setting for xxx"message.We've got a DefaultAppAssociations.xml file in a GPO which sorted it and works fine. For pdf's and images, etc.

 

This is what I currently have in place, but it's really not robust when different pupils log onto different laptops. Often getting Edge opening PDF's and then causing a spooler somewhere in the nether to get stuck haha

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...