|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3] |
|
Скрипты Inno Setup. Помощь и советы [часть 3]
|
Ветеран Сообщения: 1133 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 |
|
------- Отправлено: 00:28, 04-11-2010 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Цитата vahe-91:
Должно быть так: И совет, привыкайте сразу к форматированию кода, вам самому читать будет легче. Цитата vahe-91:
|
||
------- Отправлено: 16:40, 08-01-2011 | #421 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 129
|
Профиль | Отправить PM | Цитировать Цитата Serega:
Спасибо тебе |
|
Отправлено: 17:08, 08-01-2011 | #422 |
Пользователь Сообщения: 129
|
Профиль | Отправить PM | Цитировать Serega,
решил сделать так, но после окончания процесса setup.exe выдает ошибку runtime error (at 127:28) acces violation at address0044694c. read of address 00000000 И еще в коде можно поставить setup.exe флаг hidewizard ? procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssInstall then begin StartInstall:= GetTickCount {время начала извлечения файлов} WndHookID:= SetWindowsHookEx(WH_CALLWNDPROC, WrapCWPSTRUCTProc(@OnWndHook, 3), 0, GetCurrentThreadID); {установка SendMessage хука} TimerID:= SetTimer(0, 0, 500 {полсекунды}, WrapTimerProc(@MyTimerProc, 4)); {установка таймера} if not {#isFalse(SetupSetting("Uninstallable"))} then Status.count:= -1; // не считать файл unins000.exe end; if CurStep = ssPostInstall then begin StartInstall:= GetTickCount {время начала распаковки} UnPackError:= UnPack('{#Archives}') if UnPackError <> 0 then begin // Error occured, uninstall it then if not {#isFalse(SetupSetting("Uninstallable"))} then // деинсталляция разрешёна Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, n); // откат установки из-за ошибки unarc.dll WizardForm.caption:= SetupMessage(msgErrorTitle) +' - '+ cm('ArcBreak') SetTaskBarTitle(SetupMessage(msgErrorTitle)) end else begin SetTaskBarTitle(SetupMessage(msgSetupAppTitle)); Exec(ExpandConstant('{tmp}\setup.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, n) end; end; end; |
Последний раз редактировалось vahe-91, 08-01-2011 в 21:05. Отправлено: 19:36, 08-01-2011 | #423 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Цитата vahe-91:
Без запуска стороннего setup.exe ошибка есть? Ошибка acces violation говорит о том, что идёт обращение к объекту, которого нет, т.е. он ещё не создан или уже разрушен. Чтоб было понятней: Цитата vahe-91:
|
||
------- Отправлено: 01:00, 09-01-2011 | #424 |
Пользователь Сообщения: 129
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:07, 09-01-2011 | #425 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать Цитата vahe-91:
|
|
Отправлено: 13:39, 09-01-2011 | #426 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Цитата vahe-91:
Хотя я больше чем уверен, что без этого инсталлятора вы не пробовали запускать и эта ошибка у вас в скрипте. Запустите инсталляцию прямо из редактора и в момент ошибки, в самом скрипте у вас будет выделена строка, на которой произошла ошибка. |
|
------- Отправлено: 14:47, 09-01-2011 | #427 |
Пользователь Сообщения: 129
|
Профиль | Отправить PM | Цитировать nik1967,
во время выполнения setup.exe мастер скрывается, но по окончания получаю прежную ошибку и мастер не восстанавливается Цитата Serega:
Цитата Serega:
Цитата Serega:
![]() line 344 out of range if (Status.stage = cm('ArcTitle')) and (GetArrayLength(Arcs) > 0) then begin ExtractFile.Caption:= FmtMessage(cm('ArcInfo'), [IntToStr(ArcInd+1), IntToStr(GetArrayLength(Arcs)), // это строка 344 ByteOrTB(Arcs[ArcInd].Size, true), Format('%.0n', [Status.mb/(Arcs[ArcInd].Size/oneMB)*100]), ByteOrTB(Status.allsize, true)]) ProgressBar.Position:= round(ProgressBar.Max * Status.mb/trunc(Arcs[ArcInd].Size/oneMB)) end; |
|||
Отправлено: 17:54, 09-01-2011 | #428 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Доброго вечера
Задачка По завершении установки необходимо появление диалогового окна, с выбором ник нейма Ник в последствии должен быть прописан в определенной части файла *.ini Помогите если не трудно. |
Отправлено: 18:33, 09-01-2011 | #429 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Цитата vahe-91:
Цитата vahe-91:
Следовательно внимательно посмотрите, что вы ещё меняете при добавлении запуска другого инсталлятора. Так же попробуйте, закоментируйте запуск стороннего инсталлятора в скрипте и запустите также через редактор. Цитата e2e44:
Описание всех функций, можете найти в Справке. |
|||
------- Отправлено: 19:39, 09-01-2011 | #430 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Утилиты - [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 |
|