Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 5]
Еще вопрос - как получить hwnd окна деинсталлятора?
пробую в CurUninstallStepChanged (usUninstall) использовать MainForm, при запуске деинсталлятора пишет:
---------------------------
Ошибка
---------------------------
Runtime Error (at 21:566):
Внутренняя ошибка: An attempt was made to access MainForm before it has been created.
---------------------------
ОК
---------------------------
Как сделать инсталлятор, что до подготовленной установки, распаковался шрифт (всего лишь 1 штук, к пути: C:\WINDOWS\Fonts) и сделать в подготовленном инсталляторе, чтоб все страницы изменялись шрифты.
Johny777
24-05-2012, 16:48
ASheff,
в деинсталятре не основная форма инсталла (MainForm), а
procedure InitializeUninstallProgressForm;
begin
UninstallProgressForm.AutoScroll := False;
...
то бишь другая
alert30,
в шапке классный пример El Sanchez-а
"Свой шрифт в инсталляторе"
сам использую
пока инсталл делаю сбоев не обнаружил :) !
Johny777, а как же распаковка файлов до начала подготовительной установки?
Johny777
24-05-2012, 17:20
до начала подготовительной установки »
Я, если честно, не совсем понимаю что ты имеешь в виду под "подготовительной установкой" :(
схему установки пожалуйста (или кусок скрипта, где всё тобой описанное происходит)
и на каком этапе должен быть задействован шрифт?
Схема такая через стрелки: запуск программы -> распаковка файлов, ну например шрифт MyriadPro Regular: C:\WINDOWS\Fonts -> начало подготовительной установки ("Вас приветствует Мастер установки...").
Вообще, надо сделать так, чтоб пользователи навсегда увидели инсталлятор со шрифтом типа MyriadPro Regular, а не стандартные. Хоть даже, что шрифт типа MyriadPro Regular не установлен.
в деинсталятре не основная форма инсталла (MainForm), а
Код:
procedure InitializeUninstallProgressForm;
begin
UninstallProgressForm.AutoScroll := False;
...
то бишь другая »
Ага, спасибо! Работает :)
Johny777
24-05-2012, 17:32
alert30,
не вижу проблем
в начале процедуры InitializeWizard ставишь шрифт а потом создаёшь всё остальное (лейблы, чекбоксы...), которое этот шрифт использует
шрифт всего инсталла ставишь так:
procedure InitializeWizard;
begin
/// ставим временный шрифт
WizardForm.Font.Name:= 'Tahoma'; /// или другое название
начало подготовительной установки »
у тебя часом не форма(что-то вроде подготовительной) перед появлением основного окна?
если да значит до создания формы
в самом начале
Johny777, а если например пользователь не установит этот шрифт (возьмем Arial). Шрифт же поменяется на стандартный (Tahoma), как обычно.
Johny777
24-05-2012, 17:40
а если например пользователь не установит этот шрифт (возьмем Arial) »
так ты его ставишь (а точнее инсталл в начале своей инициализации), а не пользователь
в том коде проверка есть или нет шрифта в системе пользователя, а если нет, то тут же будет!
а при деинициализации (отмена, установка завершена) шрифт слетает, если был установлен
Johny777, это да, но как автоматически установить шрифт до начала "Вас приветствует...". В деинсталляции пусть останется, вдруг кому может сделать документ в этой шрифте.
Johny777
24-05-2012, 17:45
Ты об этом "Вас приветствует...". »
-
http://rghost.ru/38260218/image.png (http://rghost.ru/38260218.view)
-?
Ты об этом »
Не только, всю страницу.
если да значит до создания формы »
Вот это я имел ввиду до появлении этих "форм".
Johny777
24-05-2012, 18:00
вот как ты хотел, с Ариалом (в качестве примера)
оно?
главное в самом начале секции ставь установку шрифта
Dark_Delphin
24-05-2012, 18:29
Всем привет.
Подскажите пример наложения логотипа.PNG на инсатллятор без Fairy.dll
Заранее спасибо.
Gnom_aka_Lexander
24-05-2012, 18:37
Dark_Delphin, на ботве - кнопку делашь, со всеми 4-мя положениями одинаковыми и кладешь ее на стекло. а может и картинка прокатит, хотя вроде раньше не ложилась.
Dark_Delphin
24-05-2012, 18:51
Лександер, мне не на стекло.
Gnom_aka_Lexander
24-05-2012, 18:53
Dark_Delphin, тем более. но лучше кнопкой - ее кликабельной проще сделать и параметры удобные, курсор можно вкорячить одной строчкой и т.п.
Dark_Delphin
24-05-2012, 18:54
Лександер, а где пример можно посмотреть?
Johny777
24-05-2012, 18:58
Dark_Delphin,
в твоём случае проще обойтись без ботвы
тебе поможет наш друг "Image Button" и фотошоп
(другой пример, который я укорачивал это Inno Setup 5\Examples\Example_MouseEvent_ImgBtn.iss)
прикладываю архив с укороченный под свои нужды кодом (думаю тебе в самый раз. При желании можно добавить состояние "при наведении") .
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.