powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / NSIS или Inno Setup?
25 сообщений из 159, страница 2 из 7
NSIS или Inno Setup?
    #35229291
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FlyD NextManнапример, при работе с API (иногда)не замечал, честно... пока все устраивало...


Пример: для вызова функции API нужно передать структуру, один из элементов которой ссылается на другую структуру. Встроенная версия Паскаля не позволяет такие вольности.
Да и вообще нет возможности работать с указателями. Приходится писать dll-ку на Delphi. Не очень, но иногда напряжно.
FlyD NextManУ Inno слишком много ограниченийнапример?
Уже выше вроде писал:
- Нет возможности запуска в silent - режиме без явного указания в командной строке. (уже знаю как обойти, грязным хаком ). Ладно, мелочь - но иногда нужно!
- Нет возможности в рантайме определить набор компонентов (определяемый, например, набором вспомогательных файлов). Можно, конечно, строить кастом-странички, но потом непросто скрестить с ними "встроенную" в Inno систему деинсталляции. (Возможно, сложно только для меня). Это мне точно нужно.
- Нет возможности компактно отображать болшое дерево зависимых компонентов (для отображения используется вовсе не TreeView, поэтому свернуть/развернуть ветви нельзя). У меня, к примеру, демка включает несколько десятков элементов инсталляции - в Inno выглядела жутко. Кто-то скажет - "финифлюшки". Может быть, но внешний вид тоже немаловажная вещь.
Можно обойти, построив "настоящее" дерево самому, но не очень приятно и трудно совместить с деинсталлятором.
- Сложно делать апдейт-инсталляции (можно, но много ручной работы). Да, я ленив.
- Сложнее кастомизация предопределенных страниц (знаю-знаю, даже есть инструменты, но все "левые", много приходится "напильником" доделывать). Это точно ограничение.
- Ну, размер ядра (и прочие мелочи вроде скинов, прозрачных иконок и т.д.) - это не особо интересно....
- Еще что-то по мелочам (но мелочи иногда доволно раздражающие).


Язык в NSIS, конечно, не такой красивый, как Pascal, но зато компилится сразу: нет нужды отлавливать трудно доступные ветви в алгоритме инсталляции. (Как-то раз было, что при компиляции дистрибутива на Inno вышло, что ветка для инсталляции под Win98 оказалась вообще написана с синтаксическими ошибками. Компилятор Inno съел, т.к. скриптовая система интепретируемая. Сами виноваты, конечно, но NSIS просто такого не пропускает. Впрочем в интепретируемой системе тоже есть свои плюсы).
Кроме того, уже встроенные в "стандартную" поставку NSIS плагины неплохо расширяют язык, так что по гибкости язык оставляет Паскаль позади (но не по привычной Дельфистам наглядности, конечно).
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35229314
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K600Ну пардон... NSIS мне уже 3тий день мозги ...
1. Хи-хи.
2. Такая уж наша боярская доля...
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35229325
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K600
K> Ещё самый улёт когда ты ищешь описание функции, тебе потом показывается
K> офигенно киллометровая страница и вот на ней уже нужно самому искать,
K> листая скроллингом =).
Ну, е-мое...
Юзай Venus (и проч), писал же уже.
Там сбоку такой "браузер", в нем все секции/подсекции и функции. Клацнул мышом - и сразу в код попал:
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35229437
K600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторКроме того, уже встроенные в "стандартную" поставку NSIS плагины неплохо расширяют язык, так что по гибкости язык оставляет Паскаль позади (но не по привычной Дельфистам наглядности, конечно).

Хоть они и идут в поставке, а толку никакого. Лучше бы написали примеры использования плагинов, которые 100% работают и не так, что их нужно было бы смотреть на сайте.

Кстати: я попробовал расширить NSIS - ничего не вышло.

И Inno тоже можно расширить плагинами. Вызов функций из dll хорошо описан в справке. Остаётся дело за малым, написать свою библиотеку. (Этим я и займусь скоро, буду писать свой плагин скачивания файлов из сети)

- Сложнее кастомизация предопределенных страниц (знаю-знаю, даже есть инструменты, но все "левые", много приходится "напильником" доделывать). Это точно ограничение.

Не знаю чего тут сложного, если программер, то всё легко пишется ручками (можно юзать и форм дизайнер, но он не совсем удобный), в принципе как и в NSIS, только в нём сначала нужно диалог очистить от компонентов. Дурдом в общем.

В NSIS самое главное ограничение - непонятность что куда пихать и как это использовать.
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35229943
K600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NextMan помоги мне плиз. Если ты так хорошо разбираешься в NSIS, напиши простенький инсталлятор, который качал бы 2 или 3 файла с сайта (любого). Напишешь мне сюда, ок?
Заранее спасибо =)
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35230144
K600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё уже не нужно ))) Хотя не.. лучше напиши, вдруг кому-нибудь будет полезно узнать.
Нашёл такую штуку ISTool, в ней есть библа которая умеет качать файлы и будет покучнее библы NSISdl.

