VCL Styles for Inno Setup

DLL VCL Styles for Inno Setup 1.5.4.1

Нет прав для скачивания
cspp, ну я же выше с исправленной буквой написал. тем более это легко проверить на работоспособность. во вложении последняя версия 1.5.4.0 упакованная UPX.
 

Вложения

здравствуйте

у меня все Style работает кроме Windows10

когда выбираю, открывается стандартные стил inno setup

upload_2018-12-9_13-55-40.png
 
Интегрировал поддержку VCL Style в Inno Setup v6.0.2.
Архив модифицированных файлов на замену: скачать
Файлы в архиве:
  • ISCmplr.dll - библиотека компиляции сценариев для Compil32 и ISCC;
  • ISPP.dll - библиотека реализующая интерфейс препроцессора Inno Setup;
  • Setup.e32 - модуль программы установки (интерфейс мастера и выполнение);
  • SetupLdr.e32 - модуль загрузчика для программы установки (распаковка и запуск);
  • ISCC.exe - интерфейс командной строки для компилятора;
  • Compil32.exe - графический интерфейс для компилятора (русский, расширенный);
  • ReadMe.txt - описание мода, применение.
Чтобы применить стиль к диалогам инсталлятора/деинсталлятора, добавьте в секции [Setup] директиву SetupStyleFile с указанием файла стиля.

Примеры:
1) файл стиля находится в одной папке с файлом сценария
SetupStyleFile=Glow.vsf
2) файл стиля находится в каталоге Inno Setup, в подпапке "Styles"
SetupStyleFile=compiler:Styles\Glow.vsf
3) файл стиля находится в определенном каталоге
SetupStyleFile=D:\My Files\For Install\VCL Style\Glow.vsf

На этом все. Выполните сборку инсталлятора и проверьте его работу.

Таким образом отпадает необходимость использовать плагин и писать в сценариях код, реализующего его работу.

Мод выполнен на базе обновленной библиотеки VCL Styles Utils от Rodrigo Ruz (RRUZ).
 
SBalykov, исходники закрытые у restools, а если есть, то комментарию к коду на китайском будут.
 
По этой ссылке я периодически обновляю модули Inno, выложенные выше. Кому интересно, пока пользуйтесь файлами для версии 6.0.2.

По поводу ResTools. Автор Inno ввел искусственное ограничение на поддерживаемые классы, свойства и методы, используя соответствующие директивы компиляции (MiniVCL). Можно сделать по аналогии с ResTools, отключить директивы и собрать FullVCL. Правда до уровня ResTools будет еще очень далеко, но уже кое-что. Например, у компонентов в секции 'Code' можно будет использовать следующие свойства: DragCursor, DragMode, ParentShowHint, PopupMenu, OnDragDrop, OnDragOver, OnEndDrag, OnMouseDown, OnMouseMove, OnMouseUp, OnStartDrag. Пока что это все. По указанной выше ссылке вы найдете соответствующие сборки (с поддержкой VCL Styles).

О новых компонентах, функциях и свойствах, которые были доступны в модификации ResTools, речь пока не идет. Но дополнить и добавить возможно. Для этого нужно всего лишь разобраться с библиотекой RemObjects Pascal Script, которую использует Inno при обработке секции 'Code'. К сожалению мне не удалось нарыть толковой документации, да и программист с меня - уровень начинающий. :rolleyes:
 
В связи с выходом финальной версии Inno Setup 6.0.3 обновлены компоненты программы на модифицированные версии с поддержкой стилей VCL.
Еще раз продублирую ссылку на общую папку: здесь

Модифицированные компоненты Inno Setup (на замену) доступны в каталоге "VCL" (см. в папке "ISCmprl"). Есть варианты с параметром компиляции "MiniVCL" и без него (только в стандартной поставке). Если не знаете, что выбрать (для новичков), можете воспользоваться установочной версией из папки "Install" (файл архива "innosetup-6.0.3VCL.rar") - компиляция с параметром "MiniVCL". Если планируется использование совместно с официальной версией, то установку модифицированной версии выполните в другой каталог.

