For my first post I have chosen a topic that I have seen lots of “buzz” out there but no clear information on how to implement it in win8Its common knowledge that You can associate a file type or protocol with a specific program/app using the default programs < Control Panel\Programs\Default Programs>
However this is not practical if you want to establish the same settings for several machines.
In Pre-Win 8, apps could set the default handler for a file type/protocol by manipulating the registry, this means you could easily have a script or a group policy manipulating the registry.For example for Mailto protocol you just needed to change the “default” value under HKEY_CLASSES_ROOT\mailto\shell\open\command
However In Win 8, the registry changes are verified by a hash (unique per user and app) that detects tampering by apps. In the absence of a valid hash, we ignore the default in the registry. HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\URLAssociations\MAILTO\UserChoice
Solution:Microsoft have introduced a new GP mechanism for declaring these defaults in Win 8 to accommodate this type of scenario. The basic idea is to have an xml file that maps programs to the file type/protocol that they should be the default for. First you create your XML file or export it from a machine using DISM (http://technet.microsoft.com/en-us/library/hh825038.aspx):
Then you use the new Windows 8 group policy that enables you to set the association for file types and protocols:Computer configuration\administrative templates Windows Components\File Explorer\ Set a default associations configuration file<HKLM\Software\Policies\Microsoft\Windows\System!DefaultAssociationsConfiguration>This policy specifies the path for the XML file that can be either stored locally or on a network location.
Note : using DISM to import the XML is not enough you still have to link it to the GPO.
Thank you very much!