Кстати в Inno есть режим /SILENT и /VERYSILENT. В справке написано.
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231158
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K600...
Кстати в Inno есть режим /SILENT и /VERYSILENT. В справке написано.
Ключи запуска , а не "режимы".

А ты говоришь, что справка понятная.

Заставку они не отключают.
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231164
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NextMan...
Ключи запуска , а не "режимы".

Тьфу ты.
Не "ключи запуска", а параметры запуска инсталлятора для командной строки.
Так вот, без явного задания этих ключей silent режим не-воз-мо-жен.
Так сделано с целью и т.д. (см. выше).
Блин, уже третий раз одно и то же повторяю...
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231189
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NextManТак вот, без явного задания этих ключей silent режим не-воз-мо-жен.
Думаю, не один инсталлер не сможет. Разве, что инсталлер изначально не заточен под
батч установку ...
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231194
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K600...простенький инсталлятор, который качал бы 2 или 3 файла с сайта (любого)...


C:\Program Files\NSIS\Docs\NSISdl\ReadMe.txt
NSISdl 1.3 - плагин NSIS для HTTP загрузки
---------------------------------------------

Копирайт (C) 2001-2002 Ярослав Файбишенко и Жюстин Френкел

Данный плагин может быть использован в NSIS для загрузки файлов ч/з http.

Для подключения к интернету используйте плагин Dialer.

ПРИМЕНЕНИЕ
------------

NSISdl::download http://www.domain.com/file localfile.exe

Для задания таймаута (в миллисекундах) можете указать /TIMEOUT:

NSISdl::download /TIMEOUT=30000 http://www.domain.com/file localfile.exe

Возвращаемое значение будет помещено в стек:

"cancel" - если хрень
"success" - если ОК
В случае ошибки - строка, описывающая ошибку.

Если вы не хотите смотреть на прогрессбар в процессе загрузки, используйте NSISdl::download_quiet.

Пример:

NSISdl::download http://www.domain.com/file localfile.exe
Pop $R0 ;Получаем возвращаемое значение
StrCmp $R0 "success" +3
MessageBox MB_OK "Фик вам: $R0"
Quit

Прочие примеры можно найти в директории с примерами, файл waplugin.nsi.

ПРОКСИ
-------

NSISdl поддерживает только базовые конфигурации прокси. Он не поддерживает прокси, которые требуют аутентификацию, скрипт автоматического конфигурирования и т.д.
NSISdl читает конфигурацию прокси из Internet Explorer - ского ключа реестра:
HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings.
Читается и разбирается информация в ProxyEnable и в ProxyServer.

Если вы не хотите, чтобы NSISdl использовал настройки Internet Explorer-ра, используйте флаг /NOIEPROXY. Флаг /NOIEPROXY должен быть после флагов /TRANSLATE и /TIMEOUT.
Например:

- если вам нужно сконфигурировать прокси самостоятельно, используем флаг /PROXY:

NSISdl::download /NOIEPROXY http://www.domain.com/file localfile.exe
NSISdl::download /TIMEOUT=30000 /NOIEPROXY http://www.domain.com/file localfile.exe
NSISdl::download /PROXY proxy.whatever.com http://www.domain.com/file localfile.exe
NSISdl::download /PROXY proxy.whatever.com:8080 http://www.domain.com/file localfile.exe

ПЕРЕВОД СООБЩЕНИЙ
---------------------

Для перевода сообщений NSISdl в строку вызова добавляем нужные значения:

/TRANSLATE2 downloading connecting second minute hour seconds minutes hours progress

Значениями по умолчанию являются:

downloading - "Downloading %s"
connecting - "Connecting ..."
second - " (1 second remaining)"
minute - " (1 minute remaining)"
hour - " (1 hour remaining)"
seconds - " (%u seconds remaining)"
minutes - " (%u minutes remaining)"
hours - " (%u hours remaining)"
progress - "%skB (%d%%) of %skB @ %u.%01ukB/s"

Старый ключ /TRANSLATE все еще можо юзать, (оставлен для совместимости с предыд. версиями).

/TRANSLATE downloading connecting second minute hour plural progress remianing

Значениями по умолчанию являются:

downloading - "Downloading %s"
connecting - "Connecting ..."
second - "second"
minute - "minute"
hour - "hour"
plural - "s"
progress - "%dkB (%d%%) of %ukB @ %d.%01dkB/s"
remaining - " (%d %s%s remaining)"

