@
Sokranotes #28 首先,你可能没有明确表述问题是什么。
原帖的内容可以推断,你用的是安装了各种应用软件的 Windows 11 并且每次重启都会被提示文件关联重置,你的问题大概是“这种情况(安装了一堆解题者不知道的软件)下如何让关联不再被重置”。
这个问题的答案我已经在 #9 说过了,或许不明显,那么我可以说得更明白一些:有一个软件尝试修改你的文件关联,因此 Windows 会重置之,解决方法是删除这个捣乱的软件。
#26 提到的
>我为了这个问题重装了一次系统,把所有软件重新装了一次,实实在在的做了很多尝试,而不是像你一样空谈“正确方法”。
我不确定你的操作方式,但我可以告诉你的是,安装 en-us_windows_11_consumer_editions_version_24h2_updated_aug_2025_x64_dvd_9236d79b.iso (这个文件的 SHA-256 是 12ee1e95dd2173af0fc9b90449e4cc34287289669ed90a1c4c99c015739636ee )里面的 Windows 11 之后安装 google dot com slash chrome 下载的 Chrome (假设这些操作是 2025 年 8 月完成的),那么用自然的方式设置文件关联后不会被重设。(排除电脑被宇宙射线巧妙轰击的情况。)
所以问题根源依然是你(重新)安装的其他软件之一。
没有更多信息之前,我认为问题没有发生变化,即“在安装了一些未知的软件之后反复被重设文件关联,要怎么防止被重设”。而且因为从干净的系统安装 Chrome 并不会导致你说的问题,所以我建议的方法依然是更优的。
————
如果你同意问题如上,而不是“在我不给大家透露更多有效信息以细化问题后,如何解决细化的问题”,那么你发现用 SetUserFTA 后在你的环境下不再产生该问题,并不能推出你的方法“解决了问题”,因为可以构造如下场景,使得你的问题依然存在:
设置一个程序自启动,并且在随机的延时后篡改文件关联。
此时,如果 SetUserFTA 先完成设置,那么你的问题依然会出现,并且问题是否发生是取决于时延的、随机的。如果你使用 SetUserFTA 后一直没有观测到问题,且取消后又能观测到问题,那么比较合理的推断是:你的 SetUserFTA 程序恰好在文件关联被篡改后、Explorer 检查文件关联完整性之前完成,这样文件关联会是你用 SetUserFTA 设置的版本,并且 Explorer 查看的时候不会发现它曾经损坏过,因此不会重设。我觉得“SetUserFTA 能恰好在这两个时间节点之间完成工作”,并不是很好的假设,因为 Windows 自启动程序的速度、顺序(会影响 SetUserFTA 生效的时间)并不是一成不变的。
————
如果你不同意问题如上,而是认为问题就是你特定装机之后如何避免,那么你可以声称你解决了问题,但是其他人无法验证。
此外,知道哪个程序篡改关联很重要,是因为:
1. 文件关联的 hash 校验是 Windows 8 之后才引入的
2. 任何按照 Windows 7 及之前的方式注册、修改文件关联(包括修改默认关联)的程序,都不会导致这一行为
由此推断,任何导致文件关联被篡改从而重设的程序,必然是刻意绕过 Windows 8 之后设计的“只有用户主动修改才算数”的机制,属于恶意修改。
————
>你读博做研究也会这样吗,问题都没有搞清楚的情况下,就发表自己的看法。
你为什么会觉得研究和 Windows 用法是类似的问题?简单的答案是:Windows 文件关联的机制是有官方文档的,因此所有这类问题的答案都是既定的,我的观点是只要问题本身可以在文档的范围内解决,都应该按照文档记载的方式来;我做研究是自己定义问题或者解决已经定义好但是不知道怎么解的问题,不存在你说的“搞不清楚”的情况。
————
当然,没有必要非要用最好的方法,凑合凑合也挺好的。