File Associations in Windows 8..

Got a question today regarding file association types in Windows 8:

how can I set the default programs for all users. Most of out computers are non-touch and I want the desktop apps (e.g. Windows Photo Viewer), not the store apps to be the default for opening pictures, videos, etc.

Great question, this has been bugging me too! I do not like the default Photo Viewer in Windows 8. I like the preview mode from Windows 7.

So, I did some research by using “Set Default Programs” app in Windows 8. Then I ran the super ProcMon.exe tool from Sysinternals.com

After filtering out the junk, I could see some *interesting* writes to the registry:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\UserChoice]
"Hash"="57y87/ogggU="
"ProgId"="PhotoViewer.FileAssoc.Jpeg"

But the “Hash” part had me concerned. I did some internet searching for the hash, and came across a post and a pointer to a blog with some answers. This is both good news and bad.

Background

One of the problems with Windows XP is that any program can come in and party on the entire system. No, I don’t want you to put a shortcut on the desktop, install a crappy IE Toolbar, and change the default file association for *.jpg files to your app, I just wanted to play a stupid game. Since Windows 7, Microsoft has been attempting to block that functionality from the stupid applications, and give them back to the user. Take note of the last line in the ITaskbarList3 interface:

Applications cannot programmatically pin themselves to the taskbar. That functionality is reserved strictly for the user.

Of course that sucks for us IT Pros who may wish to create *default* working environments for corporate images, but there are some tricks we can do.

Solution

This blog appears to have the answer: http://blogs.technet.com/b/mrmlcgn/archive/2013/02/26/windows-8-associate-a-file-type-or-protocol-with-a-specific-app-using-a-gpo-e-g-default-mail-client-for-mailto-protocol.aspx

New for Windows 8 is a dism command: /Get-DefaultAppAssociations that allows you to export a control case from a known good computer. Microsoft the supports importing the exported xml file via GPO. For example, before I changed the file association, .AVI was pointing to the Modern App, after the change the /export-DefaultAppAssociations shows change to the new app:

From:
<Association Identifier=".avi" ProgId="AppXhjhjmgrfm2d7rd026az898dy2p1pcsyt" ApplicationName="Video" />
To:
<Association Identifier=".avi" ProgId="VLC.avi" ApplicationName="VLC media player" />

I am still doing some investigation to see if a GPO is required, or if you can inject the association into a local user account. Also, if you do have some Modern Windows 8 Touch Tablets, it would recommend keeping most of the Modern App defaults in place, perhaps separate GPO’s for Desktops/Laptops vs Tablets?

-k

Advertisements

Leave a Reply

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s