Export/Import File Type Associations (FTA) successfully using UEM

Using Dynamic Environment Manager 9.10 or higher? Please read this blog post first.

With the introduction of Windows 10 and Server 2016 there has been a struggle configuring and importing/exporting file type associations (FTA), configuring Default apps from the Settings pane (previously the Control Panel) and user configured FTA/App associations in non-persistent environments.

In this blog post I will explain a working configuration for saving FTA’s and Default Apps assignments using SetUserFTA.exe created by Christoph Kolbicz and the required configuration in UEM.

Let me describe the three scenarios for which this configuration will work.

Default apps (from the Settings pane)

The Default apps pane is used to configure the default application for certain functionality, like e-mail, web browsing, music player, video player, etc.

User configured FTA/App associations

When you open a file type that has no application associated with it, you will receive a window (as displayed below, in Dutch) in which you are able to associate an application with a file type.

Pre-configured/managed FTA’s

Pre-configured/managed FTA’s are predefined and are centrally configured.

Creating the configuration and explaining the details

Let’s first create the configuration.

For the following steps I (as an example) assume you have SetUserFTA.exe in C:\Program Files (x86)..., but it can also be placed somewhere on a share for your convenience.

1 - Create a Logon Task

In the UEM Management Console go to the User Environment tab and create a Logon Task.

Configure the settings as provided in the picture above. Pay close attention to the Run task After profile archive import option.

The command line is:

cmd.exe /c ""C:\Program Files (x86)\KOLBICZ-USERFTA...\SetUserFTA\SetUserFTA.exe" "%LOCALAPPDATA%\Microsoft\Windows\UserFTA.config""

Change this to match your own situation.

2 - Create a Logoff Task

In the UEM Management Console go to the User Environment tab and create a Logoff Task.

Configure the settings as provided in the picture above. Pay close attention to the Run task Before profile archive export option.

The command line is:

cmd.exe /c ""C:\Program Files (x86)\KOLBICZ-USERFTA...\SetUserFTA\SetUserFTA.exe" get > "%LOCALAPPDATA%\Microsoft\Windows\UserFTA.config""

Change this to match your own situation.

3 - Create a new Config File

In the UEM Management Console go to the Personalization tab and create a new Config File containing the following entries.

[IncludeRegistryTrees]
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts
HKCU\SOFTWARE\Microsoft\Windows\Shell\Associations
HKCU\Software\Classes
HKCU\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts

[ExcludeRegistryTrees]
HKCU\Software\Classes\Software
HKCU\Software\Classes\Local Settings

[IncludeFiles]
<LocalAppData>\Microsoft\Windows\UserFTA.config

Explanation of the entries

[IncludeRegistryTrees]
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts
HKCU\SOFTWARE\Microsoft\Windows\Shell\Associations
HKCU\Software\Classes

These entries come from the built-in UEM template Default Apps and FTAs and contain the managed/predefined FTA’s, as described in chapter _Pre-configured/managed FTA’s, _and user configured FTA’s.

[IncludeRegistryTrees]
HKCU\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts

This entry contains the associated applications with the file types as described in chapter User configured FTA/App associations.

[IncludeFiles]
<LocalAppData>\Microsoft\Windows\UserFTA.config

And finally, this entry contains the file type associations as described in chapter Default apps (from the Settings pane). These settings are exported/imported using SetUserFTA.exe.

Optional: I configure managed FTA’s to Run Once and let them roam using the provided Config File above. This way the user has the ability to change the FTA to whatever he/she wants.

Using a local profile in a non-persistent (stateless) environment? Keep in mind that run once in UEM behaves differently with local profiles. Have a look at this VMware article.

Up to now the provided solution proved to be predictable and stable at my various customers. I hope this has been informative.

Share