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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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.08 (от 25 сентября 2021 г.)  
     
     
    Ссылки:
    NSIS: страница загрузкирусификатор ветки 2.xx (без гарантии, что подходит!)2.513.02.1NSIS 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 | Исправлено: Maz, 20:31 01-01-2023
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравия всем и с прошедшими праздниками!
    Подскажите пожалуйста. Столкнулся с такой проблемой и затупил откровенно.
    Раньше после компиляции установщика, можно было его открыть 7-zip и увидеть всю структуру файлов. Сейчас, после создания нового .*nsi, нельзя.  
    Как это побороть, где собака порылась?

    P.S. К самому установщику нет претензий. Работает как и задумано.
    P.P.S Версия nsis 2.46.5 unicode.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 08:10 20-01-2019 | Исправлено: megane68, 08:36 20-01-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    А нигде. Игорь отключил в 7z.dll генерацию *.nsi файла (в исходнике пара строк закомментирована), а всё остальное работает. Это если в самом 7-Zip "народные умельцы" ничего не сломали, иначе вопросы к ним.

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

    Всего записей: 33133 | Зарегистр. 31-07-2002 | Отправлено: 08:17 20-01-2019
    megane68



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

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 08:40 20-01-2019 | Исправлено: megane68, 08:40 20-01-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Как вариант попробовать ось ребутнуть. Иногда помогает. В ОЗУ может быть мусор...

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

    Всего записей: 33133 | Зарегистр. 31-07-2002 | Отправлено: 09:16 20-01-2019
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    ок. Попробую.
     
    Добавлено:
    Нет. Не помогло.
    Я что- то вообще не понял как так может быть? Версия НСИС старая. Я её не обновлял. Скрипт старый, только версия проги изменилась, практически ничего не правил. 7-zip тоже давно не обновлял. Старые версии установщика открываются со структурой.
    Хрень какая-то.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 09:49 20-01-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Может кто-то типа шибко усердного антивируса вмешивается? Так с ходу и идей-то нет...

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

    Всего записей: 33133 | Зарегистр. 31-07-2002 | Отправлено: 16:34 20-01-2019
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Удалил все старые сборки и новые. Перегрузил комп. Результат идентичный - не показывает структуру, как буд- то какое-то шифрование включено.
    Антивирус только Дефендур, тот, что в Windows 10/ Так он всегда там был. Больше вроде ничего похожего.
    Мне NSIS всегда открытостью нравился, что можно при правильной компиляции, извлечь файлы как из архива. А тут такая засада.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 19:32 20-01-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Вот на его ошибки я бы и подумал в первую очередь. Это не Unknown identifier когда вроде и понятно куда его дефайн добавить, но не делаешь поскольку напарник в это время что-то меняет и ждёшь его коммита.

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

    Всего записей: 33133 | Зарегистр. 31-07-2002 | Отправлено: 19:38 20-01-2019
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    • Обновил 7-zip до версии 18.06.
    • Почистил систему и реестр.
    Перезагрузил систему.
    Свершилось чудо!!! Друг спас друга! ©
    Не знаю какой пункт из двух помог, скорее всего чистка реестра, но в общем помогло.
    Спасибо! Если кто-то столкнётся с такой проблемой, будем знать. )))

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 20:13 20-01-2019 | Исправлено: megane68, 20:15 20-01-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Скорее всего обновление 7-zip - в 18.06 Игорь исправил ряд ошибок из 18.05. А я покуда колдую. libgit2 собрал, но не совсем так как хочу, а в РН жду ответа - там мелочь, но неприятная...

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

    Всего записей: 33133 | Зарегистр. 31-07-2002 | Отправлено: 22:22 20-01-2019
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Возможно. Надо было по отдельности проделать действия. Я что- то тормазнул и свалил мух к котлетам.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 22:49 20-01-2019
    Victor_VG



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

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

    Всего записей: 33133 | Зарегистр. 31-07-2002 | Отправлено: 23:57 20-01-2019
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Я так и не смог пока понять как сделать на кнопку права администратора, как в установщике foobar2000, где сам установщик запускается с правами пользователа, а если выбираешь стандартную установку в Program Files, то установщик запрашивает права администратора.
    Хоть Питеру звони и спрашивай, какими средствами он это забульбенил?

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 09:34 24-01-2019 | Исправлено: megane68, 09:35 24-01-2019
    iglezz

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

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 13:14 24-01-2019
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iglezz
    Спасибо. Поюзаю, но пока времени на усидчивость не хватает.
     
    Добавлено:
    Ребят, не пойму, как мне в группе секций, через RadioButton сделать отмеченной по умолчанию первую?
    На .onInit NSIS ругается, что эта функция уже существует. Ну ессно существует, в самом начале инсталятора. Если туда записать дефолтную RadioButton, то NSIS ругается, что неопозная переменная константа.
     
    Function .onSelChange
    !insertmacro StartRadioButtons $1
       !insertmacro RadioButton ${SEC01d-1}
       !insertmacro RadioButton ${SEC01d-2}
       !insertmacro RadioButton ${SEC01d-3}
    !insertmacro EndRadioButtons
    FunctionEnd
     
    А назначение по умолчанию никак не проходит.
     
    Function .onInit
      StrCpy $1 ${SEC01d-1}
    FunctionEnd

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 04:42 01-02-2019 | Исправлено: megane68, 04:47 01-02-2019
    grvaleri

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Скорее всего обновление 7-zip - в 18.06 Игорь исправил ряд ошибок из 18.05. А я покуда колдую. libgit2 собрал, но не совсем так как хочу, а в РН жду ответа - там мелочь, но неприятная..
    да и получше работает (шустрее я бы сказал)
    но с плагинами я так и не разобрался что 64 что 32
    толком не работают особенно на мп 3

    Всего записей: 395 | Зарегистр. 14-09-2006 | Отправлено: 08:26 01-02-2019 | Исправлено: grvaleri, 08:28 01-02-2019
    iglezz

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
    Проще было бы разобраться, если бы рабочий скрипт был виден целиком.  
    Вероятнее всего нарушен порядок блоков - сначала должны идти Section..SectionEnd, затем функции, использующие индекс секции (${SEC01d-1} и т.п.)

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 11:52 01-02-2019
    megane68



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

    Цитата:
    Вероятнее всего нарушен порядок блоков - сначала должны идти Section..SectionEnd, затем функции, использующие индекс секции (${SEC01d-1} и т.п.)

     
    Попробую объяснить.
    Есть группа секций:
     

    Цитата:
    SectionGroup "Record pattern" SEC01d
     
    Section "[YYYY.MM.DD HH-MI.SS] EPG (CH)" SEC01d-1
      File /r "..\SimpleTV\$COMPONENTS_05\Record_pattern\[YYYY.MM.DD HH-MI.SS] EPG (CH)\luaScr*"
    SectionEnd  
     
    Section "YYYY.MM.DD HH-MI.SS EPG (CH)" SEC01d-2
      File /r "..\SimpleTV\$COMPONENTS_05\Record_pattern\YYYY.MM.DD HH-MI.SS EPG (CH)\luaScr*"
    SectionEnd  
     
    Section "EPG (CH) [YYYY.MM.DD HH-MI.SS]" SEC01d-3
      File /r "..\SimpleTV\$COMPONENTS_05\Record_pattern\EPG (CH) [YYYY.MM.DD HH-MI.SS]\luaScr*"
    SectionEnd  
     
    Section "EPG (CH) YYYY.MM.DD HH-MI.SS" SEC01d-3
      File /r "..\SimpleTV\$COMPONENTS_05\Record_pattern\EPG (CH) YYYY.MM.DD HH-MI.SS\luaScr*"
    SectionEnd  
     
    SectionGroupEnd

     
    Нужен такой результат:
    1. По умолчанию должна быть отмечена первая секция SEC01d-1.
    2. При выборе другой секции, отменялись бы все другие отмеченные.
    3. Чтобы была возможность отменить все секции сняв отметку со всей группы SEC01d.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 13:09 01-02-2019 | Исправлено: megane68, 13:10 01-02-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    megane68
     
    Выбор делается логикой через дополнительные секции у которых выставлен ключ /o, секция по умолчанию имеет "-" в начале своего имени и в меню выбора секций будут серыми (выбор не доступен, но секция выполнится всегда) и переменные-семафоры (они должны быть явно объявлены в заголовочной части скрипта).  
    Код типа такого (по подходу к его построению):

    Код:
    /* автомат выбора языка если язык системы русский, то в любом случае
    кроме прямого указания использовать английский выберет его, в противном
    случае логика обратная - русский надо принудительно выбрать.
    Глобальные переменные $semen , $semru и $i18n должны быть определены
    заранее в хидере программы.
    */
    /* в хидере вставляем переменные семафоры */
    var semen
    var semru
    var i18n
    /* Функция .onInit так же инициализирует семафоры записывая в них 0 чтобы исключить ошибки */
    Function .onInit
    ............
    StrCpy $semen 0
    StrCpy $semru 0
    StrCpy $i18n 0
    FunctionEnd
    /* Начинаем блок кода программы */
    Section /o "English" SEC001
       StrCpy $semen 1
    SectionEnd
    Section /o "Russian" SEC002
       StrCpy $semru 1
    SectionEnd
    Section "-lang"
      StrCmp $LANGUAGE 1049 +1 +5
      IntOp $0 $semen ^ $semru
      StrCmp $0 0 +2
      StrCmp $semru 1 +5
      IntOp $0 $semen !
      IntOp $0 $0 && $semru
      StrCmp $0 1 +1 +4
      StrCpy $i18n "Russian"
      Goto +2
      StrCpy $i18n "English"
    SectionEnd
    /* Добавить после секции Post перед деинсталегром! */
    !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
      !insertmacro MUI_DESCRIPTION_TEXT ${SEC001} "Use English language"
      !insertmacro MUI_DESCRIPTION_TEXT ${SEC002} "Use Russian language"
    !insertmacro MUI_FUNCTION_DESCRIPTION_END

    Код написан давно (в 2009), потому анализировать на ошибки я его не стал - главное он демонстрирует саму методику, достаточно.

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

    Всего записей: 33133 | Зарегистр. 31-07-2002 | Отправлено: 13:55 01-02-2019 | Исправлено: Victor_VG, 13:59 01-02-2019
    megane68



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот секция.

    Всего записей: 485 | Зарегистр. 14-09-2008 | Отправлено: 15:56 01-02-2019 | Исправлено: megane68, 13:23 02-02-2019
    Открыть новую тему     Написать ответ в эту тему

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