- Remote help for Intune and Microsoft Endpoint Manager - Tue, Jan 25 2022
- Windows 10/11 Azure AD/Intune Enterprise subscription is not valid - Mon, Nov 8 2021
- Upgrade from Windows 10 to Windows 11 with Setupconfig.ini and Intune - Wed, Sep 22 2021
In Windows 10, we can no longer use Group Policy Preferences to control file associations, because these settings are now user-based, instead of system-based as they were in Windows 7. To deploy the default file associations, you first have to configure the settings on a reference machine and then export the configuration in an XML file that you can deploy in your network.
Exporting default file associations
When Adobe Reader DC starts for the first time, the program prompts you to set it as the default program for PDF files. You also can configure the settings in the Control Panel under Programs > Default Programs > Set Default Program. There you have to select Adobe Reader and "set this program as default."
You can verify that .pdf is associated with Adobe Reader DC in the Control Panel under Programs > Default Programs > Set Association. Note that you can sort the list by the Current Default column.
Once you do that, you have to open a command prompt with the user account from above and use the DISM tool to export the current settings to an .XML file, as shown below.
Dism.exe /online /Export-DefaultAppAssociations:C:\Temp\DefaultApps.xml
Now you have a .XML file with all the file associations from that user. People often ask me if it is possible to deploy just one file association or if they must use the entire file, which also contains all the default settings. The answer is, yes, you can import just the association you need.
In my example below, I removed everything that is not associated with Adobe Reader DC, so we end up with the following XML file:
<?xml version="1.0" encoding="UTF-8"?> <DefaultAssociations> <Association Identifier=".acrobatsecuritysettings" ProgId="AcroExch.acrobatsecuritysettings" ApplicationName="Adobe Acrobat Reader DC" /> <Association Identifier=".fdf" ProgId="AcroExch.FDFDoc" ApplicationName="Adobe Acrobat Reader DC" /> <Association Identifier=".pdf" ProgId="AcroExch.Document.DC" ApplicationName="Adobe Acrobat Reader DC" /> <Association Identifier=".pdfxml" ProgId="AcroExch.pdfxml" ApplicationName="Adobe Acrobat Reader DC" /> <Association Identifier=".pdx" ProgId="PDXFileType" ApplicationName="Adobe Acrobat Reader DC" /> <Association Identifier=".xdp" ProgId="AcroExch.XDPDoc" ApplicationName="Adobe Acrobat Reader DC" /> <Association Identifier=".xfdf" ProgId="AcroExch.XFDFDoc" ApplicationName="Adobe Acrobat Reader DC" /> <Association Identifier="acrobat" ProgId="acrobat" ApplicationName="Adobe Acrobat Reader DC" /> </DefaultAssociations>
Now you can deploy the default file associations with one of the following methods.
Deploying default file associations with SCCM
You can import the default file associations during OS deployment in Configuration Manager using a Run Command Line step in the Task Sequence, either using DISM /Online when the OS is installed or with DISM /Offline when the Windows image is applied and the computer has not yet started the newly installed OS. I usually work with the /Online method.
First, create a package in Configuration Manager that contains the defaultapps.xml file and then create a .cmd file in that directory with the following content:
@ECHO OFF dism.exe /online /Import-DefaultAppAssociations:"%~dp0defaultapps.xml"
We then add this file to our OS deployment Task Sequence after installing and restarting Windows.
Deploying default file associations using Group Policy
You can also deploy the default file associations using Group Policy: Computer Configuration > Administrative Templates > Windows Components > File Explorer. The documentation on Technet states that the user can change the settings afterward, but that is only partially true. You can configure the Group Policy as shown below to deploy the default file associations:
I used a file share in the example above. Make sure that domain computers can read both from the share and from NTFS. You could also copy the .XML file to the machines and apply it from there.
If the file is updated with a new file association, the client will check the content every time someone applies Group Policies. Thus, there is no need to do anything more than update the XML file with new file associations, and they also apply to the clients.
The user can change the file associations after logon, because the corresponding UI is not locked down. However, the next time the user logs on, the file associations that are included in the .XML file will be applied again.
Changing default browser to Internet Explorer
At the moment, the only way to set Internet Explorer as the default browser in Windows 10 is to use the Group Policy option. Windows 10 will revert to Microsoft Edge if we change it to Internet Explorer using the DISM tool during OS deployment, showing the following systray message: "An app default was reset."
Subscribe to 4sysops newsletter!
Wrap-up
- If we want to set default file associations for end-users, we must do it during OS deployment using Dism.exe or with a script before the user logs on the first time.
- We can set the default file association for just a specific extension, so there is no need to include everything in the file we import.
- If we configure the default file associations using a Group Policy, the users can change it, but it will revert to our configuration.
- If we want to enforce the default browser to Internet Explorer, we must use the Group Policy option.
Hello! I have been trying really hard to get the default association for .WAV to change to Windows Media Player by default.
I’ve already got the GPO in place to reference an .xml to change things to IE and Adobe Reader:
<DefaultAssociations>
<Association Identifier=”.htm” ProgId=”htmlfile” ApplicationName=”Internet Explorer” />
<Association Identifier=”.html” ProgId=”htmlfile” ApplicationName=”Internet Explorer” />
<Association Identifier=”.pdf” ProgId=”AcroExch.Document.DC” ApplicationName=”Adobe Acrobat Reader DC” />
<Association Identifier=”.url” ProgId=”IE.AssocFile.URL” ApplicationName=”Internet Browser” />
<Association Identifier=”.website” ProgId=”IE.AssocFile.WEBSITE” ApplicationName=”Internet Explorer” />
<Association Identifier=”http” ProgId=”IE.HTTP” ApplicationName=”Internet Explorer” />
<Association Identifier=”https” ProgId=”IE.HTTPS” ApplicationName=”Internet Explorer” /></DefaultAssociations>\
I cannot figure out how to change .WAV to default to Windows Media Player. Using the following does not work:
<Association Identifier=”.WAV” ProgId=”WMP11.AssocFile.WAv” ApplicationName=”Windows Media Player” />
Any suggestions?
in the XML, don't put '.wav', just 'wav' > take out the dot 😉
Is there any way so that I can set:
look for apps if there is Adobe Acrobat Standard DC set it is a default, if not set the Adobe Reader as a default app?
I love how dism STILL exports PDF as opening in Edge, despite the UI showing Reader. MS is so desparate for people to use Edge they're actually changing what dism respects for export. Sad.
I was having issues getting my XML file to apply via GPO and discovered that you can only use ONE XML file GPO per PC. I had one GPO that used this method to set Adobe Reader DC as the default for PDF files. Then months later I setup another identical GPO to change Chrome to the default browser. The RSOP showed that both policies are applying but only the Adobe policy was actually working. I was stumped until I tested the Chrome policy on a few PCs that did were not part of the Adobe policy and found that the Chrome policy was working on those PCs.
So you only get one shot at setting file type associations using this method. Your XML file needs to include all the customizations in one. If you are like me and want Adobe Reader for your PDF files and Chrome for your browser, you will need to put them both in a single XML file and apply that with a single GPO.
As a side note, I have used the file extension .XML without issue on all builds of 10 from 1607 thru 1903. I always put the XML file in the root of the policy GUID subfolder. I have never placed any comments in the XML file.
Aaaaand with 1909 it's changed again. Errors and resets on login with new profile after preferences imported. We imported 1709 settings, and get errors. We are now in the process of attempting to get 1903 preferences and getting less than expected results when exporting preferences. Nothing listed for Office, PDF's are still pointing to Edge even after we change the user default to Adobe etc etc.
Why is this STILL so painful for such a small simple seeming issue?!
So after I install applications like Office and Adobe Professional, it creates error messages at each login saying default apps have been reset to Microsoft Edge. What if I don't want to force defaults onto the users but allow them to pick. The error message show at user domain user login attempt, even though I am not doing any forcing in the GPO's.
I have a .qry file that I want to associate with MSQRY32.exe which is in C:\Program Files (x86)\Microsoft Office\Office15. Anyway to ass this to the XML file?
Important note here (something that I was getting tripped up on, and suspect that others may be as well):
Use the Dism.exe /online /Export-DefaultAppAssociations and Dism.exe /online /Import-DefaultAppAssociations commands to set the *default* file associations. These file association settings ONLY affect new user profiles on the computer. The settings are NOT applied to existing profiles.
I am trying to use this method to set a file association for JPG/JPEG files to use either Edge, Firefox or Paint (basically anything but Win Photo viewer), however I can not get it to work this way at all. Even if I go in Windows settings on the test machine and set the default app associations for those file extensions, when I export them to the XML file it does not reference JPG files that way. So if I import that XML or reference it in the GPO, it still does not create the file association. It seems like the only way to change the file assoc for JPG files in via the Windows settings GUI, which is not practical for hundred or thousands of machines.
Please help. Thanks