3

您如何CreateUninstallRegKey通过代码禁用 Inno Setup?

我在 Inno Setup 中创建的setup.exe文件接受参数,例如:

setup.exe -a

或者

setup.exe -b

如果-a提供了参数,则启用CreateUninstallRegKey,或者如果-b提供了参数,则禁用CreateUninstallRegKey

无论如何要CreateUninstallRegKey通过代码设置还是我必须创建一个函数然后在脚本部分调用该函数?

这个帮助页面解释了如何使用{code:...}常量,但不幸的是我得到了这个错误:

代码和错误消息的屏幕截图

谢谢

4

1 回答 1

5

不要使用{code:}表达式将值传递给布尔类型指令。这样做:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
CreateUninstallRegKey=NeedsUninstallRegKey

[Code]
function CmdLineParamExists(const Value: string): Boolean;
var
  I: Integer;  
begin
  Result := False;
  for I := 1 to ParamCount do
    if CompareText(ParamStr(I), Value) = 0 then
    begin
      Result := True;
      Exit;
    end;
end;

function NeedsUninstallRegKey: Boolean;
begin
  Result := CmdLineParamExists('-a');
end;
于 2013-06-21T07:07:20.367 回答