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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    imsorry

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    VictorVG2
     
    Я дико извиняюсь... оно-то понятно, что задача решаемая...
     
    Просто я в совершенном недоумении - почему данная ф-ция не востребована В ПРИНЦИПЕ! От слова вообще... Я перерыл все, что можно. Установил более полусотни пакетов
     
    И единственное, что нашел - вот эту штучку.
     
    И то - собственно экспорт в файл values не делает, хотя обращаться умеет...
    .
     
     
     

    Всего записей: 148 | Зарегистр. 25-09-2013 | Отправлено: 15:16 02-03-2016
    VictorVG2

    Редактировать | Цитировать | Сообщить модератору
    imsorry
     
    На деле данная задача в NSIS возникает столь редко, что смысла в её специальном решении нет. Но можно её решить иначе - ReadRegValue -> WriteIni и удаление их него (если надо) лишних заголовков секций. Это идея "на вскидку", реально нужно повозится с писаниной кода, а на это у меня сейчас нет времени. Но общий подход вы видите.
     
    А насчёт пакетов - может они вам были нужны?

    Отправлено: 16:40 02-03-2016
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Комплект NSIS 2.51 + обновление (на Яндекс Диск лежит, так что если что починю ссылку). Только что для себя переписал часть кода - главное было обеспечить совместимость с v2.51 + обновить часть плагинов в т.ч. StdUtils до версии 1.0.9, nsisXML, UNICODE - этот явно был неудачно собран судя по битым импортам kernel32.dll, ну и возможность использовать строки до 8196 символов в коде получить, а заодно не портя код поставить русское меню для оболочки благо там HTML и его переводить одно удовольствие. Консольные бинарники трогать нечего - там и без нас найдётся кому дров наломать, а вот адрес-калькулятор который когда написал мой приятель не раз выручит, хотя и может сообщить об ошибке если адрес неправильно задать - пустые адреса в его алгоритм мы не закладывали. Он минимизируется в трей и коли был запущен то и висит там пока не получит от оператора команду на выход - так и было задумано.

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

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 06:27 03-04-2016 | Исправлено: Victor_VG, 06:28 03-04-2016
    Bannan



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG, ваше обновление какое-то стрёмное. Судя по отчёту с VirusTotal, инсталлятор содержит полный набор юного кулхацкера.

    Всего записей: 507 | Зарегистр. 30-07-2011 | Отправлено: 22:34 18-04-2016
    Victor33Man



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

    Всего записей: 273 | Зарегистр. 06-04-2016 | Отправлено: 20:26 22-04-2016 | Исправлено: Victor33Man, 20:28 22-04-2016
    khasia



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Русский NSIS 3.0 RC1 от leserg

    Всего записей: 2248 | Зарегистр. 18-02-2010 | Отправлено: 07:38 06-06-2016
    Petrzhukv

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

    Всего записей: 2 | Зарегистр. 19-06-2016 | Отправлено: 02:28 19-06-2016
    WiperX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет! Подскажите как реализовать такое:
    Подробнее...

    Всего записей: 961 | Зарегистр. 17-03-2009 | Отправлено: 16:37 20-06-2016
    iglezz

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Petrzhukv
    4.5.3 Callbacks в мануале
    На страницу выбора пути поставить колбэк, где обработать свой вариант.  
    Примерно так:

    Код:
    Page directory PreDirectoryCallbackFunction
     
    Function PreDirectoryCallbackFunction
      IfFileExists "x:\путь\файлизпрограммы" 0 +3
        StrCpy $INSTDIR "x:\путь"
        Abort
    FunctionEnd
     

     
    Так стандартно (без MUI) работает, с MUI надо справку и примеры смотреть + вот ещё ссыль с примером
    Пишу по памяти, надо проверять
     
     
    WiperX
    Custom pages. раздел 4.5 в мануале + плагины nsDialogs, InstallOptions

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 19:59 20-06-2016 | Исправлено: iglezz, 20:17 20-06-2016
    Petrzhukv

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Благодарствую, пошол пытать.

    Всего записей: 2 | Зарегистр. 19-06-2016 | Отправлено: 20:38 21-06-2016
    Krinkels



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Представляю Botva3.dll. Переделана из Botva2.dll, и переименована, дабы не путаться. Для оригинальных функций сделаны функции обертки( для комфортной работы с nsis ) + чуть чуть переписан код.
    В архиве либа + пара примеров. Желательно потестить более сведущим в nsis нежели мне.
     
    Ссылка 1
    Ссылка 2

    Всего записей: 764 | Зарегистр. 06-05-2009 | Отправлено: 15:24 28-06-2016 | Исправлено: Krinkels, 15:31 28-06-2016
    Sanch8



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NSIS 3.0 RC2
     
    F.1 3.0 Release Candidate 2
    F.1.1.1 Major Changes
     
        Fixed LogicLib nested ${Select} bug
        !makensis command must force Unicode output to be UTF-8 (bug #1147)
     
    F.1.1.2 Minor Changes
     
        Zip2Exe aborts if the zip file is encrypted (bug #1141)
        Added LogicLib & operator
        NSIS Menu POSIX fixes (bug #1144)
     
    F.1.1.3 Translations
     
        PortugueseBR fixes (deguix)
        Minor tweaks to Danish.nlf (scootergrisen) (bug #1140)

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 14:34 10-07-2016 | Исправлено: Sanch8, 14:43 10-07-2016
    xChe



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Релиз вышел - NSIS 3.0

    Всего записей: 4017 | Зарегистр. 07-05-2006 | Отправлено: 21:16 25-07-2016
    iglezz

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В колбэке страницы instfiles прячу кнопку "< назад"

    Код:
    GetDlgItem $1 $HWNDPARENT 3 ;back button
    ShowWindow  $1 ${SW_HIDE}
     

    Но после завершения установки эта кнопка опять появляется. Можно ли её убрать всё-таки?
    Большого смысла в этом нет, но ведь как-то неаккуратненько выходит.

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 00:02 30-07-2016 | Исправлено: iglezz, 00:08 30-07-2016
    MKN



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

    Цитата:
    В колбэке страницы instfiles прячу кнопку "< назад"
    после завершения установки эта кнопка опять появляется

    Где появляется ? Если на финишной странице, то конечно появляется. Надо эту кнопку убирать на каждой странице.

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 12:00 30-07-2016
    iglezz

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

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 14:42 30-07-2016
    VictorVG4



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iglezz
     
    Правильно, т.к. каждая страница обрабатывается индивидуально. Иначе теряется гибкость кода.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

    Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 15:23 30-07-2016
    iglezz

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Где же тут гибкость, если до этих кнопок на этой финальной стадии не дотянуться?

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 16:32 30-07-2016
    VictorVG4



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iglezz
     
    А если вместо стандартной финальной страницы написать свою? NSIS ведь это допускает. А по поводу гибкости - если сравнить к примеру Inno Setup или Wise Install Maker с NSIS то в первых вставить в код свой алгоритм не сильно выйдет. В Inno вылезут ограничения Паскаля, а Wise насколько я помню тот вариант середины 90-х с которым работал всё было жёстко регламентировано реализованным в среде набором инструментов, и коли надо сделать что-то, что в среде отсутствует - переписывай всю среду с нуля.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

    Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 17:11 30-07-2016
    Sanch8



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iglezz
    Убрать кнопку "< Назад" на всех страницах можно вот-так:

    Код:
    Name "Test"
    OutFile "OutFile.exe"
     
    !include "MUI.nsh"
    !define MUI_CUSTOMFUNCTION_GUIINIT onGUIInit
     
    !insertmacro MUI_PAGE_WELCOME
    !insertmacro MUI_PAGE_COMPONENTS
    !insertmacro MUI_PAGE_DIRECTORY
    !insertmacro MUI_PAGE_INSTFILES
    !insertmacro MUI_PAGE_FINISH
    !insertmacro MUI_LANGUAGE "Russian"
     
    Function onGUIInit
        GetDlgItem $0 $HWNDPARENT 3
        System::Call 'user32::MoveWindow(i $0, i 0, i 0, i 0, i 0, i 1)'  
    FunctionEnd
     
    Section Test
    SectionEnd


    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 19:36 30-07-2016 | Исправлено: Sanch8, 19:37 30-07-2016
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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