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

创新设置:仅在需要时创建卸载注册表项

易京
2023-03-14

我需要强制< code>[Setup]部分中的指令< code > CreateUninstallRegKey 仅在需要时为卸载创建注册表项。

例如,如果我设置了一个条件来创建卸载注册表项,则只有当条件为True时才能创建该项。否则,不得创建卸载注册表项。

如何在Inno设置中执行此操作?

更新问题

我写的代码是:

[Setup]
CreateUninstallRegKey=RegKeyDeterminer

[Code]
function RegKeyDeterminer(): Boolean;
  begin
  Result:= ISDoneError = True;
  if ISDoneError = True then Result:= True;
end;

使用此代码,卸载注册表项始终在创建。(我写的代码应该是有问题。

如果 ISDoneError = True,则不得创建卸载注册表项。

如果 ISDoneError = False,则必须创建卸载注册表项。

ISDoneError 只有 True 或 False 值。(它是ISDone中的一个布尔函数.dll它是一个动态链接库,用于从Inno Setup中的7-Zip,RAR,Binary等存档中提取文件。

这些是条件。如果您可以看到任何错误或条件设置错误,请更正我的代码。

非常感谢。

共有1个答案

应翰飞
2023-03-14

< code > CreateUninstallRegKey 指令可以将布尔表达式/函数作为其值。

因此,当您需要创建密钥时,只需实现该函数以返回< code>True,否则返回< code>False。

 [Setup]
 CreateUninstallRegKey=CreateKey

 [Code]

 function CreateKey: Boolean;
 begin
   Result := condition;
 end;
 类似资料:
  • 了解如何创建和管理插件。 创建插件 选择“插件”>“开发”>“创建插件”,该菜单将引导您进入 Adobe I/O 开发者控制台。 有关更多创建、测试、提交插件的入门信息,请参阅 Adobe XD 开发者文档。创建插件 查看和安装插件 要查看可安装的插件,请选择“插件”>“发现插件”,或者单击工具栏上的“插件”图标。此外,单击“发现插件 (+)”图标启动“插件管理器”。 查看和安装插件 在插件管理器

  • 问题内容: 我知道我可以使用它来创建DDL创建触发器; 问题在于,该触发器将在“创建序列”之类的DDL上运行;如何仅对“创建表” DDL执行此操作? 问题答案: CREATE OR REPLACE TRIGGER create_table_trigger AFTER CREATE ON SCHEMA BEGIN IF SYS.DICTIONARY_OBJ_TYPE = ‘TABLE’ THEN .

  • WordPress有一个管理仪表板。在仪表板中,我们可以作为管理员添加新用户。我想在管理员添加新用户时在MySQL中创建一个表。例如,我创建了一个名为John Smith的用户,其用户名为user1;当我成功添加该用户时,将在名为user1的数据库中创建一个表。

  • 在Inno设置帮助中: dontcreatekey 当指定此标志时,如果用户系统中不存在该项,安装程序将不会尝试创建该项或任何值。如果该项不存在,则不会显示错误消息。 通常,此标志与标志结合使用,用于在卸载期间删除密钥但在安装期间不创建它们。 我的程序在当前用户自动启动部分下创建一个注册表值(类型为),但前提是用户从设置屏幕显式执行此操作。 我想让卸载程序清除这个条目,所以我在Inno安装项目中添

  • 安装企业微信移动客户端后,可先在手机上创建企业,先行体验企业微信的便捷高效。 手机创建企业 1 / 创建流程 01/05选择微信登录。 02/05进行登录授权。 03/05输入管理员的手机号码及企业邮箱帐号。 04/05填写公司名称及管理员真实姓名。 05/05创建成功,开始体验企业微信。 2 / 移动端补充营业执照 若想体验功能更完整的企业微信,建议在手机上认领企业,补充营业执照。认领后可获得1

  • 问题内容: 我有一个简单的应用程序,说它有一些类和一个“额外的”类来处理数据库请求。目前,每次使用该应用程序时,我都会创建数据库对象,但是在某些情况下,不需要数据库连接。我正在这样做(PHP btw): 但是有时对象不需要数据库访问,因为仅调用没有数据库操作的方法。所以我的问题是:处理这样的情况的专业方法是什么/如何仅在需要时才创建数据库连接/对象? 我的目标是避免不必要的数据库连接。 问题答案: