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

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



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

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 13:24 31-05-2020
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Воспр. аудио можно проще и без cтрёмной bass.dll.
    sound.mp3 - ваш файл.
     

    Код:
     
    OutFile "sound-test.exe"
     
    !include "MUI2.nsh"
    !insertmacro MUI_PAGE_DIRECTORY
    !insertmacro MUI_PAGE_INSTFILES
    !insertmacro MUI_LANGUAGE "English"
       
    !define SND_NAME "sound.mp3"
    InstallDir "$TEMP"
     
    Function .onInit
    InitPluginsDir
    SetOutPath $PLUGINSDIR
    File "${SND_NAME}"
    ; Конст. 0x0070  - Будут использованы все возможности окна MCI (то есть все органы управления, отображение информации в заголовке и т. д.)
    System::Call 'msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\${SND_NAME}") i .r0'
    SendMessage $0 0x0465 0 "STR:play repeat"
    System::Call 'user32.dll::ShowWindow(i r0, i 0)'  ; скрыть окно плейера
    FunctionEnd
     
    Section
    SectionEnd
     

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 16:19 02-06-2020
    WiperX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую! Подправьте пожалуйста скрипт так, чтобы был вначале сплэш, а затем музыка во время установки. Пробовал скомпилить но что то не правильно (ругается на Function .onInit). Подробнее...

    Всего записей: 961 | Зарегистр. 17-03-2009 | Отправлено: 10:52 12-06-2020 | Исправлено: WiperX, 07:07 14-06-2020
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    WiperX
    Ругаеться потому что Function .onInit 2 штуки

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 11:45 12-06-2020
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    WiperX
     
    1) Любое объявление функций (процедур, подпрограмм), переменных, процедур или функций условной компиляции обрабатываемых препроцессором языка всегда должно предшествовать их первому вызову - это правило любых языков программирования, его несоблюдение гарантирует выдачу сообщения о синтаксической или просто грубой ошибке в зависимости от стандарта языка.
     
    2) Дублирование определений (прототипа) функции воспринимается транслятором как команда "старое определение отбросить, применить новое" и в большинстве случаев гарантирует как минимум сообщение транслятора об ошибке и/или кроме того порождает ошибку алгоритма времени исполнения.
     
    В данном скрипте функция .onInit должна быть объединена так, чтобы формировалось единое логически не противоречивое целое и помещена сразу после всех define и стартовых директив установки, но до самой первой секции. Тогда компилятор перестанет на неё ругаться.

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

    Всего записей: 33227 | Зарегистр. 31-07-2002 | Отправлено: 21:18 12-06-2020
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Написано просто и со вкусом
    Попробовал компилировать в Ubuntu, очень даже ...
    Преимущество в том, что есть стуб для x64, перекинул плагины x64 и стубы x64 в винду, и все пашет и в винде.

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 21:32 12-06-2020 | Исправлено: dialmak, 21:35 12-06-2020
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
     
    Так нас этому учили. Это нам ещё профессор Фролов в институте на на самой первой лекции первого курса по программированию объяснил.
     
    А с кросс-платформенностью - так почему бы и нет? В крайнем случае согласование вызовов API делается через ассемблерные вставки, что для разных ОС, что для различных языков программирования. Это только дилетанты считают, что они открыли Америку, а так это давно отработанные приёмы и технологии.
     
    Проблемы, и то решаемые частичной правкой исходников и их компиляцией под целевой ЦП, возникнут только при переходе на архитектуру ЦП с принципиально иным набором свойств и команд, а в пределах одной процессорной архитектуры их нет, так мелкое согласование в рамках "подмножество команд и регистров X не существует до процессоров семейства Y".

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

    Всего записей: 33227 | Зарегистр. 31-07-2002 | Отправлено: 23:38 12-06-2020
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Просто была задача запуска проги на WinPE/RE x64 без присутствия WOW64. Вот пришлось искать стубы для этого дела.
    Уже позже подсказали "нативный" вариант под Windows https://github.com/negrutiu/nsis/

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 23:55 12-06-2020 | Исправлено: dialmak, 23:59 12-06-2020
    Victor_VG



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

    Цитата:
     https://github.com/negrutiu/nsis/  

    а это интересно. Ранее я с ним не встречался, вроде вижу применение для своих проектов. Надо подумать.

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

    Всего записей: 33227 | Зарегистр. 31-07-2002 | Отправлено: 00:01 13-06-2020
    Ultmann



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NSIS (Nullsoft Scriptable Install System) 3.06.1
     
    EXE
    ZIP
     

    Цитата:
    F.1.2 Changelog
    F.1.2.1 Major Changes
    Fixed SetBrandingImage crash

    Всего записей: 2108 | Зарегистр. 15-12-2018 | Отправлено: 21:11 01-08-2020 | Исправлено: Ultmann, 21:11 01-08-2020
    Victor_VG



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

    Ultmann
     
    "Зело полезная информация", а про то, что NSIS знать-понимать надо вы и не думали - главное ещё одну тему окучить "объявами" ибо как без них! Мы тут как-то без ентузиастов-глашаетаев разберёмся, тут не доска объявлений у подъезда.
     

     


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

    Всего записей: 33227 | Зарегистр. 31-07-2002 | Отправлено: 21:25 01-08-2020 | Исправлено: Victor_VG, 21:28 01-08-2020
    Kumga2

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Господа, добрый день. По поводу моего отношения к десятке говорить не буду, но, в очередной раз, есть повод спросить, что сделать, чтобы мой установщик исправно выдавал в этой ОС уведомления в трее. Уведомления от приложений приходят как попало, чаще всего их нет. Чтобы оживить центр уведомлений, включал\выключал в Параметрах уведомления приложений, разрешал работу приложений в фоне, перезагружался, сбрасывал реестр...Результат - один раз выкинет сообщение, потом опять ничего. Перепробовал все  NotifyIcon, какие есть, результат печальный. Есть ли у кого надежный код для всплывающих уведомлений в трее для Вин 10 (в других ОС все работает) или это болезнь десятки, не поддающаяся лечению?

    Всего записей: 36 | Зарегистр. 07-11-2015 | Отправлено: 16:11 03-11-2020 | Исправлено: Kumga2, 18:24 03-11-2020
    heloy2010

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вечер добрый. Возникла необходимость при установке программы, создать на рабочем столе ярлык сайта (url).
    Необходимой информации в Сети не нашел. Открыв в текстовом редакторе ярлык сайта, решил в сценарии NSIS прописать команду:
     
    FileOpen $0 "$DESKTOP\Ru.Board.url" w
    FileWrite $0 "[InternetShortcut] $\r$\n"
    FileWrite $0 "URL=http://forum.ru-board.com/topic.cgi?forum=5&topic=0595&glp $\r$\n"
    FileClose $0
     
    В принципе, ярлык сайта создается, но хотелось бы упростить данную конструкцию и прописать команду одной строкой, как например при создании обычного ярлыка:
    CreateShortCut "$DESKTOP\IrfanView.lnk" "$INSTDIR\i_view32.exe"
    Нет ли у кого нужной информации?

    Всего записей: 251 | Зарегистр. 17-05-2019 | Отправлено: 20:09 19-03-2021
    iglezz

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

    Код:
    WriteINIStr "X:\path\to\sitelink.url" "[InternetShortcut]" URL "url"

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 20:31 19-03-2021
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    heloy2010
     
    Например:
     
    Section -AdditionalIcons
      SetShellVarContext all
      !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
      WriteIniStr '"$DESKTOP\${PRODUCT_NAME}.url"' "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
      !insertmacro MUI_STARTMENU_WRITE_END
    SectionEnd


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

    Всего записей: 33227 | Зарегистр. 31-07-2002 | Отправлено: 20:34 19-03-2021
    heloy2010

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    iglezz
    Благодарю вас обоих, вот что у меня получилось:
     
    WriteIniStr "$DESKTOP\Ru.Board.url" "InternetShortcut" "URL" http://forum.ru-board.com/topic.cgi?forum=5&topic=0595&glp
     
    Ярлык на сайт создается и работает.

    Всего записей: 251 | Зарегистр. 17-05-2019 | Отправлено: 22:13 19-03-2021
    insorg



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

    Цитата:
     
    Section /o "some job 1"  
      InitPluginsDir
      File "/oname=$PLUGINSDIR\7z.exe" "7z.exe"
      SetOutPath $INSTDIR
      nsExec::Exec '"$PLUGINSDIR\7z.exe" x -y -o"$INSTDIR" "$EXEPATH" -t7z -aoa @"$PLUGINSDIR\<список>.txt" '
      RMDir /r /REBOOTOK "$PLUGINSDIR"
    SectionEnd
     
    Section /o "some job 2"
      InitPluginsDir
      File "/oname=$PLUGINSDIR\7z.exe" "7z.exe"
      SetOutPath $INSTDIR
      nsExec::Exec '"$PLUGINSDIR\7z.exe" x -y -o"$INSTDIR" "$EXEPATH" -t7z -aoa @"$PLUGINSDIR\<список2>.txt" '
      RMDir /r /REBOOTOK "$PLUGINSDIR"
    SectionEnd
     

     
    Как выполнить обе?
    ЧЯДНТ?

    Всего записей: 16698 | Зарегистр. 04-11-2010 | Отправлено: 11:21 09-04-2021 | Исправлено: insorg, 11:21 09-04-2021
    MKN



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

    Код:
     
    Function .OnInit
    InitPluginsDir  
    File "/oname=$PLUGINSDIR\7z.exe" "7z.exe" ; или "путь_к\7z.exe"
    File "/oname=$PLUGINSDIR\7z.dll" "7z.dll" ; dll нужна для консольной версии 7z
    FunctionEnd
     
    Section /o "some job 1"  
    SetOutPath $INSTDIR
    nsExec::Exec '"$PLUGINSDIR\7z.exe" x -y -o"$INSTDIR" "$EXEPATH" -t7z -aoa @"$PLUGINSDIR\<список>.txt" '  
    SectionEnd
     
    Section /o "some job 2"
    SetOutPath $INSTDIR
    nsExec::Exec '"$PLUGINSDIR\7z.exe" x -y -o"$INSTDIR" "$EXEPATH" -t7z -aoa @"$PLUGINSDIR\<список2>.txt" '
    SectionEnd  
     

    Если в синтаксисе и путях выполнения 7z.exe нет ошибок, то должно бы работать... (некогда проверять...)

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 12:20 09-04-2021 | Исправлено: MKN, 12:27 09-04-2021
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    Цитата:
    7z.exe  
    У меня переименованный 7za.exe для удобства. Ему DLL не надо.
     

    Цитата:
    Function .OnInit
    InitPluginsDir  
    Хм, почему-то считал, что InitPluginsDir должен стоять внутри секций.
     
    А что делать с
    Цитата:
    RMDir /r /REBOOTOK "$PLUGINSDIR"  
    , её опустить на последнюю строку скрипта?

    Всего записей: 16698 | Зарегистр. 04-11-2010 | Отправлено: 12:54 09-04-2021
    MKN



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

    Цитата:
    её опустить на последнюю строку скрипта?

    вообще не нужно. $PLUGINSDIR должна "самоочищаться" после закрытия инсталлятора.

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 13:13 09-04-2021 | Исправлено: MKN, 13:14 09-04-2021
    Открыть новую тему     Написать ответ в эту тему

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