Ключи /TRANSLATE и /TRANSLATE2 должны до флага /TIMEOUT.
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231201
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev
Думаю, не один инсталлер не сможет....
NSIS может:

NSIS user manual 4.9.14.16 SetSilent
silent | normal


Sets the installer to silent mode or normal mode. See SilentInstall for more information about silent installations. Can only be used in .onInit.

Т.е. реализуем коллбэк - функцию .onInit так:
.onInitFunction .onInit
SetSilent silent
FunctionEnd
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231209
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NextManNSIS может
Соглашусь, но с тем, что тихая установка нужна, как часть другой итерактивной установки.
Может быть возможностей не хватает для интеграции нескольких инсталляторов ?
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231215
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev
Соглашусь, но с тем, что тихая установка нужна, как часть другой итерактивной установки.

Соглашусь, но с тем, что у разработчика должен быть выбор просто при наличии желания... :)

Dmitry ArefievМожет быть возможностей не хватает для интеграции нескольких инсталляторов ?
Пардон, не понял вопроса...
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231244
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K600...
...нельзя никак изменить надпись Nullsoft Install System vX.XX. Она либо вообще скрывается, либо 0 реакции на сообщение WM_SETTEXT.
...


NSIS User Manual 4.8.1.6
BrandingText
/TRIM(LEFT|RIGHT|CENTER) text
Задает значение текста (по умолчанию "Nullsoft Install System vX.XX") , которое показывается в нижней части окна инсталляции. Установка пустого значения ("") возвращает к значению по умолчанию; чтобы убрать сообщение совсем, используем " " (пробел)...
...
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231381
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev> Соглашусь, но с тем, что тихая установка нужна, как часть другой итерактивной
установки.

Чего-чего? А что, там так много вариантов?

Dmitry Arefiev> Может быть возможностей не хватает для интеграции нескольких инсталляторов ?

А вот с этим всегда было (и в общем-то еще долго будет) туго.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35231777
К600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NextMan K600...
...нельзя никак изменить надпись Nullsoft Install System vX.XX. Она либо вообще скрывается, либо 0 реакции на сообщение WM_SETTEXT.
...


NSIS User Manual 4.8.1.6
BrandingText
/TRIM(LEFT|RIGHT|CENTER) text
Задает значение текста (по умолчанию "Nullsoft Install System vX.XX") , которое показывается в нижней части окна инсталляции. Установка пустого значения ("") возвращает к значению по умолчанию; чтобы убрать сообщение совсем, используем " " (пробел)...
...

да толку то... прбовал уже ... NSIS пишет что нет такой функции и всё, говорю же не понятно что куда писать в этом инсталляторе - грабли на граблях.

п.с. мне не нужен копипаст примера использования библиотеки NSISdl (я его находил и пробовал использовать, но при запуске никакой реакции, обычная установка и никакого скачивания), мне нужен рабочий проект инсталлятора, который работал бы.

п.с.с скрытый режим редко нужен, если только ты не хакер и не инсталлируешь вирусы)))
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35233943
sqllex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К600NSIS пишет что нет такой функции и всё, говорю же не понятно что куда писать в этом инсталляторе - грабли на граблях.
Безусловно, если вам что-то не понятно, то это грабли Нсис :)

К600п.с.с скрытый режим редко нужен, если только ты не хакер и не инсталлируешь вирусы)))
Скрытый режим очень даже удобен для развертывания программного комплекса. Особенно, когда разработка отдельных его частей ведется разными отделами (которые могут находится даже в разных странах).
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35234390
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К600
да толку то... прбовал уже ... NSIS пишет что нет такой функции и всё, говорю же не понятно что куда писать в этом инсталляторе - грабли на граблях.

п.с. мне не нужен копипаст примера использования библиотеки NSISdl (я его находил и пробовал использовать, но при запуске никакой реакции, обычная установка и никакого скачивания), мне нужен рабочий проект инсталлятора, который работал бы.

п.с.с скрытый режим редко нужен, если только ты не хакер и не инсталлируешь вирусы)))
Ну что ты, в самом деле...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
;--------------------------------
;Include Modern UI

  !include "MUI2.nsh"
	
; Краткое описание компонентов:
!define MUI_COMPONENTSPAGE_NODESC

;--------------------------------
  ;Name and file
  Name "K600 тормоз"
  OutFile SetupHttpDownload.exe

  ;Default installation folder
  InstallDir "$APPDATA\K600"
  
  ;Get installation folder from registry if available
  InstallDirRegKey HKCU "Software\K600" ""


XPStyle on

;--------------------------------
;Pages

  !insertmacro MUI_PAGE_COMPONENTS
  !insertmacro MUI_PAGE_DIRECTORY
  
  ;Start Menu Folder Page Configuration
  !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" 
  !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Modern UI Test" 
  !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
  
  ;!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
  
  !insertmacro MUI_PAGE_INSTFILES
  
