Innosetup со скинами, показывающий текст вместо полосы прокрутки

Я пытаюсь создать новый установщик, используя InnoSetup 5.5.8 (u) и скин с использованием CodeJock ISSkin v3.0.0. Я использую один из предоставленных примеров скинов (Office 2007 Black), примененный путем копирования примера кода с их веб-сайта (http://isskin.codejock.com/gettingstarted.asp).

У меня возникли некоторые проблемы на странице нашего лицензионного соглашения. В настоящее время мы показываем это с помощью файла RTF на экране мастера по умолчанию. Проблема в том, что на некоторых машинах мы получаем текст ('bef'), отображаемый вместо полосы прокрутки со скинами:

Полоса прокрутки содержит ошибки (слева) и соответствует ожиданиям (справа)

Текст (который, вероятно, является частью сообщения об ошибке) также ненадежен, так как иногда вместо этого я вижу отключенную полосу прокрутки без кожи.

Я надежно вижу ожидаемую версию скина на моей основной виртуальной машине разработчика (установлены Windows 8 Pro, Delphi и InnoSetup/ISSkin), и она периодически появляется на моем хост-компьютере (Win 10, программное обеспечение для разработки не установлено)

Кто-нибудь сталкивался с чем-то подобным и получил достойное исправление/обходной путь? Я подтвердил, что удаление кода скина обеспечивает рабочую полосу прокрутки, так что на данный момент это работоспособное решение.


person Matt Allwood    schedule 10.02.2016    source источник


Ответы (2)


Это похоже на ошибку в механизме скинов, но «bef» действительно странный, я никогда такого не видел. Что говорит официальная поддержка?

Возможно, вы могли бы попытаться обновить/аннулировать компонент, чтобы полоса прокрутки перерисовывалась правильно.

Также вы можете попробовать графический установщик (http://www.graphical-installer.com), который отличается механизм скиннинга и проверьте его поведение там (извините за небольшую саморекламу :)

person Slappy    schedule 11.02.2016
comment
Я согласен, что я думаю, что это проблема с приложением для создания скинов. Я подозреваю, что для этого требуется одна из библиотек времени выполнения Microsoft, которые не поставляются с Windows по умолчанию, но не подтверждены. Я отправил отчет об ошибке в компанию. - person Matt Allwood; 12.02.2016

Мое решение для открытого текста:

procedure InitializeWizard();
var
  NewLicenseMemo: TMemo;

begin
  WizardForm.LicenseMemo.Visible := false;

  NewLicenseMemo := TMemo.Create(WizardForm);
  with NewLicenseMemo do
  begin  
    Parent := WizardForm.LicenseMemo.Parent;      
    Left   := WizardForm.LicenseMemo.Left;
    Top    := WizardForm.LicenseMemo.Top;
    Width  := WizardForm.LicenseMemo.Width;
    Height := WizardForm.LicenseMemo.Height;        
    Text   := WizardForm.LicenseMemo.Text;
    ReadOnly   := True;
    ScrollBars := ssVertical;
  end; 

end;
person Станислав Алпатов    schedule 02.10.2016