Компиляция Inno Setup выполнена с поддержкой ОС Windows XP. Это сделано для возможности работать с программой на этих системах (создавать инсталляторы). Но, следует отметить, что некоторые новые функции Inno Setup 6, к примеру, TaskDialogMsgBox и SuppressibleTaskDialogMsgBox, не поддерживаются Windows XP, поэтому, если ваши пользователи все ещё являются сторонниками этой системы, то постарайтесь эти функции в ваших сценариях не использовать.
 
Leserg, Помогите с вопросом, при использование секций:
Код:
LicenseFile=
InfoBeforeFile=
InfoAfterFile=
и если текста много в документе, который прикрепляешь - происходит типа двойного наложения или просвета:

если мало то нормально.

При использование отдельной библиотеки такого не наблюдается.
 
Andreo Fadio, у себя я такой ошибки не наблюдаю и мне не удается её воспроизвести. Поэтому мне трудно как-то вам помочь. Попробуйте использовать стили из моего архива (по ссылке VCL -> Styles). Я использую стили версии 2, в плагине используются стили версии 1. Также используйте установочную сборку Inno из архива innosetup-6.0.3VCL.rar (по ссылке в папке Install). Если не хотите установочный вариант, то используйте файлы на замену в официальном релизе из архива IS6.0.3VclMod.7z (по ссылке в папке VCL -> ISCmplr -> MiniVCL). Файлы из этого архива используются в установочном варианте Inno. Возможно в вашем сценарии есть какие-то особенности или попробуйте использовать классический вариант установщика (WizardStyle=classic). Больше никаких мыслей нет, дайте больше информации. Еще вариант посмотреть поведение вашего инсталлятора с этой ошибкой на других системах (дайте на него ссылку и на сценарий - можно в личку).
 
Leserg, я компилировал чисто пример (ссылка на него ниже) из папки Examples с прикреплением файла (*.txt) через стандартную для Inno секцию
Код:
InfoBeforeFile=*.txt

Стиль использован из вашего архива: Glossy2.vsf
Тип установки: Измененные файлы из IS6.0.3FullVclMod.7z поверх 6.0.3
Опер.система: Windows 10 1903

Просвет виден, если попереходить со страницы на страницу - просвечивает по границе окна с текстом, участок с другой страницы.
Именно на страницах из секций:
Код:
LicenseFile=
InfoBeforeFile=
InfoAfterFile=
Так же, что стиль установки modern или classic ничего не меняется, одно и тоже.
P.S. Тест на системе Windows 8.1 показывает тоже самое наложение и просвет.
 

Вложения

Последнее редактирование:
Andreo Fadio, у себя я такой ошибки не наблюдаю.

My Program01.png

Скомпилируйте пример и дайте полученный файл инсталлятора. Возможно на живом примере получится разобраться в проблеме.
 
Вроде бы разобрался почему было:
Ошибочка - использовал версию innosetup-6.0.3VCL.rar полную установочную.
Пересобрал ручками поверх чистой 6.0.3 и нет проблем вроде бы :)

Почему-то даты измененных файлов не совпадают у установочной версии от 12.10, а для ручной установки от 15.10
 
Ошибочка - использовал версию innosetup-6.0.3VCL.rar полную установочную.
Я хочу уточнить. Вы использовали установку Inno Setup из архива innosetup-6.0.3VCL.rar, потом вручную
Измененные файлы из IS6.0.3FullVclMod.7z поверх 6.0.3
Правильно? И в этом случае проявлялась ошибка.

После этого, вы установили Inno Setup из официального релиза, а потом вручную
Измененные файлы из IS6.0.3FullVclMod.7z поверх 6.0.3
Так? И проблема ушла.

Почему-то даты измененных файлов не совпадают у установочной версии от 12.10, а для ручной установки от 15.10
Даты разные, но файлы одинаковые. :)

Глянул ваш собранный пример. Да, действительно баг с отображением компонента TRichEditViewer - в нем отсутствует стиль WS_EX_CLIENTEDGE. Теперь бы ещё разобраться, почему так вышло. :scratchhead:
 
Назад
Сверху