有一個頗為惱人的問題:系統總是無法固定某個擴展名的打開方式,有時甚至不知道做了什么操作,就會彈出這樣一個提示:
經過上網搜尋,這個問題應該是由KB3135173這個補丁導致的,主要原因是似乎是Windows 8起引入的appx應用在設置文件關聯時,與以往的exe方式有沖突所致,詳細的我也不是很清楚。要徹底解決這個問題,只能等程序開發廠商將程序設置關聯的方法修改為Windows 10的風格,但是那些不再更新的怎么辦?
解決方法有二:一種是用特殊手段卸載掉被“滾回”的系統APPX應用,但是鑒於卸載的是系統應用,估計會引起一些問題;另一種方法是為對應的應用添加NoOpenWith鍵值,以避免該應用重新獲得文件關聯,如此即可重新指定某擴展名的文件關聯信息。
解決方法:下載這個文件,隨后解壓,運行其中的w10_stop_reset-fileasso.reg導入注冊表(或將下面的內容復制保存為.reg文件並導入),即可解決一些自帶應用搶奪文件關聯的問題
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即可。
其次,來看一下問題的解決思路
要解決這個問題,首先要在注冊表中以下位置找到搶奪文件關聯的“應用”的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應用,原理是一樣的,只是位置變化了一下。