;--------------------------------
;Languages
 
  !insertmacro MUI_LANGUAGE "Russian"

;--------------------------------
;Installer Sections



BrandingText "К600 аццкой тормоз"

Section "К600 тормоз"
  MessageBox MB_OK "К600 аццкий тормоз"
SectionEnd

Section "Грузить новую версию NSIS"
	NSISdl::download /TRANSLATE2 "Грузица %s" "Ждем конекта ..." \
	 " (асталась адна сикунда)" " (асталась адна минута)" " (асталась адна годына)" \
	 " (еще %u кикунд)" " (ище %u минут(ы))" " (жди %u часов(ы!))" \
	 "%skB (%d%%) из %skB @ %u.%01ukB/s" \
	 http://garr.dl.sourceforge.net/sourceforge/nsis/nsis- 2 . 36 -setup.exe nsis- 2 . 36 -setup.exe \
	 
	ExecWait nsis- 2 . 36 -setup.exe
SectionEnd


...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35234524
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, инсталлятор, который грузит NSIS последней (от 29 марта) версии.
Плюс исходник.
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35238031
Фотография ReNoiZer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неплохой GUI к NSIS, с исходниками http://hmne.sourceforge.net/
Только что-то давно не обновлялся...
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35238482
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReNoiZerНеплохой GUI к NSIS, с исходниками http://hmne.sourceforge.net/
Только что-то давно не обновлялся...
IMHO, слишком уж старый.
Если по каким-то причинам религия запрещает Venus , то Notepad++ . Он отлично работает с NSIS - скриптом (в т.ч. фолдинг, подсветка, автоподстановка и проч.) /* А еще он неплохо понимает и Inno - script */

Очень удобен SciTe (как и упомянутый выше hmne , он позволяет работать с проектами .)

А уж как приятно работать с NSIS проектами ч/з PsPad ... (отмечу, что для Inno он подходит ничуть не меньше).

Так что выбор есть.
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35249941
Single Feniks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
П о моему эти оба инсталлятора весьма хороши! Пользуюсь обоими! У них у каждого есть свои плюсы и минусы. Новичкам посоветовал бы начать с NSIS, в inno закопаетесь с тоннами кода для простеньких функций.

И зучил Inno токлько потому что там можно полностью изменять вид окна установочника, да м иузыку можно вставлять в mp3. А вот БГраунд картинками чтобы нормально сделать приходется комбинировать BMP и Jpg. Это наверно самая не продуманная часть inno т.к. реализуется через... вообщем вы поняли. Еще этот обязательно мелькающий синий фон окна с картинкой на заднем плане... Но зато есть возможность сделать изменение картинок по времени и прогрессу установки в %! =) Но нельзя как в NSIS вставить ее после извлечения определенного файла или групп не добавив еще пол тонны кода.

З .Ы.: Для NSIS есть неплохой форум: http://nsis.narod.ru/forum/ . Там уже расписаны основные функции и приемы в основном применяемые. Мои посты тож есть). Для Inno пользуюсь только поиском по инету... на их форуме можно закопаться с ушами!
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35250975
!пепелатц
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NextManТак что выбор есть.
Конечно есть. Far Manager, Internal Editor ;)

И на кой хрен там впились специализированные редакторы? Вся прелесть NSIS в том, что это правильный скриптовый тулз, который не способствует разжижению мозга в неравной борьбе с оконцами (вроде Install Shield... Express).



А ещё есть vi. Он хоть и имеет всего два режима (бибикает и все портит), но всяк забавный зверек, если копнуть чуть поглубже. Вроде альтернативных впечатлений (ну там, секса с тремя таиланками, прыжки банги и т.д.).
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35463685
Заранее извиняюсь если кого-то обижу, но тут много раз повторяли - то одно NSIS не может, то другое, то у них что-то не получается и в итоге Inno рулит. Года три сижу на NSIS и с полной уверенностью, подтверждённой практикой, могу сказать что он умеет абсолютно всё и является лучшим из всех существующих инсталляторов. Вывод о кривизне своих ручек каждый делает сам.
...
Рейтинг: 0 / 0
NSIS или Inno Setup?
    #35464272
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проходил мимо и ляпнул... Года три сижу на NSIS и с полной уверенностью, подтверждённой практикой, могу сказать что он умеет абсолютно всё
Да.
Мое самое последнее ИМХО: используем NSIS.

Проходил мимо и ляпнул...и является лучшим из всех существующих инсталляторов...
Ну, все существующие инсталляторы мы не видели...
...
Рейтинг: 0 / 0
25 сообщений из 159, страница 2 из 7
Форумы / Delphi [игнор отключен] [закрыт для гостей] / NSIS или Inno Setup?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]