Managing File Associations: Then (Windows 7) and now (Windows 10) using Group Policy (Part 1 of 3)

Have you tried to install an application in Windows 10 lately? If you hand-install it, or install it using SCCM, you might get some annoying things you didn’t bargain for.

Seriously: Try this sometime. On Windows 10, hand-install Acrobat Reader, Outlook (or something smaller like Claws Mail), or VLC Media Player. (Or use SCCM, PDQ Deploy or whatever else you use to deploy software to Windows 10.)

When you install these applications note how Acrobat Reader asks if it can be the default PDF viewer, as seen here.

Adobe Acrobat Reader Setup will ask to be the default PDF viewer.

Yet, after the installation occurs, the .PDF is not associated with Acrobat Reader. Instead, Windows 10 Edge is typically the default PDF viewer when you click on a PDF file, or Edge is “recommended,” and the user must make a choice, as seen here.

Edge generally becomes the default when attempting to open a .pdf after the user has installed Acrobat Reader.

The same problem occurs when you install Outlook or something else to handle email. In this example, a small mail program I use, called “Claws Mail” asks if it could be the MAILTO: protocol.

After installing Claws Mail, the program will try to make it the default when opening emails.

But after Claws Mail or Outlook is installed, it is not actually correctly set as the handler for MAILTO: emails. You can quickly test this by opening up Wordpad and making a quick one-sentence line with mailto:[email protected], as shown below. You will see that it will launch Windows 10’s default Mail application instead of Outlook or Claws Mail when you click on it.

Opening Wordpad and writing a sentence with mailto:[email protected] will show that Outlook or Claws Mail isn’t actually the default email program.
Or, if after you install VLC Media player then want to change file associations, you get a Windows 10 system dialog explaining that you are doing it the wrong way.

Opening Wordpad and writing a sentence with mailto:[email protected] will show that Outlook or Claws Mail isn’t actually the default email program.

Why did this work in Windows 7, and stop working in Windows 8.1 (and is still the same … “not working” way in Windows 10?)
Actually, let’s go back to the past… back to Windows 7.
Windows 7 stored this information in a simple registry key. There were some nice upsides:

  1. It was a nice simple method that was easy to understand.
  2. Vendors could just make their own associations as they installed software.
  3. Managing File Associations with Group Policy Preferences used to be quite easy.

If this was so great, why has it changed and why does it no longer work in Windows 10 ?

Before we answer that, let’s stay in Windows 7 land for a bit longer.

Indeed, to manage File Associations for Windows 7, Group Policy Preferences had a specific item preference item type that dynamically set which extensions would open in what applications. It is still available within the Microsoft Group Policy Editor on the traversing User Side | Preferences | Folder Options | Open With. You can see this here.

You can use Group Policy Preferences Folder Options | Option with for Windows 7 machines.

Then you would be presented with the “File Extension” (to fill in), the “Associated Program,” and optionally “Set it as Default,” as seen here.

These options will pop up after the user chooses “Open With.”

This Group Policy Preferences method worked perfectly well from Windows XP to Windows 8 but stopped working with Windows 8.1. It’s also “still broken” with Windows 10. There are no plans to update the Group Policy Preferences method to be compatible with Windows 10.

This is called a “Breaking Change.” The UI still makes it look like it will still magically work on Windows 10. But because of the true “under the hood” changes in Windows 10, the Group Policy Preferences item simply cannot work.

Why would Microsoft make this change for Windows 10 file associations? The answer is: increased security.

Because it was so easy to change (really, just a very quick registry edit) one application could take over another application’s file associations. This was / is called “association jacking.” This is detailed in https://msdn.microsoft.com/en-us/library/windows/desktop/cc144154(v=vs.85).aspx. The key sentences are:

This restriction is a security feature that prevents a process from acting as an administrator without the administrator’s knowledge.
Installation of a program by a user is typically performed as an elevated process. However, attempts by an application to modify default association behaviors at a machine level post-installation will be unsuccessful. Instead, defaults must be registered on a per-user level, which prevents multiple users from overwriting each other’s defaults.

So having a Group Policy-based way to manage File Associations was awesome. You just deployed your application using SCCM, PDQ Deploy or whatever, and set the association, and it worked perfectly in Windows 7.
And now it’s gone in Windows 10.
So, what can you do then?
PolicyPak File Associations Manager can immediately help with this dilemma for Windows 10 machines. If you are already accustomed to using Group Policy (with Group Policy Preferences) to manage file associations, then PolicyPak File Associations Manager is a natural way to perform that same work.
Here’s a video to demonstrate PolicyPak File Associations Manager in action immediately.

You can check out more PolicyPak File Associations Manager uses right now at https://www.policypak.com/products/policypak-file-associations-manager.html

Also please check out Part II and Part III in this series on managing File Associations for Windows 10 !

Jeremy Moskowitz

Founder & CTO, Microsoft MVP in Group Policy, Enterprise Mobility, and MDM

Jeremy Moskowitz founded PolicyPak Software after working with hundreds of customers with the same problem they couldn’t manage their applications, browsers and operating systems using the technology they already utilized.

Ready to Get Started? Register for Our Demo.

Our PolicyPak Demos explain everything you need to know to get started with the software. Once you've attended the demo, you'll be provided a download link and license key to start a free trial.