当前位置: 首页 > 知识库问答 >
问题:

在卸载过程中删除注册表项(不是由安装程序创建的)(Inno Setup)

司徒博容
2023-03-14

在Inno设置帮助中:

dontcreatekey

当指定此标志时,如果用户系统中不存在该项,安装程序将不会尝试创建该项或任何值。如果该项不存在,则不会显示错误消息。

通常,此标志与uninsdeletekey标志结合使用,用于在卸载期间删除密钥但在安装期间不创建它们。

我的程序在当前用户自动启动部分下创建一个注册表值(类型为string),但前提是用户从设置屏幕显式执行此操作。

我想让卸载程序清除这个条目,所以我在Inno安装项目中添加了以下内容:

[Registry]
Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "this_is_a_test"; Flags: dontcreatekey uninsdeletevalue

然而,这似乎不起作用。我感觉< code>dontcreatekey标志只适用于“键”而不适用于“值”。如果是这样,我该如何完成呢?

(1)假设“key”将是“SOFTWARE\Microsoft\Windows\货币版本\运行”(在安装之前将始终存在),并且“value”将是驻留在该键内的类型string的条目。

共有1个答案

公冶森
2023-03-14

使用ValueType:无或完全省略ValueType参数:

如果指定了< code>none(默认设置),安装程序将创建密钥,但不创建值。在这种情况下,忽略< code>ValueName和< code>ValueData参数

尽管注意文档并不完全正确。当与< code > uninsteletevalue 标志结合使用时,< code>ValueName不会被忽略。

[Registry]
Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; \
    ValueType: none; ValueName: "this_is_a_test"; Flags: dontcreatekey uninsdeletevalue
 类似资料:
  • 本文向大家介绍完全卸载mysql(停止服务、卸载相关程序、删除注册表,包括了完全卸载mysql(停止服务、卸载相关程序、删除注册表的使用技巧和注意事项,需要的朋友参考一下 1. 停止服务MySQL 2. 卸载mysql相关的程序 3. 删除注册表(运行->regedit),machine->system->controlset001/controlset002/currentcontrolset-

  • 我已经将电子应用程序设置为在Windows上自动启动: 这将在注册表的位置中添加一个条目 我正在使用electron-builder打包我的应用程序。 这里提到我可以在卸载nsis时添加脚本。 这是我的自定义安装程序。nsh: 最后,我在package.json中提到了它: 但是,当我卸载我的应用程序时,该条目仍然留在注册表中。 如何删除此条目?

  • 由于install4j没有一个维护安装程序来允许删除部分组件,我修改了卸载程序,以创建显示每个可卸载组件的可配置表单,然后简单地根据用户选择删除文件,这反过来意味着删除标准卸载屏幕。

  • 我需要强制< code>[Setup]部分中的指令< code > CreateUninstallRegKey 仅在需要时为卸载创建注册表项。 例如,如果我设置了一个条件来创建卸载注册表项,则只有当条件为True时才能创建该项。否则,不得创建卸载注册表项。 如何在Inno设置中执行此操作? 更新问题 我写的代码是: 使用此代码,卸载注册表项始终在创建。(我写的代码应该是有问题。 如果 ISDone

  • 在我的< code>[Files]部分中,我有以下内容: 在部分我有: 最后,在部分,我有: 现在,在这个版本的程序中,我已经将这两个DLL文件的功能合并到另一组DLL文件中: 因此, DLL 文件。现在,我知道如果它们存在,我可以简单地删除它们: 但据我所知,这不会像 中那样触发 DLL 文件的注销。 我该怎么做?在安装过程中删除并注销DLL文件(如果存在)?

  • 使用 Creative Cloud 桌面应用程序卸载 Creative Cloud 应用程序。 卸载 Creative Cloud 应用程序 如果您不再需要某个应用程序,则必须使用 Adobe Creative Cloud 桌面应用程序卸载该应用程序。 注意:不要将应用程序文件和文件夹拖到“废纸篓”或“回收站”中,因为这样做无法将其正确卸载。 单击位于任务栏 (Windows) 或 Apple 菜