Inno Setup:仅在需要时创建卸载注册表项
Inno Setup : Create Uninstall Registry Key only when needed
我需要强制 [Setup]
部分中的指令 CreateUninstallRegKey
只在需要时创建用于卸载的注册表项。
例如,如果我设置一个条件来创建卸载注册表项,
它只能在条件为真时创建。
否则不得创建卸载注册表项。
如何在 Inno Setup 中执行此操作?
更新问题
我写的代码是:
[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
中的一个布尔函数,它是一个动态 Link 库,用于从中提取文件Inno Setup 中的 7-Zip、RAR、Binary 等存档。)
这些是条件。
如果您发现任何错误或条件设置错误,请更正我的代码。
谢谢。
将CreateUninstallRegKey
directive can take a boolean expression/function作为其值。
因此,当您需要创建密钥时,只需将函数实现到 return True
,否则实现 False
。
[Setup]
CreateUninstallRegKey=CreateKey
[Code]
function CreateKey: Boolean;
begin
Result := condition;
end;
我需要强制 [Setup]
部分中的指令 CreateUninstallRegKey
只在需要时创建用于卸载的注册表项。
例如,如果我设置一个条件来创建卸载注册表项, 它只能在条件为真时创建。 否则不得创建卸载注册表项。
如何在 Inno Setup 中执行此操作?
更新问题
我写的代码是:
[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
中的一个布尔函数,它是一个动态 Link 库,用于从中提取文件Inno Setup 中的 7-Zip、RAR、Binary 等存档。)
这些是条件。 如果您发现任何错误或条件设置错误,请更正我的代码。
谢谢。
将CreateUninstallRegKey
directive can take a boolean expression/function作为其值。
因此,当您需要创建密钥时,只需将函数实现到 return True
,否则实现 False
。
[Setup]
CreateUninstallRegKey=CreateKey
[Code]
function CreateKey: Boolean;
begin
Result := condition;
end;