Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Скрытие заставки в установщике Inno Setup с ISSI при автоматическом тестировании

Delphi , ОС и Железо , Монитор и Экран

В процессе разработки программного обеспечения на языке Object Pascal, используя среду Delphi, разработчики часто сталкиваются с необходимостью автоматизации процесса установки. Одним из инструментов, позволяющих создать профессиональный инсталлятор, является Inno Setup. Для улучшения визуальной составляющей установщика может использоваться стороннее расширение ISSI. Однако, при запуске установщика в режиме /VERYSILENT, предназначенном для полностью автоматической установки без взаимодействия с пользователем, может возникать проблема отображения заставки.

Проблема

Разработчик, использующий ISSI для создания заставки в установщике Inno Setup, столкнулся с проблемой отображения заставки даже в режиме /VERYSILENT. Это создает проблемы при автоматическом тестировании установщика, например, с использованием Jenkins, так как наличие оконных элементов может привести к сбою теста.

Решение

Исходя из предоставленного контекста, стандартные возможности ISSI не предусматривают возможность скрытия заставки в режиме /VERYSILENT. Однако, разработчик нашел решение, заключающееся в использовании небольшого "хакерского" подхода. В коде установщика был добавлен следующий фрагмент:

[ISSI]
#define ISSI_SplashScreen_T "{code:GetSplashTime}"

[Code]

function GetSplashTime(Param: string): string;
begin
  if WizardSilent then Result := '0'
    else Result := '5';
end;

[ISSI]

Функция GetSplashTime проверяет, находится ли установщик в режиме /VERYSILENT (переменная WizardSilent истинна), и если да, возвращает значение '0', что приводит к немедленному закрытию заставки. В противном случае возвращается '5', что означает отображение заставки на 5 секунд.

Альтернативное решение

В качестве альтернативы предлагается более чистый способ решения проблемы: скопировать код заставки непосредственно из файла _issi.isi в свой скрипт установщика. Это позволит избежать использования сторонних функций ISSI для скрытия заставки.

Заключение

При автоматизации процесса установки программного обеспечения важно учитывать все аспекты, которые могут повлиять на процесс тестирования. В данном случае, проблема с отображением заставки в режиме /VERYSILENT была решена с помощью небольшой модификации кода установщика. Это позволило устранить нежелательное поведение и обеспечить корректную работу установщика в автоматическом режиме.

Создано по материалам из источника по ссылке.

Разработчик столкнулся с необходимостью скрыть заставку в установщике Inno Setup от ISSI при автоматическом тестировании для предотвращения сбоев.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Монитор и Экран ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-03-13 23:04:00/0.0038261413574219/0