Introduction
Windows manages file type associations primarily through the UserChoice registry mechanism. This modern system defines which program opens a given file type and is stored at:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext\UserChoice
However, there’s still an older method of defining associations legacy entries under:
HKCU\Software\Classes\.ext (with a (Default) entry which points to a ProgId)
These legacy entries predate the UserChoice system and are still used in very specific scenarios – particularly with older software or for file types that are not strictly controlled by Windows.

ProcMon and 7-Zip use this approach to associate themselves without creating a UserChoice key. This works only because they use file types that are not subject to enforcement by Windows.
When Legacy Associations Apply
Legacy associations can still take effect, but only if:
- There is no enforced UserChoice requirement for the file extension.
- The application or system component still queries the HKCU\Classes (or HKCR) registry path directly.
For example, custom or legacy applications might bypass UserChoice entirely and look only at the legacy path.
Microsoft-Enforced Extensions
For many file types, Windows enforces the use of the UserChoice key, meaning legacy associations will be completely ignored. Here’s a list of such protected extensions:
.3g2, .3gp, .3gpp, .aac, .adt, .adts, .amr, .arw, .avi, .bmp,
.cr2, .crw, .dib, .epub, .erf, .flac, .gif, .htm, .html, .jfif,
.jpe, .jpeg, .jpg, .jxr, .kdc, .m2t, .m2ts, .m3u, .m4a, .m4r,
.m4v, .mkv, .mod, .mov, .mp3, .mp4, .mp4v, .mpa, .mpv2, .mrw,
.mts, .nef, .nrw, .orf, .pdf, .pef, .png, .raf, .raw, .rw2,
.rwl, .sr2, .svg, .ts, .tts, .wav, .wdp, .wm, .wma, .wmv,
.wpl, .xvid, .zpl
For these extensions, a valid UserChoice key is always required. Legacy settings under HKCU\Classes are ignored (by Explorer), regardless of their content. The same applies to associations defined under HKLM — they are also overridden by UserChoice and have no effect for enforced file types.
Legacy applications – for example, those that handle embedded files – may query the legacy association key instead of using the modern UserChoice mechanism. In such cases, creating a legacy association can help ensure that the correct program is used to open the file.
SetUserFTA and Legacy Associations
SetUserFTA is designed to manage file type associations correctly – including in environments where Microsoft enforcement applies.
- SetUserFTA.exe del with -legacy / SetUserFTA.exe set with -legacy
This option allows setting or deleting both the UserChoice key and the legacy association (HKCU\Classes\.ext) at the same time. This is useful for compatibility with legacy apps while still respecting Windows enforcement. - Listing Legacy Associations
Use SetUserFTA.exe get -legacy to list only existing legacy associations, or: SetUserFTA.exe get -all to include both UserChoice and legacy associations in the output. - No Standalone Legacy Support
SetUserFTA does not and will not support managing legacy associations independently. This design choice ensures that changes made are reliable, complete, and compliant with modern Windows behavior.
Summary
Legacy file type associations are a remnant of older Windows versions and are still recognized for non-enforced extensions or legacy software. But for anything on Microsoft’s protected list, only a proper UserChoice key – with a valid hash – will work.
SetUserFTA simplifies this by:
- Correctly applying the UserChoice key and hash
- Optionally setting legacy entries for fallback use cases (-legacy)
- Listing all current associations, both modern and legacy (-all)
For modern Windows systems, especially in managed environments, using SetUserFTA ensures compatibility and correctness – even when legacy paths are still relevant.