|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3] |
|
Скрипты Inno Setup. Помощь и советы [часть 3]
|
Ветеран Сообщения: 1133 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 |
|
------- Отправлено: 00:28, 04-11-2010 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Leka_651, Если прога уже ставилась с помощью Инно и присвоенный тобой либо взятый оригинальный GuID не изменен то выбор компонентов автоматом будет выставлен тот, который был при первой установке.
Важно только, чтоб названия (не описания) компонентов совпадали с предидущей установкой. |
------- Отправлено: 16:48, 14-02-2011 | #801 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Лександер, это так. Но мне нужно чтобы поставились галочки только у тех компонент, которые уже находятся в выбранном пользователем каталоге для установки, не зависимо от того при прошлой установке выбирались они или нет.
|
Последний раз редактировалось Leka_651, 14-02-2011 в 17:15. Отправлено: 16:53, 14-02-2011 | #802 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Leka_651, тогда вот:
Function isHLPinstalled : boolean; var VersionMS0, VersionLS0 : Cardinal; b1, b2 ,b3, b4 : boolean; begin b1 := False; b2 := False; b3 := False; b4 := False; GetVersionNumbers(ExpandConstant('{win}\winhlp32.exe'), VersionMS0, VersionLS0); if (VersionLS0 >= 498089986) then b1 := True; if (FileExists(ExpandConstant('{sys}\ftlx041e.dll'))) then b2 := True; if (FileExists(ExpandConstant('{sys}\ftlx0411.dll'))) then b3 := True; if (FileExists(ExpandConstant('{sys}\fftsrch.dll'))) then b4 := True; if (b1 or b2 or b3 or b4) then Result := True else Result := False end; if isHLPinstalled then компонент выбран, полностью код расписать помогут, думаю, более сведущие знатоки. ![]() Но если файлов очень много, то незнаю, не знаю... ![]() Нужно смотреть, если компонента - отдельная прога, то проще выловить ее из реестра. |
------- Отправлено: 17:43, 14-02-2011 | #803 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Лександер, спасибо. пойду попробую.
|
Последний раз редактировалось Leka_651, 14-02-2011 в 18:05. Отправлено: 18:00, 14-02-2011 | #804 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата Лександер:
Цитата Leka_651:
[Components] # define app01 "прога 1" Name: app\app-01; Description: {#app01}; Flags: checkablealone dontinheritcheck [_Code] function appexist(path:string): Boolean; begin if (FileExists(path)) then result := true else Result := false; end; procedure InitializeWizard(); Begin if appexist(путь к файлу проги) then WizardForm.ComponentsList.Checked[WizardForm.ComponentsList.Items.IndexOf('{#app01}')]:=True; end; |
||
------- Отправлено: 09:41, 15-02-2011 | #805 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать R.i.m.s.k.y., А я и написал, что нужно под свои нужды править
![]() Может подскажеш - действие наведения мышки на кнопку, чекбокс или активный лейбл - как называется? Чтобы привязать к етому действию еще одно действие ![]() |
------- Последний раз редактировалось Gnom_aka_Lexander, 15-02-2011 в 10:29. Отправлено: 10:22, 15-02-2011 | #806 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата Лександер:
|
|
------- Отправлено: 10:31, 15-02-2011 | #807 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать Лександер,
Если просто, то: Если через botva2.dll, то: procedure BtnSetEvent(h :HWND; EventID :integer; Event :Longword); external 'BtnSetEvent@{tmp}\botva2.dll stdcall delayload'; //устанавливает событие для кнопки //h - хэндл кнопки (результат возвращенный BtnCreate) //EventID - идентификатор события, заданный константами BtnClickEventID, BtnMouseEnterEventID, BtnMouseLeaveEventID, BtnMouseMoveEventID //Event - адрес процедуры выполняемой при наступлении указанного события //пример использования - BtnSetEvent(hBtn, BtnMouseMoveEventID, WrapBtnCallback(@BtnClick,1)); |
Последний раз редактировалось nik1967, 15-02-2011 в 11:44. Отправлено: 11:32, 15-02-2011 | #808 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать R.i.m.s.k.y., а в какой момент будет выполняться InitializeWizard??
|
Отправлено: 17:37, 15-02-2011 | #809 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Leka_651, Сразу
![]() |
------- Отправлено: 17:44, 15-02-2011 | #810 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Утилиты - [addon] Inno Setup | CrOsP | Наборы обновлений для Windows XP/2003/Windows 7 | 33 | 11-05-2011 16:03 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 | |
Inno Setup 5.3.6 | OSZone Software | Новости программного обеспечения | 0 | 15-11-2009 17:30 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
Inno Setup | tradeukraine | Вебмастеру | 3 | 13-06-2006 20:39 |
|