代码之家  ›  专栏  ›  技术社区  ›  Ken Paul

我的卸载过程如何正确处理还原注册表项?

  •  0
  • Ken Paul  · 技术社区  · 17 年前

    有时,在应用程序安装期间,有必要修改Windows注册表设置。我最近对卸载时不恢复这些设置的应用程序感到失望。当我进一步思考这个问题时,我突然想到,可能没有一种好的(或有效的)方法来保存和恢复注册表设置。以以下事件序列为例:

    1. .abc .
    2. .美国广播公司 .
    3. 应用程序A已卸载。

    在步骤3,如果应用程序A足够智能,它将检测到它不再拥有打开的操作,因此将跳过任何恢复该操作的尝试。

    在步骤4,应用程序B是否可以采取任何有效的操作?

    • 将指针还原到应用程序A同样也是一个已删除的可执行文件。
    • 删除该操作同样需要用户在以后做出不知情的决定,或者使某些功能对用户不可用。

    这只是我能想象的许多糟糕情况中的一个,在这些情况下,没有明显的一个,只有“正确”的解决方案。我的下一个项目将需要在安装期间更改注册表,我想知道卸载的最佳或推荐做法。不幸的是,我已经被当前商业软件包中糟糕的卸载实践所折磨,所以我知道这里没有关于最佳实践的一致意见,要想正确地完成它需要做大量的工作,或者注册表中存在设计缺陷,或者两者兼而有之。

    正当

    1 回复  |  直到 17 年前
        1
  •  1
  •   Adam Rosenfield    17 年前

    如果您正在编写应用程序B,那么我会说,首先不要劫持.abc扩展的开放操作。在安装过程中,询问用户是否希望将.abc文件与您的程序关联。卸载期间,检查您的程序是否仍然关联。如果是这样,请解除文件扩展名的关联,否则将其保留。