2

是否可以在 Inno Setup 中禁用静默和非常静默卸载?

4

1 回答 1

3

您不能直接禁用它,但您可以检查它是否在静默模式下运行并在InitializeSetup()/InitialiseUninstall()事件功能期间显示消息/退出。

function InitializeSetup(): Boolean;
begin
  // Default to OK
  result := true;

  // If it's in silent mode, exit
  if WizardSilent() then
  begin
    MsgBox('This setup doesn''t support silent installations.', mbInformation, MB_OK);
    result := false;
  end;
end;

或卸载:

function InitializeUninstall(): Boolean;
begin
  // Default to OK
  result := true;

  // If it's in silent mode, exit
  if UninstallSilent() then
  begin
    MsgBox('This setup doesn''t support silent uninstallation.', mbInformation, MB_OK);
    result := false;
  end;
end;

(未经测试的空气代码)

如果您想以静默方式 (??? :o) 在非静默模式下重新运行设置,您可以在InitializeSetupif 块中使用它:

ShellExecAsOriginalUser('', ExpandConstant('{srcexe}'), '', '',  SW_SHOWNORMAL, ewNoWait, 0);

请注意,这还将删除传递的任何其他参数并再次提示提升。

于 2012-05-30T13:39:17.033 回答