Day 10159 某个应用导致.***文件的默认应用设置出现问题,因此已将它重置为……

最近将家里的台式机系统更新成了Windows 10,在这之前因为听说Windows 10的小bug不断,踌躇了很久,终于还是觉得为自己在单位维修电脑多增加一点经验好,于是做了一次干净安装。

用了一周多,小问题是不少,好处也不少,最明显的是开关机速度、待机/恢复速度大幅提升,应用程序运行效率也有明显提高,这是题外话。

但是有一个颇为恼人的问题:系统总是无法固定某个扩展名的打开方式,有时甚至不知道做了什么操作,就会弹出这样一个提示:

经过上网搜寻,这个问题应该是由KB3135173这个补丁导致的,主要原因是似乎是Windows 8起引入的appx应用在设置文件关联时,与以往的exe方式有冲突所致,详细的我也不是很清楚。要彻底解决这个问题,只能等程序开发厂商将程序设置关联的方法修改为Windows 10的风格,但是那些不再更新的怎么办?

解决方法有二:一种是用特殊手段卸载掉被“滚回”的系统APPX应用,但是鉴于卸载的是系统应用,估计会引起一些问题;另一种方法是为对应的应用添加NoOpenWith键值,以避免该应用重新获得文件关联,如此即可重新指定某扩展名的文件关联信息。

先来直接看解决方法:下载这个文件,运行其中的w10_stop_reset-fileasso.reg导入注册表(或将下面的内容复制保存为.reg文件并导入),即可解决一些自带应用抢夺文件关联的问题(转载自WinHelpOnline):

Windows Registry Editor Version 5.00

;Description: Prevents Windows 10 from resetting the file associations
;… by setting NoOpenWith registry value for all the modern apps.
;Created on Feb 13 2016 by Ramesh Srinivasan
;The Winhelponline Blog
;Tested in Windows 10 Build 10586
;http://www.winhelponline.com/blog

;——————-
;Microsoft.3DBuilder
;——————-
;File Types: .stl, .3mf, .obj, .wrl, .ply, .fbx, .3ds, .dae, .dxf, .bmp
;… .jpg, .png, .tga

[HKEY_CURRENT_USER\SOFTWARE\Classes\AppXvhc4p7vz4b485xfp46hhk3fq3grkdgjg]
“NoOpenWith”=””

;——————-
;Microsoft Edge
;——————-
;File Types: .htm, .html
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9]
“NoOpenWith”=””

;File Types: .pdf
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723]
“NoOpenWith”=””

;File Types: .svg
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppXde74bfzw9j31bzhcvsrxsyjnhhbq66cs]
“NoOpenWith”=””

;File Types: .xml
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppXcc58vyzkbjbs4ky0mxrmxf8278rk9b3t]
“NoOpenWith”=””

;——————-
;Microsoft Photos
;——————-
;File Types: .3g2,.3gp, .3gp2, .3gpp, .asf, .avi, .m2t, .m2ts, .m4v, .mkv
;… .mov, .mp4, mp4v, .mts, .tif, .tiff, .wmv
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppXk0g4vb8gvt7b93tg50ybcy892pge6jmt]
“NoOpenWith”=””

;File Types: Most Image File Types
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc]
“NoOpenWith”=””

;File Types: .raw, .rwl, .rw2 and others
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppX9rkaq77s0jzh1tyccadx9ghba15r6t3h]
“NoOpenWith”=””

;——————-
; Zune Music
;——————-
;File Types: .aac, .adt, .adts ,.amr, .flac, .m3u, .m4a, .m4r, .mp3, .mpa
;.. .wav, .wma, .wpl, .zpl
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppXqj98qxeaynz6dv4459ayz6bnqxbyaqcs]
“NoOpenWith”=””

;——————-
; Zune Video
;——————-
;File Types: .3g2,.3gp, .3gpp, .avi, .divx, .m2t, .m2ts, .m4v, .mkv, .mod
;… .mov, .mp4, mp4v, .mpe, .mpeg, .mpg, .mpv2, .mts, .tod, .ts
;… .tts, .wm, .wmv, .xvid
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppX6eg8h5sxqq90pv53845wmnbewywdqq5h]
“NoOpenWith”=””

要撤销操作,运行压缩包中的undo.reg即可。

其次,来看一下问题的解决思路(转载自WinZIP KB):

要解决这个问题,首先要在注册表中以下位置找到抢夺文件关联的“应用”的ID。

HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages

例如:.pdf的应用被Microsoft Edge抢走了,那么展开以下分支:

Microsoft.MicrosoftEdge_25.10586.0.0_neutral__8wekyb3d8bbwe

继续向下展开,直到找到 Capabilities\FileAssociations 分支,在右侧找到对应的扩展名,并找到对应的Class ID:

本例中,.pdf的AppX Class ID为:AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723

接下来打开 HKEY_CURRENT_USER\SOFTWARE\Classes,转到上面找到的Class ID分支,然后在此分支建立字符串值NoOpenWith,键值为空。

退出注册表,如此该应用就不会出现在“打开方式”中了,也就可以避免“滚回”到该应用了。

最后,简单解释一下NoOpenWith:该键值的用法是:字符串型,键值为空。当一个应用程序在 HKEY_CLASSES_ROOT\Applications 中注册了分支后,就会出现在“打开方式”的列表中,不论该程序是否自行注册过可以处理该文件类型。当该应用程序的分支下包含 NoOpenWith 时,将不再自动出现在“打开方式”的列表中。对于Windows 8 以后加入的AppX应用,原理是一样的,只是位置变化了一下。

Comments

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

 剩余字数 ( Characters available )

Your comment will be available after auditing.
您的评论将在通过审核后显示。

Please DO NOT add any links in your comment, otherwise it would be identified as SPAM automatically and never be audited.
请不要在评论中插入任何链接,否则将被自动归类为垃圾评论,且永远不会被提交给博主进行复审。

*