I think because of your first attempt to run the .dll directly, the entry "Windows Photo Viewer" still points to the .dll instead of rundll32, which of course you can't run directly.
Try adding the following to the registry:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\photoviewer.dll]
[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell]
[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open]
"MuiVerb"="@photoviewer.dll,-3043"
[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
00,31,00,00,00
[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"
[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print]
[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
00,31,00,00,00
[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print\DropTarget]
"Clsid"="{60fd46de-f830-4894-a628-6fa81bc0190d}"
(Source)
If that doesn't work, try searching the registry for Windows Photo Viewer and photoviewer.dll to see if there are any references to photoviewer.dll being called directly (without rundll32).
22@Ramhound The question makes perfect sense. – Louis – 2015-07-30T16:32:52.243
@MC10 But I had Photo Viewer in Windows 8.1? The PhotoViewer.dll trick worked there. – Irastris – 2015-07-30T16:49:25.777
@Ramhound That's how it worked in Windows 8.1, I could set it to open with PhotoViewer.dll. – Irastris – 2015-07-30T16:50:03.817
@Irastris did you see my answer? You can definitely use the dll and photo viewer still works in win 10. Give me that answer credit :D – TechnoCore – 2015-07-30T16:52:31.830
Interesting, I hadn't tried that or heard of it. Well if it works, that's great. – MC10 – 2015-07-30T17:15:11.597
The following
reg
file places Photo Viewer in the list of other programs: [HKEY_CURRENT_USER\Software\Classes.jpg] @="PhotoViewer.FileAssoc.Tiff"[HKEY_CURRENT_USER\Software\Classes.jpeg] @="PhotoViewer.FileAssoc.Tiff"
[HKEY_CURRENT_USER\Software\Classes.gif] @="PhotoViewer.FileAssoc.Tiff"
[HKEY_CURRENT_USER\Software\Classes.png] @="PhotoViewer.FileAssoc.Tiff"
[HKEY_CURRENT_USER\Software\Classes.bmp] @="PhotoViewer.FileAssoc.Tiff"
[HKEY_CURRENT_USER\Software\Classes.tiff] @="PhotoViewer.FileAssoc.Tiff"
[HKEY_CURRENT_USER\Software\Classes.ico] @="PhotoViewer.FileAssoc.Tiff" – limits – 2015-08-20T17:11:14.820
You can get most of the functionality you remember using both Windows Explorer (to print, see http://superuser.com/questions/989145/ ) and the metro photos app.
– Ruskin – 2016-12-14T14:13:15.240