Отключить тихую и очень тихую удаление в Inno Setup

Можно ли отключить тихую и очень тихую деинсталляцию в Inno Setup?

2 ответа

Решение

Вы не можете отключить его напрямую, но вы можете проверить, работает ли он в режиме без вывода сообщений, и отобразить сообщение / выйти во время 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 если блок:

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

Обратите внимание, что при этом также будут отброшены все другие переданные параметры и снова будет предложено повышение прав.

Можно использовать такие параметры, как "/SP-, /SILENT, /VERYSILENT", чтобы каждая страница мастера была отключена или скрыта. В innosetup нажмите «Инструмент» -> «Параметры» и сохраните указанные выше параметры, создайте приложение и запустите тест. В основном это поможет вам загрузить в магазин приложений Microsoft. Вы можете использовать этот параметр в параметрах автоматической установки магазина приложений Microsoft.

Другие вопросы по тегам