Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Nullsoft Scriptable Install System | NSIS

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

Открыть новую тему     Написать ответ в эту тему

Nep



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

 
NSIS (Nullsoft Scriptable Install System)
Скриптовая система создания инсталляционных пакетов от авторов Winamp

Основные характеристики:
 
  • Размер дистрибутива около 1,5 МБ
  • Наличие в базовом пакете файлов с примерами и подробной справки
  • Чрезвычайная гибкость при создании инсталляций для своих программ
  • Открытый исходный код
  • Использование различных алгоритмов сжатия (ZLIB, BZIP2, LZMA)
  • Наличие различных плагинов
     
    Новейшая версия ветки 2.х: NSIS 2.51 (от 1 апреля 2016 г., статус ветки - Old Releases)
    Новейшая версия ветки 3.х: NSIS 3.10 (от 30 марта 2024 г.)  
     
     
    Ссылки:
    NSIS: страница загрузкирусификатор ветки 2.xx (без гарантии, что подходит!)2.513.10NSIS 3 Pre-releaseNSIS 2 Pre-releaseисходники (SVN)
     
    Дополнительно: [ плагины, примеры и полезности ] • [ форум разрабочиков ] • [ Wiki ]
     
    Редактор для скриптового языка NSIS: [ скачать ] • [ домашняя страница ]
     
    NSIS Unpacker
    7-zip начиная с версии 4.40 beta поддерживает распаковку из некоторых типов инсталляций.  
    Обратите внимание, что 7za не поддерживает распаковку.
     
    Полноценного русификатора пока нет, но кто хочет, может перевести сообщения в исходных текстах NSIS и скомпилировать всё заново – это единственный корректный вариант. Из файлов поддаётся корректному переводу только меню интегратора NSIS, поскольку там HTML, а остальные переводы – это в основном "русификаторы" с непредсказуемыми последствиями применения.
     
    64-х битное развитие идей NSIS. В разработке, аннотация разработчика nsisbi.
     
    Просьба к тем, кто будет править шапку, сначала сверяться с http://nsis.sourceforge.net/Main_Page и не выдавать желаемое за действительное.

  • Всего записей: 41940 | Зарегистр. 24-06-2001 | Отправлено: 14:21 06-10-2001 | Исправлено: DimmY, 11:10 31-03-2024
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    raer000r
     
    Мат в любой форме на портале запрещён. Пообщаетесь с администратором.
     
    C0USIN
     
    Это очень не сложно сделать. Достаточно поставить условие перезаписи:
     
    SetOverwrite ifnewer
    SetOutPatch $FONTS
    ...
    IfFileExists $FONTS\<fontfil.ext> +
    File /oname=<source_dir>\<fontname.ext>
    Goto +4
    Rename $FONTS\<fontname.ext> $FONTS\<fontname.ext.bak>
    Rename /REBOOTOK <SOURCE_DIR>\<fontname.exe> $FONTS\<fontname.ext>
    ...
     
    и в скрипте нужна функция отработки события REBOOT в которой ставим как одну из команд Delete $FONTS\*.bak для чистки мусора. В общем и целом идея такая. Блок кода что я привёл есть смысл оформить как функцию получающую как параметр имя обновляемого шрифтового файла. Это сократит размер кода, а главное число возможных ошибок в нём.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33205 | Зарегистр. 31-07-2002 | Отправлено: 21:12 09-11-2012
    Destino

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть репак, сделанный с помощью NSIS. Мне надо в нём заменить 1 файл. Как лучше это сделать? Есть ли программа, чтобы просто открыть этот инсталлятор, добавить файл и пересохранить? Или надо распаковывать инсталлятор полностью, потом добавлять файл и затем пересобирать? Тут вопрос тогда: у меня нет скрипта, которым он собирался. Можно этот скрипт узнать из имеющегося инсталлятора?

    Всего записей: 147 | Зарегистр. 13-06-2008 | Отправлено: 22:38 04-12-2012 | Исправлено: Destino, 22:39 04-12-2012
    aftertime



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Destino
    если коротко, то нет, просто заменить файл невозможно. и скрипт вытащить тоже не получится. подробнее тут
    можно с помощью какой-то программы-анинсталлера отловить все действия установщика, чтобы их потом воспроизвести

    Всего записей: 960 | Зарегистр. 26-11-2006 | Отправлено: 08:28 05-12-2012
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Destino
     
    Вы не сможете полностью декомпилировать скрипт - инклюды и макросы разворачиваемые компилятором не имея всех исходников не восстановить.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33205 | Зарегистр. 31-07-2002 | Отправлено: 12:45 05-12-2012
    Habib2302



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    люди.подскажите как распаковать nsis инсталляторы?

    Всего записей: 529 | Зарегистр. 09-05-2012 | Отправлено: 11:15 06-12-2012 | Исправлено: Habib2302, 11:20 06-12-2012
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Habib2302
     
    Два варианта - 7-Zip v4.65+ (т.е. от 4.65 и новее) или связка Far Manager + плагины Observer v1.8x или входящий в дистрибутив Far Manager v2.0.1807 STABLE или любой версии Far Manager 3.x плагин arclite - он основан на библиотеке 7z.dll из состава 7-Zip v9.xx, а потому умеет распаковывать и инсталляторы NSIS  в том числе.  
     
    Выбирайте тот, вариант который Вам лично удобнее, но сразу говорю - NSIS скрипт ни одним распаковщиком полностью декомпилировать до уровня исходных текстов не удастся - причины я называл выше.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33205 | Зарегистр. 31-07-2002 | Отправлено: 11:28 06-12-2012 | Исправлено: Victor_VG, 11:32 06-12-2012
    MikeZ

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!
     
    Подскажите, как организовать вызов ф-ций из внешней dll.
    Ф-ции есть 2 типов:  
    const char *GetStr(void)
     INT64 GetInt(void)

    т.е. ф-ции параметров не принимают, а возвращают значения: указатель на буфер и число int64.
     
    Фишкой есть то, что память под буфер выделяется dll-кой.  
     
    Тупо в лоб
    File /oname=Test.dll "Test.dll"  
     System::Call "Test::GetStr t.r0"
     System::Call "Test::GetInt l.r1"

    не получается.  
     
    Как правильно такие ф-ции заюзать?

    Всего записей: 407 | Зарегистр. 01-02-2004 | Отправлено: 18:53 11-12-2012 | Исправлено: MikeZ, 18:54 11-12-2012
    kot280379



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    MikeZ

    Код:
    System::Call "Test::GetStr(t.r0)"

    или так

    Код:
    System::Call "Test::GetStr(i.r0)"
    IntFmt $1 %s $0
     

    ---
    не факт, что будет работать, кидайте делку гляну.

    Всего записей: 185 | Зарегистр. 01-11-2009 | Отправлено: 21:21 12-12-2012 | Исправлено: kot280379, 21:25 12-12-2012
    Lex_from_Belarus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А кто-нибудь может подсказать код для определения запущена ли программа или нет, к которой идёт установка, например дополнений или обновлений, а так же код для определения куда установлена обновляемая программа. Что-то много всего перерыл, но так и не нашёл ответа.

    Всего записей: 216 | Зарегистр. 20-03-2008 | Отправлено: 18:29 14-12-2012
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lex_from_Belarus
     
    Легко - я для этого в своё время даже кусок в ProcLib вставил который именно это дело и ловит. Инструкция по применению библиотеки ProcLib.nsh. Только рекомендую заменить стандартные стубы на специальные с поддержкой строк длинной до 8К чтобы проблем не вылезло. Что до пути к установке - [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall] и там же [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths] - обычно все инсталляторы туда пишут пути к каталогу установки. Или ищите ключи Реестра по имени программы либо производителю.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33205 | Зарегистр. 31-07-2002 | Отправлено: 00:09 15-12-2012 | Исправлено: Victor_VG, 00:14 15-12-2012
    Lex_from_Belarus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Lex_from_Belarus    Легко - я для этого в своё время даже кусок в ProcLib вставил который именно это дело и ловит. Инструкция по применению библиотеки ProcLib.nsh. Только рекомендую заменить стандартные стубы на специальные с поддержкой строк длинной до 8К чтобы проблем не вылезло. Что до пути к установке - [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall] и там же [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths] - обычно все инсталляторы туда пишут пути к каталогу установки. Или ищите ключи Реестра по имени программы либо производителю.

    ох, чёрт побери, фиг я тут разберусь, думал есть полегче способ

    Всего записей: 216 | Зарегистр. 20-03-2008 | Отправлено: 11:19 16-12-2012
    zertyuiop



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Редактор скриптов Venis: Ссылка
     
    Ключ ищите на этой же странице
     
    Добавлено:
    Русиикация меню + улучшенный русский в инсталляторах от Polesoft: #
     

    Всего записей: 349 | Зарегистр. 25-08-2012 | Отправлено: 12:59 16-12-2012
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lex_from_Belarus
     
    там у меня всё расписано, все процедуры описаны, если есть вопросы - задавайте.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33205 | Зарегистр. 31-07-2002 | Отправлено: 14:18 16-12-2012
    zertyuiop



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может кто нибудь скомпилировать эти исходники: Ссылка

    Всего записей: 349 | Зарегистр. 25-08-2012 | Отправлено: 17:22 18-12-2012
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zertyuiop
     
    Не за чем их собирать - это старые исходники. Возьмите готовую бинарную версию с сайта проекта и не ищите бесполезную работу ни себе, ни людям.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33205 | Зарегистр. 31-07-2002 | Отправлено: 18:03 18-12-2012
    zertyuiop



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Так это моя попытка русифицировать исходники

    Всего записей: 349 | Зарегистр. 25-08-2012 | Отправлено: 21:43 18-12-2012
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zertyuiop
     
    С этого и надо было начинать - есть ли смысл это делать? Отвечаю нет, т.к. вся локализация осуществляется через HTML файл NSIS\Menu\index.html, а файлы стубов (NSIS/Stubs), исполняемые модули компилятора makensis/makensisw вообще нет смысла переводить - первый вызывается в консоли, а второй использует NSIS\Menu\index.html. Можно только если есть особо сильное желание перевести пару кнопок в MakeLangId.exe и zip2exe.exe. Да последний вызывают очень редко, и я не вижу смысла его переводить. А если их перевести, то можно получить проблемы с ОС - ведь основной алфавит систем разработки и самих ОС исторически латиница, и получить проблемы...

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33205 | Зарегистр. 31-07-2002 | Отправлено: 22:06 18-12-2012 | Исправлено: Victor_VG, 22:41 18-12-2012
    Lex_from_Belarus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста, как правильно установить шрифты для устанавливаемой программы. Может есть конкретный примеру, а то по примеру с офф.сайте что-то не очень понятно.
    Шрифты ttf и otf

    Всего записей: 216 | Зарегистр. 20-03-2008 | Отправлено: 00:41 13-02-2013
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lex_from_Belarus
     
    Самое простое это скопировать их в каталог $Fonts ($WINDIR\Fonts) и операционная система их сама там подключит, либо как вариант положить их в каталоге рядом с исполняемым модулем - это уже из MSDN:

    Цитата:
    Путь поиска, используемый Windows для обнаружения библиотеки DLL
    _http://msdn.microsoft.com/ru-ru/library/7d83bc18.aspx
     
    Используя механизмы явного и неявного связывания, Windows сначала выполняет поиск "известных библиотек DLL", таких как Kernel32.dll и User32.dll. Затем Windows выполняет поиск библиотек DLL в следующей последовательности:
     
    1)    Каталог, в котором находится исполняемый модуль текущего процесса.
    2)    Текущий каталог.
    3)    Системный каталог Windows. Путь к этому каталогу извлекается с помощью функции GetSystemDirectory.
    4)    Каталог Windows. Путь к этому каталогу извлекается с помощью функции GetWindowsDirectory.
    5)    Каталоги, указанные в переменной среды PATH.
     
    Примечание
     
        Переменная среды LIBPATH не используется.



    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33205 | Зарегистр. 31-07-2002 | Отправлено: 00:47 13-02-2013
    jdPhobos

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Деинсталлятор имеет один чекбокс, можно ли его активировать через ключи? Нужно удалить программу через ключ silent с активацией чекбокса.

    Всего записей: 2 | Зарегистр. 23-05-2010 | Отправлено: 18:59 14-03-2013
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

    Компьютерный форум Ru.Board » Компьютеры » Программы » Nullsoft Scriptable Install System | NSIS


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru