kp9*_*p91 53 windows file-association windows-10
自上个月秋季更新以来,Windows 10 会自动不断更改某些类型(主要是浏览器、pdf、mp3、jpg)的默认应用程序。我曾尝试从“设置”应用程序和“控制面板”中将它们改回。
我观察到这种情况主要发生在使用 WinZip 解压缩文件时。Windows 将默认程序改回 Microsoft 推荐的程序,例如 Edge、Photos、Groove 等。
有没有办法限制这种情况发生?有没有其他人遇到过类似的情况?我在任何地方都找不到类似的问题,所以我在这里问这个。
jlj*_*tgr 15
我经常遇到这个问题,但是是随机的。我终于能够找到该问题的一组触发器,但不能直接修复……只有黑客式的部分解决方法。
解决方法:
例如,“Groove”或“Movies & TV”将尝试抓取音乐和视频格式的关联。我找到的唯一解决方案是卸载这些看似可卸载的程序。
上面的文章介绍了如何使用(admin)Power Shell暂时卸载一些微软安装的应用程序。
例如:
Get-AppxPackage *zunemusic* | Remove-AppxPackage
Run Code Online (Sandbox Code Playgroud)
或者
Get-AppxPackage *zunevideo* | Remove-AppxPackage
Run Code Online (Sandbox Code Playgroud)
卸载这些应用程序后,Windows 10 从未尝试重新获取这些文件关联。我半期望它会不顾一切地尝试并完全打破关联,但很幸运。
不幸的是,这不会解决所有这些问题。PDF 将继续恢复到 Microsoft Edge,因为它无法通过此方法卸载。
触发原因:
我能够追踪导致我的一个程序出现这种情况的触发器。虽然我不确定它是唯一这样做的,因为它只会导致某些关联发生变化。所以更有可能是程序引起的某些操作设置了第一个触发器;另一个程序完成触发序列。
根据 procmon 的说法,它使用文件关联进行一些注册表监听。第二个触发器是打开与经常恢复的文件类型相关联的程序。根据 procmon,第二个程序还会窥探文件关联。
我想象的情况是,第一个程序会破坏 Windows 10 对更改文件关联的程序的“保护”。打开第二个程序会导致 Windows 重新检查其保护,当 hash/progid 最终无效时,它会恢复为 Microsoft 默认值。
例如,我可以看到旧版本的 PhotoShop 和 Firefox 这样做。他们都看着钥匙
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice
Run Code Online (Sandbox Code Playgroud)
程序 1 以某种方式弄乱了哈希/程序,与该类型相关联的程序 2 使 Windows 重新检查并还原它。我有点困惑为什么它被认为是损坏的,因为文件关联在程序 1 执行其操作之前和之后都是正确的。该协会没有被劫持,所以它不需要微软的过度扩张。
并非我的所有系统都安装了相同的程序,所以我猜测可能有许多深奥的旧程序导致第一个触发事件。除了我上面的原始解决方法外,我想您可能会注意使用有问题的程序。(耸肩)
ghacks给出了解释和解决方案。
您可以使用“停止重置我的应用程序”来停止此重置
或手动修改注册表。
因此,如果您更喜欢手动方式,则需要执行以下操作:
- 点击 Windows 键,输入 regedit.exe 并按 Enter 键。这将打开 Windows 注册表编辑器。如果可以,请打开第二个注册表窗口,以便更轻松地处理以下操作。
- 导航到以下项:HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages
- 找到要阻止成为默认应用程序的应用程序,然后在那里打开 App\Capabilities\FileAssociations。这将显示该特定应用程序的文件关联列表。
- 注意Data中的值,它看起来像一个长随机字符串:AppXsq3757nydv3f9bx6862hv0t4z7ennqqd
- 请注意,对于此处列出的任何文件类型或协议,此字符串可能不同。
- 切换到第二个注册表编辑器窗口,然后转到 HKEY_CURRENT_USER\SOFTWARE\Classes\ThatRandomString,例如 HKEY_CURRENT_USER\SOFTWARE\Classes\AppXsq3757nydv3f9bx6862hv0t4z7ennqqd
- 右键单击它,然后选择新建 > 字符串值。
- 将其命名为 NoOpenWith,并将其值保留为空。
对您不希望该特定应用程序再次关联的任何文件关联重复此过程。
小智 6
当您升级到 Windows10 时,Edge、Groove 或 Photo 等几个应用程序接管了您的文件的控制权,然后您将无法选择自己喜欢的软件来打开您的文件。但是,如果您向注册表添加设置以将 Exclude Eg Edge 作为 PDF 文件的“可用”文件处理程序,则可以停止此行为。以下将阻止 Edge 阻止使用 Acrobat 打开 PDF 文件和其他软件(如 FIREFOX)打开 HTM 和 HTML 文件(我使用 BLOCK 这个词是因为 Edge 的行为就像病毒一样,它总是将文件关联重置回 Edge,即使我的第 20 次尝试关联 Acrobat Pro 或 Reader 后,在几小时(有时是几秒钟)后重新设置。)。现在到 Regedit 设置。您需要在注册表中查找关联的 PROGRAM-ID,然后为要从该程序中排除的 FILE TYPE 创建一个新项。以下条目....
[HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages\Microsoft.MicrosoftEdge_25.10586.0.0_neutral__8wekyb3d8bbwe\MicrosoftEdge\Capabilities\FileAssociations]
".htm"="AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9"
".html"="AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9"
".pdf"="AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723"
".svg"="AppXde74bfzw9j31bzhcvsrxsyjnhhbq66cs"
".xml"="AppXcc58vyzkbjbs4ky0mxrmxf8278rk9b3t"
Run Code Online (Sandbox Code Playgroud)
...表明对于 PDF
AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723
是程序 ID。
现在你去...
HKEY_CURRENT_USER\SOFTWARE\Classes\AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723
(注意相同的ID)并创建一个新的字符串键NoOpenWith(留空)
示例(只要 MS 不更改 ID)以下内容将阻止 Edge 劫持 .HTM .HTML 和 .PDF 文件:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9]
"NoOpenWith"=""
[HKEY_CURRENT_USER\SOFTWARE\Classes\AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723]
"NoOpenWith"=""
Run Code Online (Sandbox Code Playgroud)
(您可以将其复制到文本文件中,将扩展名更改为 .reg 并将其导入您的注册表。)
如果再次删除这 2 个键 NoOpenWith,它将恢复为原始设置。
我切换到了最新版本的 WinZip (20.0),此后就再也没有遇到过这个问题。所以我猜测以前的版本(15.0)在某种程度上与 Windows 10 文件关联不兼容并触发了重置。
| 归档时间: |
|
| 查看次数: |
107327 次 |
| 最近记录: |