|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Скрипты Inno Setup. Помощь и советы [часть 4]
|
Ветеран Сообщения: 1271 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Продолжение обсуждения Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Отправлено: 18:01, 29-08-2011 |
Пользователь Сообщения: 53
|
Профиль | Сайт | Отправить PM | Цитировать доброе время суток.
хотелось бы спросить у вас совета как сделать правильней. у меня есть отдельный файл установки и отдельно обновление. я хочу их объединить. при запуске система должна считать в реестре запись(причем две записи, так как предыдущей версий была другой путь записи в реестре) и когда система обнаружить хоть одну из этих записей то предложить запустятся обновления. а если записи нет, то будет запустится установка. вот как бы сделать это так чтоб не сильно много пришлось переделывать уже в готовом установке и обновлении. p.s. и еще не сильно сложно как производить поиск записи в реестре? |
Отправлено: 11:07, 19-04-2012 | #1571 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:43, 19-04-2012 | #1572 |
Пользователь Сообщения: 53
|
Профиль | Сайт | Отправить PM | Цитировать у меня есть два интерполятора(в .iss) только один выполняет установку с нуля, а второй обновляет. я хочу чтоб при наличии в реестре записи установка шла по шагам обновления, а если нет то по шагам установки.
поиск в реестре сделал такой: [_Code] function InitializeSetup(): Boolean; var errCode, n: Integer; RegExe, isKey: String; Keys: TArrayOfString; begin RegExe:= AddBackslash(GetSystemDir) + 'reg.exe' if FileExists(RegExe) then begin MsgBox('SC' #13#10 'sc не установлено?', mbConfirmation, MB_YESNO); Exit end; isKey:= 'HKLM\Software\IVT\SC\{#MyAppVer}.{#MyAppPatch}' if Result = False then MsgBox('InitializeSetup:' #13#13 'Ok, bye bye.', mbInformation, MB_OK); end; |
Отправлено: 13:01, 19-04-2012 | #1573 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать Temyraz@fb,
так попробуй (собрал из примеров) [Setup] AppName=MyProg AppVerName=MyProg DefaultDirName={pf}\MyProg [Languages] Name: russian; MessagesFile: compiler:Languages\Russian.isl [ Code] function InitializeSetup: Boolean; begin if RegKeyExists(HKEY_CURRENT_USER, 'Software\Jordan Russell\Inno Setup') or /// ключ 1 или ключ 2 есть, то RegKeyExists(HKEY_CURRENT_USER, 'Software\Jordan Russell\Inno Setup 2') then begin if MsgBox('Болт в процессе отпиливания !' + #10#13 + 'Хочешь попытаться навинтить?', mbError, MB_YESNO) = idYes then /// Ответ "Да". Устанавливаем обновление. Здесь действие else end else begin if MsgBox('Ты действительно хочешь навинтить?', mbError, MB_YESNO) = idYes then /// устанавливаем всё целиком else end; end; |
Отправлено: 13:52, 19-04-2012 | #1574 |
Пользователь Сообщения: 53
|
Профиль | Сайт | Отправить PM | Цитировать вот смотри:
[ Code] function InitializeSetup: Boolean; begin if RegKeyExists(HKEY_CURRENT_USER, 'Software\Jordan Russell\Inno Setup') or /// ключ 1 или ключ 2 есть, то RegKeyExists(HKEY_CURRENT_USER, 'Software\Jordan Russell\Inno Setup 2') then begin if MsgBox('Болт в процессе отпиливания !' + #10#13 + 'Хочешь попытаться навинтить?', mbError, MB_YESNO) = idYes then ///запускается обновление(процесс обновления содержит свой набор [Files] [Run] [Components] и свою последовательность [_Code] ) else end else begin if MsgBox('Ты действительно хочешь навинтить?', mbError, MB_YESNO) = idYes then //////запускается установки(процесс установки содержит свой набор [Files] [Run] [Components] и свою последовательность [_Code] ) else end; end; извините если скажу сейчас полный бред. а можно ли так сделать: написать отдельный iss в котором будет установка по одному типу, а в другом его вызвать? т.е. сделать условия, если выполняется такое условие то запустить по 1.iss а если нет то по 2.iss |
Отправлено: 14:34, 19-04-2012 | #1575 |
Забанен Сообщения: 216
|
Имеется в скрипте вот что:
Как сделать так чтобы инсталлятор при определении ключа HKEY_LOCAL_MACHINE\SOFTWARE\Program_X одного из компонентов не устанавливал компонент, т.е если в реестре присутствует например HKEY_LOCAL_MACHINE\SOFTWARE\Program_а, то собственно и компонент Program a не устанавливался? |
Отправлено: 14:49, 19-04-2012 | #1576 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать Цитата Temyraz@fb:
этот же код выше может играть такую роль. Даже страницы не нужны 2. показывать определённые настройки в зависимости от... (пример ниже) кнопок 3. есть пример запуска инсталла с параметрами командной строки например для компонетов setup.exe/COMPONENTS="help,plugins" , где help,plugins это компоненты, но минус в том, что пользователь потом может изменить выбор ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,, Devils Night, вот пример для одного компонента; Check: Skip |
|
Последний раз редактировалось Johny777, 19-04-2012 в 15:42. Отправлено: 15:03, 19-04-2012 | #1577 |
Забанен Сообщения: 216
|
Цитата Johny777:
А если два компонента, то нужно так сделать?: Я ничего не перепутал? |
|
Отправлено: 15:52, 19-04-2012 | #1578 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать Devils Night,
всё правильно [Components] Name: "program"; Description: "Program Files"; Check: Skip Name: "help"; Description: "Help File"; Check: Skip2 |
Отправлено: 15:59, 19-04-2012 | #1579 |
Ветеран Сообщения: 608
|
Как перенести эту кнопку в это место и скрыть ее на первой и последней странице зараннее благодарю за помощь...
|
Последний раз редактировалось Ivan_009, 28-04-2012 в 09:06. Отправлено: 22:30, 19-04-2012 | #1580 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Test | ferget | Тест-форум | 0 | 24-08-2011 01:25 | |
test | ! ! Aaa ! ! | Тест-форум | 0 | 23-04-2011 11:29 | |
test | Santa aka Snt | Тест-форум | 0 | 16-04-2011 22:35 | |
test | xolod. | Программное обеспечение Linux и FreeBSD | 0 | 19-04-2009 21:03 | |
Test memory | KEugeNik | Хочу все знать | 11 | 23-11-2003 23:11 |
|