【问题标题】:How to remove file associations如何删除文件关联
【发布时间】:2011-08-26 11:50:33
【问题描述】:

我想知道应该删除哪些信息才能删除与特定文件扩展名的程序关联。

我显然知道扩展存储在 HKEY_CLASSES_ROOT 键中,但我不确定要删除或保留什么。卸载程序时是否应该删除整个 .EXTENSION 键?我应该备份密钥的原始数据吗?或者干脆清除默认键值(即程序ID)?

请指教。

【问题讨论】:

  • 当然恢复原始状态很好,假设他们仍然安装了为其提供服务的应用程序。不要让它变得更复杂。 ;)

标签: .net windows file registry associations


【解决方案1】:

首先,我建议您使用内置的ftype and assoc commands,而不是直接编辑 HKCR。 (即使它们改变了 Reigstry 的排列方式,毫无疑问,微软将继续支持这些命令以正确的方式进行。)

我猜您对文件关联的处理方式取决于扩展名的命令...(您可以查找常见的文件扩展名here。)如果您的应用程序使用罕见的文件扩展名,那么我会说您可以安全地删除扩展关联 (assoc .ext=) 和文件类型 (ftype myfiletype=)。

但是,如果您的应用注册了一个通用的文件扩展名——比如“.TXT”——那么你应该尽最大努力优雅地处理它。如果你想真的很好,你可以在安装过程中保存现有的文件关联,然后在卸载过程中将它们恢复到原来的值。或者在像“.TXT”这样有一个通用默认值(NOTEPAD.EXE)的情况下,您可以将其设置回那个值。否则,我可能会删除关联(assoc .ext=),这样下次用户双击文件时,它会提示他们选择一个程序(这将为他们构建 ftype 值)。

【讨论】:

  • @David 很高兴知道...但是您能指出他们的建议吗?
  • 我认为您的问题是您出于某种原因正在搜索 Micro$oft。这家公司叫微软。
  • 我很清楚公司名称的拼写方式。用美元符号拼写是个小玩笑。但无论如何——回到我的问题:微软对文件类型关联的建议是什么?我没见过这样的规范。
  • 我真的不觉得这个笑话很好笑。是比较冒犯的。很多 MS 员工都在这里活跃。您应该编辑答案并减少侮辱性。
  • MS 建议您不要在安装程序中使用其他可执行文件。相反,您应该直接写入注册表。这使得 msi 包更具延展性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多