Показать полную графическую версию : [архив].: NSIS - все вопросы :.
kotkovets
27-02-2012, 00:51
Sidril эксперементально,расчетом времени, кстати это уже не nsi'шный прогресс
RealProgress::GradualProgress /NOUNLOAD 1 5 25
Означает, что каждую секунду добавлять 5% до 25%, если второй раз прописать команду, то прогресс будет на 50%.
Можно делать скрытой секцией (последней), которая всегда выполняется - прописать на 100 %.
В любом случае завершение - это 100% индикатор
---
Точно, все равно не рассчитаете, ибо родной правильнее будет, потому что компилятор считает сколько команд будет
при разных условиях, еще есть команды из хедеров (!include *.nsh - тысячи команд),
устанавливает шаг изменения прогресса, тем меньше команд - больше шаг.
kotkovets. В очередной раз спасибо вам за помощь в разборе вопроса.
Так, GradualProgress не подходит... Т.к в моём случае рассчёт по времени неактуален, потому как время установки зависит от конфигурации компа клиента и от загруженности системы, т.е у всех будет разное время установки в примерных границах от 7 до 30 минут.
***
Собственно, говоря о трёх вариантах прогресса, которые предлагает плагин NSIS Real Rpogress, я понял следующее:
- GradualProgress представляет собой рассчёт процента прогресса исходя из времени (нужен рассчёт секунд).
- DetailProgress ориентирует процент прогресса на количество строк в скрипте секций (нужен рассчёт строк).
- FileProgress даёт возможность выставлять проценты прогресса на определённых этапах выполнения скрипта.
Как Вы сразу правильно предложили - File Progress наиболее оптимален для моего инсталлера.
***
Можно делать скрытой секцией (последней), которая всегда выполняется - прописать на 100 %.
В любом случае завершение - это 100% индикатор »
Это отличная идея. Посмотрел в справке пример скрытых секций.
Подскажите, в данной секции достаточно только прописать команду прогресса на 100%?
Т.е, такой вид скрытой секции будет?
Section "-Секция скрыта"
RealProgress::AddProgress /NOUNLOAD 100
SectionEnd
***
Точно, все равно не рассчитаете, ибо родной правильнее будет, потому что компилятор считает сколько команд будет
при разных условиях, еще есть команды из хедеров (!include *.nsh - тысячи команд),
устанавливает шаг изменения прогресса, тем меньше команд - больше шаг. »
Ну родной за 5 секунд выдаёт прогресс 90%, т.к скрипт уже выполнен настолько. Я не знаю как на это повлиять без плагина.
С прогрессом вроде всё ок. Спасибо kotkovets.
Новый вопрос. Хочу перед запуском инсталлятора чтобы появлялось приветственное изображение, и чтобы оно появлялось под сопровождение музыкального отрывка.
Не нашёл этого в справке. NSIS поддерживает такие функции?
NewAdvSplash plug-in (http://nsis.sourceforge.net/NewAdvSplash_plug-in) поможет.
Уважаемые форумчане! Подскажите, как в NSIS "вынести" установочные файлы из инсталлятора в отдельные бинарники (с возможностью назначения их количества и размера) --> т.е. получить маленький (~100Kb) файл инсталятора и пару-тройку "привязанных" к нему больших файлов. До этого пользовался Smart Install Maker'ом, но он тупо "делит" большой инсталятор на равные части.
PS: Если ответ уже был - кинте, плз, ссылку на этот пост.
kotkovets
29-02-2012, 19:40
brauni, нет, только можно внешним упаковщиком, например 7z, потом распаковывать консольной утилитой 7z.exe
Естественно придется таскать собой файлы 7z.dll и 7z.exe.
Установщик распаковывает в временную папку 7z.dll и 7z.exe и файлы архивов созданные 7z,
затем установщик заводит 7z.exe c ожиданием завершения (ключи запуска консоли, смотрите в справке 7z),
архивы распаковывается в указанную к ключе запуска 7z.exe, временная папка затем удаляется.
brauni, нет, только можно внешним упаковщиком ...»
Жаль! Придецца разбираться в InnoSetup или ставить Install Creator Pro 2. Спасибо!
Естественно придется таскать собой файлы 7z.dll и 7z.exe. »
А зачем их таскать, если вопрос ставится так , что
т.е. получить маленький (~100Kb) файл инсталятора и пару-тройку "привязанных" к нему больших файлов. »
Пусть в этот маленький инсталлятор входят 7z.dll и 7z.exe и скрипт описания что, куда и как распаковать(упаковать)
Ребята, подскажите, плиз как в программу внедрить опцию проверки наличия ключа в реестре при запуске инсталлятора? Т.е в момент когда клиент запускает инсталятор шла бы проверка наличия ключа. Если ключ найден то установка переходит сразу на стартовую страницу. Если не найден - предупреждение о том что следы программы не обнаружены, установка может пройти неправильно.
***
И ещё такой вопрос, на что влияет параметр XPStyle on? Какой стиль XP тут имеется ввиду и зачем вообще это нужно.
Спасибо!
kotkovets
01-03-2012, 15:20
Ребята, подскажите, плиз как в программу внедрить опцию проверки наличия ключа в реестре при запуске инсталлятора? Т.е в момент когда клиент запускает инсталятор шла бы проверка наличия ключа. Если ключ найден то установка переходит сразу на стартовую страницу. Если не найден - предупреждение о том что следы программы не обнаружены, установка может пройти неправильно. »
В функции .OnInit проверяем ключ, к примеру параметр ключа по умолчанию,
значение параметра тоже проверяется(если не пустое):
!include "logiclib.nsh"
;--
Function .OnInit
ClearErrors
ReadRegStr $8 HKLM "Software\nsis" ""
${If} ${Errors}
${OrIf} $8 == ""
MessageBox MB_OK "следы программы не обнаружены, установка может пройти неправильно"
${EndIf}
FunctionEnd
И ещё такой вопрос, на что влияет параметр XPStyle on? »
А вы скомпильте такой пример и все увидете:
OutFile "setup.exe"
page instfiles
Section
MessageBox MB_OK "install" IDOK
SectionEnd
Сделали?
добавьте команду в начале скрипта -- XPStyle on,
затем найдите 10 отличий :biggrin:
Сделали?
добавьте команду в начале скрипта -- XPStyle on,
затем найдите 10 отличий »
Собственно ничем не отличающиеся инсталляшки получились.
Я уже и в своём скрипте добавлял - изменений не видел, по этому и спросил смысл этой опции. Может как-то влияет что у меня у самого Win XP.
kotkovets
01-03-2012, 16:46
Собственно ничем не отличающиеся инсталляшки получились. »
эээ.... это команда "одевает" инсталлятор в тему оформления Windows, очевидно у вас классика,
ну что бы не заметить... :cool: особенно прогресс
На зрение не жалуюсь)
это команда "одевает" инсталлятор в тему оформления Windows »
Ну вот как это понять... А без этой команды тогда инсталлятор во что одевается?:)
Стоит у меня классическая тема оформления. Что с командой, что нет - тема та же самая. В чём принцип так и не понял.
kotkovets
01-03-2012, 21:55
Sidril, а Вы смените тему оформления Windows на не классическую...и смотрите разницу
с примером, который я приводил: с XPstyle on и c XPstyle off :lol:
Sidril, а Вы смените тему оформления Windows на не классическую...и смотрите разницу »
Сменил тему. Сравнил ваши примеры с командой и без - Прогресс и кнопки изменились.
Вставил "XPstyle on" в свой скрипт. сравнил результат с командой и без. всё то же самое. и с командой и без - стиль хп показывается. Опять не догнал в чём смысл команды))
играет она какую-то роль, если подключен MUI?)
kotkovets, почитал в справочнике про определение ОС. и чё-то всё равно не понял как можно сделать...
Нужно определить ОС. И если это один из Server'ов, то выполнить одно действо. Если не Server, то другое...
kotkovets
02-03-2012, 09:33
И если это один из Server'ов, то выполнить одно действо. Если не Server, то другое.. »
Этого достаточно, серверное имя узнать, если переменная $0 пуста - это не сервер.
!include "WinVer2.nsh"
;---
${WinServerName} $0
${IfNot} $0 == ""
;---
;это сервер
MessageBox MB_ICONINFORMATION|MB_OK "$0"
;---
${Else}
;---
;это не сервер
;---
${EndIf}
Ну чего уж проще...
Begin2Fly
02-03-2012, 18:50
Товарищи, добрый вечер. Буду очень благодарен, если подскажете как впихнуть изображение на кастомную страницу при помощи плагина nsisSlideshow (http://nsis.sourceforge.net/NsisSlideshow_plug-in).
Надо просто вставить PNG-изображение (справа вверху), а не размазать его по всему окну, как этот плагин делает по умолчанию...
kotkovets
02-03-2012, 19:21
Begin2Fly, на кастомную никак, плаг для этого не предназначен.
Begin2Fly
02-03-2012, 22:36
Begin2Fly, на кастомную никак, плаг для этого не предназначен. »
Быть может, есть другой способ? EBanner можно не предлагать.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC