Restore Windows Photo Viewer with file associations [Windows 10/11]

squally2k47

New Member
  • Go to registry tab and add photoviewerassoc.reg
  • Go to image tab → Right click mounted image → Explore mount directory:
  • Put OEMDefaultAssociations.xml inside Windows\System32
  • Close mount directory

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer]
"NoNewAppAlert"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations]
".bmp"="PhotoViewer.FileAssoc.Tiff"
".cr2"="PhotoViewer.FileAssoc.Tiff"
".dib"="PhotoViewer.FileAssoc.Tiff"
".gif"="PhotoViewer.FileAssoc.Tiff"
".heic"="PhotoViewer.FileAssoc.Tiff"
".heif"="PhotoViewer.FileAssoc.Tiff"
".ico"="PhotoViewer.FileAssoc.Tiff"
".jfif"="PhotoViewer.FileAssoc.Tiff"
".jpe"="PhotoViewer.FileAssoc.Tiff"
".jpeg"="PhotoViewer.FileAssoc.Tiff"
".jpg"="PhotoViewer.FileAssoc.Tiff"
".jxr"="PhotoViewer.FileAssoc.Tiff"
".png"="PhotoViewer.FileAssoc.Tiff"
".tif"="PhotoViewer.FileAssoc.Tiff"
".tiff"="PhotoViewer.FileAssoc.Tiff"
".wdp"="PhotoViewer.FileAssoc.Tiff"
".webp"="PhotoViewer.FileAssoc.Tiff"
<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
<Association Identifier=".bmp" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".cr2" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".dib" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".gif" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".heic" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".heif" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".ico" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".jfif" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".jpe" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".jpeg" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".jpg" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".jxr" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".png" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".tif" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".tiff" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".wdp" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
<Association Identifier=".webp" ProgId="PhotoViewer.FileAssoc.Tiff" ApplicationName="Windows Photo Viewer" />
</DefaultAssociations>
 

Attachments

  • photoviewerassoc.reg
    1.7 KB
  • OEMDefaultAssociations.xml
    2 KB
Last edited:
Looks clean! Out of curiosity, what makes this different than the registry option presented on this site?
Windows photo viewer isn't removed in windows 10/11, they just removed all file formats except for ".tif" and ".tiff".

My reg file adds the missing file formats back and takes advantage of the ".tiff" associations that already exist, this is the bare minimum necessary way to recover the Windows photo viewer.
 
Brink's method restores the missing registry entries explicitly, while using W10-style Default Associations does it implicitly.

The other difference if you want to squabble over the individual format mappings. In the end, photoviewer.dll doesn't care and opens the image anyway even if a PNG isn't a TIFF file.
 
MS actually recommends for you to append/merge FTA changes on top of the image's normal associations. In your example, the XML doesn't include any of the other default applications.

Attached is a copy of W11 23H2's default XML with "Windows Photo Viewer" replacing "Photos".
 

Attachments

  • OEMDefaultAssociations.xml
    12 KB
i dont think my file removes all the associations set by microsoft, might test tomorrow anyway but i think they just put an example file.
 
They specifically warn you not to remove existing associations, otherwise it triggers a storm of app reset warnings. The reason you don't notice is because you've blocked them:
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer]
"NoNewAppAlert"=dword:00000001

1. How to configure file associations for IT Pros

2. Export or Import Default Application Associations
  • Refresh this file with each major version. Some recommended apps can manage more extensions with each new Windows 10 version available. It's a good practice to refresh your XML. For example, in Windows 10, version 1703, Microsoft Edge registers the epub extension. If you're using an XML file from Windows 10, version 1607, epub is missing. As a result, you will get an An app default was reset notification for epub.
  • Manually editing the file: Don't just delete app associations you're not interested in. Otherwise on the first boot, the missing entries may trigger a flurry of notifications on the first boot saying "An app default was reset".
    To prevent notifications, you can import multiple app association files. For example, you can import one file that includes all of the current Windows version's associations, and import your own separate file that includes a set of custom associations that you maintain one at a time.
    1. From a new test computer, export a file that just includes the default file associations, for example, F:\1809-DefaultAppAssociations.xml.
    2. Modify your app associations as before, and export the file again. Use a text/XML editor to modify just the associations you're interested in, for example, F:\InternetExplorerAssociations.xml.
    3. Importing xml only handles the last file imported. Results are not cumulative if you import multiple files. If you have multiple files with different content, merge those files manually, removing any duplicates, and then import the single file.
 
i never had any problem with app reset, anyway you could talk with nuhi to make a section in ntlite called "associations" that just reads the file "OEMDefaultAssociations.xml" and lets you add/remove/edit lines.
 
As long as users are aware:
Modify the OEMDefaultAssociations.xml file instead of overwriting it with a bare-bones version that only references one specific app.
 
Back
Top