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

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



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    В результате вашим способом оказалось проще.
    Вопрос с выбором компонентов решён.
    Теперь надо решать вопрос с зависимостью при отмене выбора компонентов!
     

    Цитата:
     
    Function .onSelChange
     
    #  Select SEC03 if SEC04 or SEC05 was selected.
    SectionGetFlags ${SEC04} $3
    SectionGetFlags ${SEC05} $4
    ${If} $3 == 1
    ${OrIf} $4 == 1
    SectionSetFlags ${SEC03} 1
    ${EndIf}
     
    #  Select SEC06 if SEC07 or SEC08 was selected.
    SectionGetFlags ${SEC07} $3
    SectionGetFlags ${SEC08} $4
    ${If} $3 == 1
    ${OrIf} $4 == 1
    SectionSetFlags ${SEC06} 1
    ${EndIf}
     
    #  Select SEC03, SEC04, SEC05 and  SEC06 if SEC07 was selected.
    SectionGetFlags ${SEC07} $4
    ${If} $3 == 1
    ${OrIf} $4 == 1
    SectionSetFlags ${SEC03} 1
    SectionSetFlags ${SEC04} 1
    SectionSetFlags ${SEC05} 1
    SectionSetFlags ${SEC06} 1
    ${EndIf}
     
    FunctionEnd  
     

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 19:48 07-11-2015 | Исправлено: megane68, 07:22 09-11-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, как выкрутиться?
    Была кастомная страница с Radiobuttons для выбора типа установки (установка и update) и стандартная страница компонентов.  
    Захотелось сделать профили на странице выбора компонентов:

    Цитата:
    !define MUI_COMPONENTSPAGE_SMALLDESC
    InstType "Полный"
    InstType "Минимальный"
    InstType "Рекомендуемый"

     
    Но теперь перестал работать выбор из двух секций по RadioButton с кастомной страницы:
     

    Цитата:
     
    Function SetFlags
    ${NSD_GetState} $RadioButton1 $Radio1
    ${NSD_GetState} $RadioButton2 $Radio2  
     
    ${If} $Radio1 = 1
    SectionSetFlags ${Port} 0
    SectionSetFlags ${St} 1
    ${EndIf}    
     
    ${If} $Radio2 = 1  
    SectionSetFlags ${St} 0
    SectionSetFlags ${Port} 1
    ${EndIf}
    FunctionEnd  
     

     
    При любом варианте RadioButton, устанавливаются обе секции ${St} и ${Port}.
     
    Как выключить секцию ${St} при выборе RadioButtob2?
    Эти две кнопки RasioButton находятся на кастомной странице сценария. перед выбором компонентов, и для меня непонятно, как они связаны?

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 04:38 08-11-2015 | Исправлено: megane68, 06:04 09-11-2015
    MKN



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

    Цитата:
    Теперь надо решать вопрос с зависимостью при отмене выбора компонентов!


    Код:
     
    Function .onSelChange  
       
     #  Select SEC03 if SEC04 or SEC05 was selected.  
     SectionGetFlags ${SEC04} $3  
     SectionGetFlags ${SEC05} $4  
     
    ${If} $3 == 1  
    ${OrIf} $4 == 1  
    SectionSetFlags ${SEC03} 1  
    ${ElseIf} $3 == 0
    SectionSetFlags ${SEC03} 0
    ${ElseIf} $4 == 0
    SectionSetFlags ${SEC03} 0
    ${EndIf}
     
    и.т.д.
     

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 10:43 10-11-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем здравия!
    Был занят, поэтому долго не отписывался.
    MKN
    Ваш последний пример имеет прямую зависимость - при выборе/отмене SEC04 и SEC05, выбирается/отменяется SEC03.
    Мне же скорее нужна обратная зависимость - при выборе SEC04 и SEC05, выбирается SEC03. При этом при отмене SEC04 и SEC05, секция SEC03 остаётся неизменной, а при отмене SEC03, отменяются SEC04 и SEC05.
    Что- то у меня пока с этим туго.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 07:34 14-11-2015
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
    Сделай вместо стандартной, собственную страницу выбора компонентов и не ломай голову.  
    Там уж просто выбрать любые зависимости и чекбоксов и чего угодно, а также добавить любые доп. элементы.

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 11:25 14-11-2015
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    Наверное так и придётся делать, но не оставляю надежду.  
    Со своей страницей компоненотов тоже повозиться придётся.
     
    У меня ещё такой вопрос:
    На финишной странице надо запустить программу Update.exe, которая должна выполняться от имени администратора, но установщик прописан с провами пользователя специально.  
    В таком варианте запуск Uninstall.exe не осуществляется.
    Можно ли как- то запустить экзешник от админа из под установшика в котором прописаны только права пользователя?

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 15:09 17-11-2015
    VictorVG2

    Редактировать | Цитировать | Сообщить модератору
    NSIS v2.47 - v2.48 - исправление ошибок безопасности обнаруженных с момента выхода версии 2.46. Это официальное объяснение, No comment.
     
    От меня - комплект из установочного ANSI пакета версии 2.48, обновления для неё (на другую версию не встанет), SDK  и немного документации. В коде обновления кроме чистки мусора сделан основательный рефакторинг, посему и похудели прилично - куча строк улетела в /dev>nul.
     
    Добавлено:
    P.S.
     
    Всё, усталость перевешивает необходимость. Работу отложим, сон - святое дело.)

    Отправлено: 06:28 12-12-2015
    ar13



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите есть файл собранный nsis так там внутри только одна библиотека System.dll и этот файл портит файловую систему, хотел понять, это в самом nsis можно так сделать? без стороннего софта? или там был упакован ехе файл который не отображается?

    Всего записей: 38 | Зарегистр. 24-01-2016 | Отправлено: 23:39 07-02-2016
    VictorVG2

    Редактировать | Цитировать | Сообщить модератору
    ar13
     
    Можно, и я видел подобные "подарки" в реальности.

    Отправлено: 00:23 08-02-2016
    Sanch8



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ar13
    System.dll - это системный плагин NSIS который дает возможность вызвать любую экспортируемую функцию из любой dll. В принципе можно написать любой зло вред на основе этой dll.
     
     

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 01:46 08-02-2016 | Исправлено: Sanch8, 01:48 08-02-2016
    ar13



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А можно этот исполняемый файл дизассемблеровать?

    Всего записей: 38 | Зарегистр. 24-01-2016 | Отправлено: 21:23 09-02-2016
    VictorVG2

    Редактировать | Цитировать | Сообщить модератору
    ar13
     
    System.dll? А зачем коли его исходники и так доступны в nsis-2.50-src.tar.bz2 и nsis-3.0b3-src.tar.bz2?

    Отправлено: 22:01 09-02-2016
    ar13



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не сам System.dll! а то что выполняется после запуска!

    Всего записей: 38 | Зарегистр. 24-01-2016 | Отправлено: 20:14 11-02-2016
    VictorVG2

    Редактировать | Цитировать | Сообщить модератору
    ar13
     
    Та это уже не к NSIS. Там может что угодно работать...

    Отправлено: 20:36 11-02-2016
    imsorry

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я дико извиняюсь... сориентируйте, плз.
     
    Сабж вижу первый раз в жизни. У него есть плагин Registry
     
    Я правильно понимаю, что его ф-ция Registry Export, которя почему-то называется SaveKey, работает только с ключами (keys)?
     
    Мне же нужен (в частности) экспорт выборочных параметров (values). Есть ли смысл дальше шариться по сабжу и его плагинах в поисках этого функционала?
    .

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



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

    Цитата:
    Мне же нужен (в частности) экспорт выборочных параметров (values).

    Читай стандартными действиями, нужное значение из нужного ключа.  
    Из полученных данных делай стандартый рег файл (если надо).

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 11:55 02-03-2016
    imsorry

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    Понял. Все так же грустно, как и везде...  
    А разрабы на контакт идут? В виш заглядывают?  
    Так-то, по манам судя, вроде подошел бы мне этот NSIS...  
    Но этот экспорт вручную всю малину портит :(
    .

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



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

    Цитата:
    Но этот экспорт вручную

    Почему вручную ? С помощью NSIS скрипта - читаешь, создаёшь и т.д.
    Поконкретнее опиши задачу.

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 12:35 02-03-2016
    imsorry

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
     
    Ну, к примеру, мне нужно экспортировать часть реестра (есть список вхождений).  
    Из них - сто ключей, а еще в одном ключе мне из десятка параметров нужно лишь два. Их я вынужден буду экспортировать вручную (дополнительным кодом) - писать ключ, писать параметр и его значение. Потом сливать файлы и терять при этом сортировку. Т.е. 100+0.2-сортировка.
     
    Или экспортировать все кучей, а потом редактировать файл, вырезая из него ненужные параметры. Т.е. 101-0.8+сортировка. Но это еще более громоздко...

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

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

    Отправлено: 14:53 02-03-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