|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Добрый день.
Изучал справку NSIS, но к сожалению не нашёл ответа на интересующий меня вопрос. Если вас не затруднит, пожалуйста, подскажите как можно организовать реальный прогресс установки на странице инсталляции? Просто у меня на данный момент получается так, что инсталляция реально не завершена и на половину, а прогресс-бар заполняется уже на 90%. Поискав плагины на эту тему, обнаружил что имеется NSIS Real Plugin (http://nsis.sourceforge.net/RealProgress_plug-in). Но моя криворукость не позволяет мне понять принцип работы данного плагина... Быть может в стандартных средствах NSIS есть более простой способ решения моей проблемы? Спасибо! |
Отправлено: 14:45, 25-02-2012 | #2331 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Sidril:
Ищите команды - abort, return - наверняка по неправильным условия срабатывают, а может и правильным... |
|
------- Отправлено: 16:13, 25-02-2012 | #2332 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать kotkovets
Да нет, установка не прерывается. Дело в том что прогресс установки ориентируется на выполнение команд скрипта, т.е к примеру в скрипте 500 команд, если выполнено уже 450 строк, то прогресс-бар заполнится на 90%. Меня это не устраивает, мой инсталлятор построен на принципах запуска и ожидания конца работы внешних приложений, это всё прописано ближе к концу скрипта, поэтому и показывает прогресс 90%... Но работа внешних приложений длится приличное кол-во времени, а прогресс бар как за 5 секунд дошёл до 90% и потом уже не двигается. Установка продолжается - прогресс бар стоит. Нужно как-то настраивать прогресс-бар... В справочнике по NSIS тоже увы нет примеров для этого. Как-то странно, вроде нормальный прогресс установки - элементарная вещь, а такие вот проблемы ( |
Отправлено: 16:40, 25-02-2012 | #2333 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Sidril:
попробуйте между перед каждым запуском приложения прописать: А ну последней командой в последней секции Можно конечно получить последними командами дескриптор прогресса, найти верхний предел и установить |
|
------- Отправлено: 18:06, 25-02-2012 | #2334 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать На таких блоках поставлен запуск и ожидание внешних приложений:
SetDetailsPrint textonly DetailPrint "Установка основных компонентов" SetDetailsPrint listonly SetOutPath "$INSTDIR" ExecWait '"$INSTDIR\install_old.exe"' SetDetailsPrint textonly DetailPrint "Установка дополнительных компонентов" SetDetailsPrint listonly SetOutPath "$INSTDIR" ExecWait '"$INSTDIR\install_new.exe"' Задача передо мной стоит чтоб в тот момент когда идёт установка основных компонентов прогресс бар был на 30%, когда начинается установка дополнительных компонентов - на 40% и так далее... Но так понимаю в NSIS это архисложная задача ( |
Отправлено: 22:25, 25-02-2012 | #2335 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Пробуйте так, хотя думаю врядли, nsis тоже двигает прогресс
|
------- Отправлено: 23:15, 25-02-2012 | #2336 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Спасибо за вариант.
Жаль, но не помогает... Прогресс всё равно стремглав бежит вперёд, ориентируюясь на команды скрипта. Нужно установить тотальный контроль за прогрессом... Если вам не сложно, посмотрите что за зверь такой Real Progress plugin. Как его можно использовать в моём случае. Думаю это не должно пройти за зря, т.к можно потом для пользователей отобразить пример в русской справке по NSIS. Кстати, спасибо вам за этот справочник. Незаменимая вещь в хозяйстве. Надеюсь проект справки не заброшен и будет обновляться - это в качестве пожелания. ________________________________ Была у меня также мысль (подсмотрел в каком-то из установщиков) относительно того, чтобы когда начинают выполняться функции запуска и ожидания - в этот момент всплывает долнительный мини-прогресс бар где и показывался ход установки компонентов. Но опять же, нигде не нашёл примеров кода по прогрессу. |
Отправлено: 00:02, 26-02-2012 | #2337 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets, Подскажите пожалуйста возможно ли сделать такое:
Есть группа секций "Установить Winamp Agent" В одной из секций опция "Запустить WinampAgent после установки" Exec "$INSTDIR\winampa.exe" Как можно реализовать, что бы при установке галочки на чебоксе действительно агент запускался после успешной установки? Если прописать в функцию Function .onInstSuccess, то как реализовать условие значения в секции? |
------- Отправлено: 13:31, 26-02-2012 | #2338 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
SectionGroup /e "some stuff" Section "install" SectionEnd Section "exec" SEC1 SectionEnd SectionGroupEnd Function .onInstSuccess ${If} ${SectionIsSelected} ${SEC1} ${AndIf} ${FileExists} "$INSTDIR\winampa.exe" Exec "$INSTDIR\winampa.exe" ${EndIf} FunctionEnd Цитата Sidril:
т.е после каждого блока команды двигаем на 20% и так до 100%, т.е рассчитываете сколько у вас блоков однотипных команд и сотню делите на кол-во блоков однотипных команд. |
||
------- Последний раз редактировалось kotkovets, 26-02-2012 в 15:28. Отправлено: 14:34, 26-02-2012 | #2339 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Большое спасибо. вроде примерно понял.
Вы привели пример File Progress Там также есть Detail и Gradual progress. Неплохо бы узнать чем они отличаются. В моём установщике несколько компонентов, которые устанавливаются по желанию клиента. Т.е несколько секций в скрипте имеется... Как в этом случае сохранить адекватность продвижения прогресс бара, если заранее не известно будет ли клиент устанавливать тот или иной компонент или нет. Первая секция обязательна к установке остальные на выбор. На примере двух секций. ;__________________________________________________ Section "Ключевые составляющие" Sec1 SectionIn RO RealProgress::FileProgress /NOUNLOAD 0 Sleep 300 ;[блок команд] RealProgress::FileProgress /NOUNLOAD 20 ;установка прогресса на 20%. Sleep 300 ;[блок команд] RealProgress::FileProgress /NOUNLOAD 40 Sleep 300 ;[блок команд] RealProgress::AddProgress /NOUNLOAD 60 Sleep 300 ;[блок команд] RealProgress::AddProgress /NOUNLOAD 80 Sleep 300 ;[блок команд] RealProgress::AddProgress /NOUNLOAD 100 ;установка прогресса на 100%. SectionEnd Section "Авторские обновления" Sec2 Sleep 300 ;[блок команд] RealProgress::AddProgress /NOUNLOAD ??? ;какой параметр прогресса должен быть? SectionEnd ;__________________________________________________ Какой параметр прогресса должен быть в случае если клиент захочет установить "Авторские обновления"? По скрипту выходит что после выполнения первой секции прогресс-бар будет на 100%, а установка не завершится, т.к пойдёт выполнения следующей секции. С другой стороны - если клиент не захочет устанавливать "Авторские обновления", то тогда прогресс 100 в первой секции правильный... Довольно сумбурная схема... Как бы так сделать чтобы волков накормить, и овец сохранить? |
Отправлено: 00:19, 27-02-2012 | #2340 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. | ssaram | Программное обеспечение Windows | 406 | 12-02-2022 19:45 | |
WinstyleMonitor .:[все вопросы]:. | Mr dUSHA | Проект WinStyle | 331 | 12-02-2014 13:15 | |
Delphi - Delphi .: [все вопросы] :. | Serega | Программирование и базы данных | 94 | 04-05-2013 18:45 | |
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. | Microsoft Windows 2000/XP | 105 | 30-06-2010 11:58 | ||
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|