我需要强制CreateUninstallRegKey
部分中的指令[Setup]
仅在需要时创建用于卸载的注册表项。
例如,如果我设置条件来创建卸载注册表项, 它必须仅在条件为True时创建。 否则,不得创建卸载注册表项。
如何在Inno Setup中执行此操作?
更新的问题
我写的代码是:
[Setup]
CreateUninstallRegKey=RegKeyDeterminer
[Code]
function RegKeyDeterminer(): Boolean;
begin
Result:= ISDoneError = True;
if ISDoneError = True then Result:= True;
end;
使用此代码,Uninstall注册表项始终在创建。 (我写的代码应该是错误的。)
如果ISDoneError = True,则不得创建卸载注册表项。
如果ISDoneError = False,则必须创建卸载注册表项。
ISDoneError
只有True或False值。(它是ISDone.dll
中的布尔函数,它是一个动态链接库,用于从7-Zip,RAR,Binary等中提取文件。在Inno Setup中存档。)
这些是条件。 如果您看到任何错误或条件设置错误,请更正我的代码。
谢谢。
答案 0 :(得分:2)
CreateUninstallRegKey
directive可以使用boolean expression/function作为其值。
因此,只需在需要创建密钥时实现函数返回True
,否则False
。
[Setup]
CreateUninstallRegKey=CreateKey
[Code]
function CreateKey: Boolean;
begin
Result := condition;
end;