|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3] |
|
Скрипты Inno Setup. Помощь и советы [часть 3]
|
Ветеран Сообщения: 1133 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 |
|
------- Отправлено: 00:28, 04-11-2010 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Neutron,
по второму вопросу ответ есть в сборнике скриптов в шапке [Setup] DefaultDirName={reg:HKLM\Software\My Program, Path} где будет браться путь из HKLM\Software\My Program , где ключ обозван Path , где в ключе Path хранится путь до того, что тебе надо. Вот как отключить окно выбора пути установки: [Setup] DefaultDirName={pf}\My Program DisableDirPage=yes Если же тебе надо, чтобы при отсутствии пути в реестре установка отменялась, то тебе надо задать проверку в реестре наличия ключа Path. Хотя я допускаю, что возможно, если установка не найдет этот ключ в реестре, то она в любом случае отменит сама себя. Function InitializeSetup: Boolean; var res : integer; begin ... Exec('ping.exe ', ' 2ip.ru ', ExpandConstant('{sys}'), SW_HIDE, ewWaitUntilTerminated, res); if res > 0 then begin MsgBox('Надено подключение к интернету. Установка будет прекращена'+Filepath, mbInformation, MB_OK); Result := False; end; end; //InitializeSetup |
------- Отправлено: 09:52, 22-04-2011 | #1411 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Здравствуйте! Очень нужна помощь в реализации казалось бы простой фишки, от которой зависит выход релиза.
Принцип: пользователь качает базовый пакет программы, во время установки на определенной странице (допустим, на стандартной странице выбора компонентов установки) он выбирает дополнительные пакеты для этой программы, который инсталлятор сам вытянет из нужного сервера и распакует во время установки. На первый взгляд, всё просто - скачал плагин ISDownloader для IS, нашел уже чеё-то готовый скрипт который проверяет, выбран ли компонент и качает. Вот этот скрипт: [Components] Name: Component1; Description: Антивирус касперского; Flags: checkablealone; Types: full Name: Component2; Description: Commfort Chat; Flags: checkablealone; Types: full Name: Component3; Description: IpTv Player; Flags: checkablealone; Types: full Name: Component4; Description: VideoLan (VLC); Flags: checkablealone; Types: full Name: Component5; Description: Opera Browser; Flags: checkablealone; Types: full [Для Code (бб-код форума не парсится)] procedure InitializeWizard(); begin itd_init; if ISComponentSelected('Component1') then itd_addfile('http://192.168.1.153/mhhl/install/KAV6WKS_2011-09-18_x600_05E5A9CD.key',expandconstant('{tmp}\KAV6WKS_2011-09-18_x600_05E5A9CD.key')); if ISComponentSelected('Component1') then itd_addfile('http://192.168.1.153/mhhl/install/kav.msi',expandconstant('{tmp}\kav.msi')); if ISComponentSelected('Component2') then itd_addfile('http://192.168.1.153/mhhl/install/Chat.exe',expandconstant('{tmp}\Chat.exe')); if ISComponentSelected('Component3') then itd_addfile('http://192.168.1.153/mhhl/install/iptvLan.exe',expandconstant('{tmp}\iptvLan.exe')); if ISComponentSelected('Component4') then itd_addfile('http://192.168.1.153/mhhl/install/vlc.exe',expandconstant('{tmp}\vlc.exe')); if ISComponentSelected('Component5') then itd_addfile('http://192.168.1.153/mhhl/install/Opera11.exe',expandconstant('{tmp}\Opera11.exe')); itd_downloadafter(wpReady); end; ![]() Затем наткнулся на скрипт, в котором реализовано то что я хочу, но через костыли (вот он - http://freetexthost.com/osq0sfyeav) - тут перед появлением приветствия вылетают поочередно окошки для каждого компонента (типа: Ставить Это... Да/Нет), потом появляются нормальные окна установщика, окно с выбором компонентов (которое, естественно ни на что не влияет), но качает то что надо. Прошу у вас помощи, т.к. срывается важный релиз. Гляньте кто-нибудь 1й код, мб там ошибка? Если там всё норм и это баг плагина, возможно ли действовать по принципу 2го кода, но создать новую страницу, которая будет иммитировать обычную страницу с компонентами(с чекбоксами)? Заранее огромное спасибо за помощь. |
Отправлено: 21:12, 22-04-2011 | #1412 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать MrAWP, ты компоненты обрабатываешь когда до самого окна компонентов еще очередь не дошла но оно уже создано - в InitializeWizard.
Почитай в справке Installation order, а пока попробуй так: procedure InitializeWizard(); begin end; procedure CurPageChanged(CurPageID: Integer); begin If CurPageID=wpReady then begin itd_init; if ISComponentSelected('Component1') then itd_addfile('http://192.168.1.153/mhhl/install/KAV6WKS_2011-09-18_x600_05E5A9CD.key',expandconstant('{tmp}\KAV6WKS_2011-09-18_x600_05E5A9CD.key')); if ISComponentSelected('Component1') then itd_addfile('http://192.168.1.153/mhhl/install/kav.msi',expandconstant('{tmp}\kav.msi')); if ISComponentSelected('Component2') then itd_addfile('http://192.168.1.153/mhhl/install/Chat.exe',expandconstant('{tmp}\Chat.exe')); if ISComponentSelected('Component3') then itd_addfile('http://192.168.1.153/mhhl/install/iptvLan.exe',expandconstant('{tmp}\iptvLan.exe')); if ISComponentSelected('Component4') then itd_addfile('http://192.168.1.153/mhhl/install/vlc.exe',expandconstant('{tmp}\vlc.exe')); if ISComponentSelected('Component5') then itd_addfile('http://192.168.1.153/mhhl/install/Opera11.exe',expandconstant('{tmp}\Opera11.exe')); itd_downloadafter(wpInstalling); end;//wpReady end;//CurPageChanged страницы идут в следующем порядке wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished |
------- Последний раз редактировалось R.i.m.s.k.y., 22-04-2011 в 22:10. Отправлено: 21:53, 22-04-2011 | #1413 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Цитата MrAWP:
Когда срабатывает procedure InitializeWizard(); и когда нужно проверять ISComponentSelected? P.S. R.i.m.s.k.y., извиняюсь когда писал поста не было... |
|
------- Отправлено: 21:53, 22-04-2011 | #1414 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата Serega:
|
|
------- Отправлено: 22:06, 22-04-2011 | #1415 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать R.i.m.s.k.y., Serega спасибо вам большое, а то б сам наверное никогда не допер что дело в этом) Кажется работает.
|
Отправлено: 22:19, 22-04-2011 | #1416 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
|
|
------- Отправлено: 22:26, 22-04-2011 | #1417 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата MrAWP:
![]() |
|
------- Отправлено: 22:36, 22-04-2011 | #1418 |
![]() Новый участник Сообщения: 37
|
Профиль | Отправить PM | Цитировать у ково есть свободное время помогите пожалуйста обьединить это
с этим: У меня не доходит как сделать првильно. Большое спасибо! |
Последний раз редактировалось vovka1021, 12-12-2011 в 13:17. Отправлено: 23:52, 23-04-2011 | #1419 |
Новый участник Сообщения: 47
|
Профиль | Отправить PM | Цитировать Serega, Сергей а покажи пример:
Цитата Serega:
|
|
Отправлено: 07:22, 24-04-2011 | #1420 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Утилиты - [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 |
|