How do I customize the default file associations?

Posted by

I don’t know how many times I got the question “How do I customize the file associations in Windows 10?”.

The old commands assoc and ftype, does work, but not as you would expect, those simply works better in Windows XP, 7 environments. So what choice do we have to customize the default file associations in Windows 10? There are two:

  • Servicing and management tool, DISM.exe
  • Group policy setting, Set a default associations configuration file

Preparation

Over to the preparations, how do I do? Prepare a computer with the associations as you would like to have them. Head over to an elevated command prompt and write the following command on a running machine

dism.exe /Online /Export-DefaultAppAssociations:C:\Temp\DefaultAssoc.xml

Looking at the file and it looks something like this

<?xml version=”1.0″ encoding=”UTF-8″?>
<DefaultAssociations>
<Association Identifier=”.3g2″ ProgId=”AppX6eg8h5sxqq90pv53845wmnbewywdqq5h” ApplicationName=”Movies &amp; TV” />
<Association Identifier=”.3gp” ProgId=”AppX6eg8h5sxqq90pv53845wmnbewywdqq5h” ApplicationName=”Movies &amp; TV” />
<Association Identifier=”.3gpp” ProgId=”AppX6eg8h5sxqq90pv53845wmnbewywdqq5h” ApplicationName=”Movies &amp; TV” />
<Association Identifier=”.aac” ProgId=”AppXqj98qxeaynz6dv4459ayz6bnqxbyaqcs” ApplicationName=”Groove Music” />

Now time for some clean up. I generally recommend to only keep the associations you would like to configure. In my case the file looks like this

<?xml version=”1.0″ encoding=”UTF-8″?>
<DefaultAssociations>
<Association Identifier=”.xml” ProgId=”Applications\NOTEPAD.EXE” ApplicationName=”Notepad” />
</DefaultAssociations>

This XML file you just generated will be used to prepare the computers

Servicing and management tool

First options is to use the DISM tool. Simple and straight forward.

dism.exe /online  /Import-DefaultAppAssociations:C:\temp\DefaultAssoc.xml

Use this in your Configuration Manager/Microsoft Deployment Toolkit Task Sequence or your choice of deployment solution.

Remember this option only takes care about new user profiles. To handle running users head over to the second option.

Group Policy setting

So use this option to your already logged on users. I always suggest to copy the XML to the local computer first, with a ConfigMgr package or Group Policy Preference. Why? This is simply more reliable and faster, than running over network. Depending on your size, network topology and other requirements running directly over network may be an option for you.

First an example how to create a preference to copy the XML file. Edit the GPO of your choice and browse to Computer Configuration\Preferences\Windows Settings\Files right click and New > File

RDCMan_2016-09-12_21-30-00

Note! Preference does not use normal system variables, that why I used %CommonAppdataDir%. You can see the full list if you press F3 while in the text field. Also do not forget to place your XML file on the NetLogon share, or your preferred share.

Now head over to Computer Configuration\Administrative Templates Windows Components\File Explorer

Open the setting called Set a default associations configuration file, choose enable and paste the location to the XML file on the local computer, in my example %ProgramData%\Customizations\DefaultAssoc.xml.

image

Now you are done, switch to a domain joined computer and test your configuration.

Two things to keep in mind

Every time the date of the file is changed the setting will be reapplied, you can also use this PowerShell command to update the date

(ls .\DefaultAssoc.xml).LastWriteTime = Get-Date

If a user wants to change the default associations they can override the settings, by just right the file and Open with option. User setting wins.

I will continue to write one or two posts how to customize the start layout, and I am sure you will learn some new stuff about that

One comment

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.