前几天,我在公司里给一台 Windows Server 2019 装了个内部图库系统,结果一打开图片竟然只弹出个空白的 Edge 页面——原来系统自带的“照片查看器”莫名其妙挂掉了。别看它只是一款轻量的图片浏览工具,平时随手点开几张截图、检查一下日志文件,真的太方便了,一想到以后每次都得装第三方软件,我就忍不住抓狂。
在 Win2019 上,双击 .jpg、.png 或 .bmp 文件,系统直接把它们交给 Edge 打开,或者根本没有任何响应。打开“默认应用”设置,你会看到“照片查看器”根本不在推荐列表里——这就是文件关联被破坏的典型表现。
我查了下日志,原来是一次系统更新把 PhotoViewer.dll 的注册信息给清掉了。Windows Server 2019 默认不把这玩意儿当作首选程序,等于是把它的 ftype 记录删掉了。只要把关联重新写回去,照片查看器就能“复活”。
rundll32.exe 调用 PhotoViewer.dll 的 ImageView_Fullscreen 方法。FTYPE Paint.Picture=%SystemRoot%System32rundll32.exe "%ProgramFiles%Windows Photo ViewerPhotoViewer.dll", ImageView_Fullscreen %1
FTYPE jpegfile=%SystemRoot%System32rundll32.exe "%ProgramFiles%Windows Photo ViewerPhotoViewer.dll", ImageView_Fullscreen %1
FTYPE pngfile=%SystemRoot%System32rundll32.exe "%ProgramFiles%Windows Photo ViewerPhotoViewer.dll", ImageView_Fullscreen %1
assoc .jpg、assoc .png 检查一下关联是否已经指向 jpegfile、pngfile。如果以后再装更新包,别忘了把这几行脚本保存成 .bat,需要时直接双击跑一遍;还有一点,别把 PhotoViewer.dll 整个删了——它其实藏在 C:Program FilesWindows Photo Viewer 里,大小只有几百 KB,误删后只能重新装 Windows 功能。
说真的,恢复这么快,我都怀疑自己是不是在玩魔法。以后再碰到类似的“系统自带工具失踪”问题,我会先跑一遍这套命令,省得又去翻文档。
参与讨论
照片查看器还能这么救,学会了马上备份个.bat。
这方法挺直接的,尤其是企业里不想装第三方工具的话。
执行那三行命令前有人记得先备份注册表吗?风险有点担心。
之前公司也是被更新搞过,重写关联就好,用起来跟新装的一样。
Edge直接打开图片真烦,这招立马上手试试。
小技巧里那句别删dll太关键,老管理员教过我这坑。
有没有人在域环境下批量推这脚本的经验,直接GPO发吗?
难怪我那台虚拟机也不显示查看器,原来是ftype被改了,受教了。
这步骤看着简单,但手误路径不对会报错,注意引号和百分号。
如果我想恢复HEIC支持还需要别的步骤吗?🤔
我试了下,assoc显示已指向jpegfile,图片能打开了,太方便了。
这种系统工具丢了又能恢复真是省心,省得去装啥乱七八糟的软件。
又是更新惹的祸,微软有时候改默认行为真让人头疼。
请问这方法在Windows Server Core环境也适用吗,有人试过吗?