Ограничение информации, отображаемой на странице «Готово к установке» в Inno Setup - PullRequest
0 голосов
/ 25 мая 2020

Для меня это не имеет смысла. Я настроил свой установщик следующим образом:

function ShouldSkipPage(PageID: Integer): Boolean;
begin
    { We don't want to show these pages if we are upgrading. }
    if ((PageID = wpSelectDir) or 
      (PageID = wpSelectProgramGroup) or
      (PageID = wpSelectTasks) or
      (PageID = pageAutoBackup.ID)) then
        Result := bIsUpgrading
    else
        Result := False;

  DwinsHs_ShouldSkipPage(PageID, Result);
end;

bIsUpgrading определено здесь:

function InitializeSetup(): Boolean;
begin
  Result := True;

  // Are we performing an upgrade?
  bIsUpgrading := IsUpgrading();
end;

Теперь вот мой метод памятки:

function UpdateReadyMemo(Space, 
                         NewLine, 
                         MemoUserInfoInfo, 
                         MemoDirInfo, 
                         MemoTypeInfo, 
                         MemoComponentsInfo, 
                         MemoGroupInfo, 
                         MemoTasksInfo: String): String;
begin
  Result := '';
  if MemoUserInfoInfo <> '' then
    Result := Result + MemoUserInfoInfo + NewLine + NewLine;
  if MemoDirInfo <> '' then
    Result := Result + MemoDirInfo + NewLine + NewLine;
  if MemoComponentsInfo <> '' then
    Result := Result + MemoComponentsInfo + NewLine + NewLine;
  if MemoGroupInfo <> '' then
    Result := Result + MemoGroupInfo + NewLine + NewLine;
  if MemoTasksInfo <> '' then
    Result := Result + MemoTasksInfo + NewLine + NewLine;

  Result := Result + AutoBackupPage_MemoInfo(Space, NewLine);
  Result := Result + DwinsHs_MemoDownloadInfo(Space, NewLine);
end;

Когда я запускаю этот установщик, как и ожидалось, страницы не отображаются. Тем не менее, страница Готов к установке по-прежнему выглядит так:

Memo Page

Я не ожидал увидеть эту информацию, поскольку мы никогда не показал эти страницы пользователю.

Я понимаю, что могу настроить logi c следующим образом:

function UpdateReadyMemo(Space, 
                         NewLine, 
                         MemoUserInfoInfo, 
                         MemoDirInfo, 
                         MemoTypeInfo, 
                         MemoComponentsInfo, 
                         MemoGroupInfo, 
                         MemoTasksInfo: String): String;
begin
  Result := '';
  if MemoUserInfoInfo <> '' then
    Result := Result + MemoUserInfoInfo + NewLine + NewLine;
  if MemoDirInfo <> '' then
    Result := Result + MemoDirInfo + NewLine + NewLine;
  if MemoComponentsInfo <> '' then
    Result := Result + MemoComponentsInfo + NewLine + NewLine;
  if MemoGroupInfo <> '' then
    Result := Result + MemoGroupInfo + NewLine + NewLine;

  if(not bIsUpgrading) then
  begin
    if (MemoTasksInfo <> '') then
      Result := Result + MemoTasksInfo + NewLine + NewLine;
    Result := Result + AutoBackupPage_MemoInfo(Space, NewLine);
  end;

  Result := Result + DwinsHs_MemoDownloadInfo(Space, NewLine);
end;

Это улучшает ситуацию:

enter image description here

Но почему различные Memo... текстовые строки не были пустыми, если страницы никогда не отображались для пользователя?

И как мы подавляем «Меню Пуск» Информация о папке, если мы обновляем?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...