在Inno Setup中禁用静默和静默卸载

时间:2012-05-30 12:01:39

标签: inno-setup

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

1 个答案:

答案 0 :(得分: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)在非静音模式下重新运行设置,你可以在InitializeSetup if块内使用它:

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

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