I am sure many of you have had the enjoyable experience of dealing with user FTA (File Type Associations) within Windows 10 and Server 2016 (Windows 8 onward is a jerk really..)
For those that aren’t aware, Microsoft made a nice little change for us which made FTA assignment on a per user basis almost impossible without loads of hacks and cracks. James Rankin has a good write up here. Sure, there are ways to pre-populate the FTA’s and app associations etc, but its stored in a computer context not user, and just isn’t a solution that addresses the required flexibility that most organisations with SBC environments have
Luckily, there are some clever cookies amongst the ranks of those that don’t like to be told “no”, such as one Mr Christoph Kolbicz. He has managed to successfully reverse Microsoft’s decisions to block our ability to control this nicely, and has written a cracker utility called SetUserFTA. You can find his blog, his explanation and his tool (which he offers to the community) here
WEM has great ability to control FTA natively, however with the latest releases of Windows 10 and Server 2016, I am finding that the behaviour is not as smooth as it once was with older Operating Systems, and settings either aren’t honoured by Windows, or result in far too many prompts for the user.
I find the easiest way to drive this magical new utility, is of course however, via WEM and there are two options for control here.
Option1. Create an external Task in WEM, point it to the SetUserFTA.exe and assign it to all users. SetUserFTA allows you to specify a configuration file, which includes the ability to specify FTA settings per Active Directory group. This, from a WEM perspective means simply launching the SetUserFTA.exe and passing the assignment component back to the Config File.

And the config file:

Option 2 (my preferred) is to bring the visibility back into WEM, utilise multiple external tasks, and assign to your users based on your normal WEM processes. This option keeps visibility within WEM around your assignments for those that like single pane of glass and don’t like the black hole of multiple configuration points in the environment

It’s important to note that for some applications, you will need to create the associated HKCU\Classes key for the application. This of course, can also be actioned with WEM by creating a registry action (Thanks Munro for the nudge)

Standard WEM assignment process for User 1:

And a second assignment for User 2:

Below you can see the results in action. This is the same server with the 2 different user sessions active
Left hand side has User2’s association set, and right hand side has user 1’s association set:

And what happens if you accidentally add someone to two methods of association?…last write wins 🙂
Hats off to you Mr Kolbicz, well played
Awesome article and this has helped me greatly. I have been able to associate PDF to Adobe reader but it does not look like I have gotten it done completely. When I double click on a PDF file I get an error saying “There was an error opening this document. this file cannot be found”. I get this 5-6 times and then it goes away. With Adobe reader open I then click file, open and choose the exact same file I just double clicked on and it opens perfectly. What am I missing?
LikeLike
Hi Jesse – Not sure what could be going on here without looking at it – I would suggest firing up procmon and having a look. Potentially a missing key?
There is some info on Christoph’s site around how the actual program all fits together – might be a good starting point?
LikeLike
I am working on getting this set up as well and I am little confused on the walkthrough provided. I am trying to test using PDF but testing having one user open with Adobe Reader and the other open with FoxIt Reader for PDF. Can you elaborate what exactly you mean about creating registry entries for certain applications? That is where I am hung at and not quite understanding. Also, what should the path be for the SetUserFTA when creating the External Task?
LikeLike
Hi Dru, Some applications come up with a progid that is not recognized, to make it recognized, you need to create the corresponding classes key, Christoph notes it at the bottom of his post here http://kolbi.cz/blog/?p=346 (under tips). Typically these look like “Applications\something”
LikeLike
Sorry I missed the second part of this – the path to setuserfta.exe must be somewhere central, such as the netlogon share for example
LikeLike
Hi James, I have an application which needs to have default browser set to open web content. Else throws an error that default browser not set. Issue started after I changed the web content URL from http to https. With http URL it was working as is.
Windows Server 2008 R2 – XD 7.13 – WEM 4.5
I am not using WEM for userSFTA, wanted to know whether I can get this working using WEM?
LikeLike
Hi Srini, I don’t think the setuserfta tools support 2008 r2…https is a protocol handler rather than a FTA… you could post of Christoph’s page and see if he has tested against 2008r2 (he has a default browser tool too)
LikeLike
HI , if i want to change default browser to Chrome for all Users , how to configure that ?
LikeLike
https://kolbi.cz/blog/2017/11/10/setdefaultbrowser-set-the-default-browser-per-user-on-windows-10-and-server-2016-build-1607/
LikeLiked by 1 person
Hi , how to configure Mailto with outlook through WEM ?
LikeLike
Good blog James
LikeLike
I have 2 versions of office installed and I want to switch office default associations based on user group. I have tried option 1 and 2 and it didn’t work or modify any default associations. Had the file on the Citrix server with the test file. Any ideas would be helpful.
LikeLike