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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN

    Цитата:
    !define PRODUCT_UNINST_ROOT_KEY "HKLM"
    !define PRODUCT_PATH_REGKEY "Software\MyApp"  

    эти дифайны нужны только если мы используем деинсталлятор, если нет - их макросы зря забьют память.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 11:53 17-04-2014
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Это так.  Но FanIT в своём примере скрипта использует :
     !define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"  
     !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}}"  
    а без вышедобавленного ессно будет ошибка

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 11:57 17-04-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
     
    В его случае этот код лишний, там и ещё одна синтаксическая ошибка сидит - в функции AeroGUI [] лишние:
     
    Function aeroGUI
    Aero::Apply [/btnold]
    FunctionEnd  
     
    а формально надо  
     
    Function aeroGUI
    Aero::Apply /btnold
    FunctionEnd  
     
    и обе строки:
     
    !define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
    !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}}"

     
    в данном примере можно и нужно убрать, и как я уже сказал в строке
     
    !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}}"
     
    сидит синтаксическая ошибка - }} . Понятно, что это опечатка, но компилятор выведет сообщение об ошибке и остановит сборку.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 13:34 17-04-2014 | Исправлено: Victor_VG, 14:09 17-04-2014
    FanIT

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    Я эти строчки добавил. Теперь ошибки нет. Но текст все равно остался иероглифами. Причем кнопки "Далее" и "Отмена" нормально отображаются. Может что-то с nsDialogs не так.
     
    Victor_VG

    Цитата:
    Aero::Apply [/btnold]  

    Это так было указанно в доках к этому плагину.

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 14:02 17-04-2014
    Victor_VG



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

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 14:12 17-04-2014
    FanIT

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

    Цитата:
    В "[]" указывают необязательные параметры. Это стандартная форма их записи, если какой-то параметр имеет варианты выбора, то они обозначаются разделителем "|". В записи кода этих элементов быть не должно.

    Вот ведь. Век живи, век учись. Спасибо! Буду знать.

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 14:31 17-04-2014
    Victor_VG



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

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 14:49 17-04-2014
    FanIT

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем огромное спасибо!!! Оказывается сам скрипт был в UTF-8 кодировки. Преобразовал его в ansi и все стало нормально. Но все равно много нового от вас узнал. Еще раз спасибо огромное!

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 17:06 17-04-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FanIT
     
    Если вы работаете с NSIS 2.x то там нужна кодировка ANSI, если с 3.x UNICODE, то допустима и UTF-8 с BOM.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 17:20 17-04-2014
    FanIT

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет! У меня еще один вопрос. В левом нижнем углу инсталятора есть надпись "Nullsoft install system". Как эту надпись можно заменить на свою?

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 21:53 18-04-2014
    Victor_VG



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

    Цитата:
    Всем привет! У меня еще один вопрос. В левом нижнем углу инсталятора есть надпись "Nullsoft install system". Как эту надпись можно заменить на свою?

    BrandingText "ваш_текст" в заголовке вашего скрипта. К примеру так. Этому коду сто лет в обед, но он полностью рабочий.


    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 22:42 18-04-2014 | Исправлено: Victor_VG, 22:47 18-04-2014
    FanIT

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

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 17:43 19-04-2014
    Victor_VG



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

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 18:46 19-04-2014
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени
     
    Помогите с компиляцией проекта, пожалуйста. У меня проблема с StrRep.nsh, как минимум. Видимо то, что лежит здесь уже не подходит.
    Да, мне нужен именно рецепт, как скомпилировать самому.
    Спасибо.

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 09:16 21-04-2014
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Gideon Vi
    Обозначь четко задачу. (Необходимые пошаговые действия)

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 12:22 21-04-2014 | Исправлено: MKN, 12:23 21-04-2014
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В архиве проект. Он не компилируется, ругаясь на девятнадцатую строчку, в которой идет обращение к скрипту StrRep.nsh, который, вероятно, слишком свежий.
    Мне нужен StrRep.nsh (и, возможно, ReplaceInFile.nsh), с которым эта сборка скомпилируется. Если такого в наличии нет, то прошу адаптировать скрипт под новые файлы.
    У меня совершенно нет опыта в работе с сабжем и не хотелось бы ради разовой задачи его узнавать.

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 14:25 21-04-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Gideon Vi
     
    Ошибки вот где, в строке 19 и 20:
     
        ${StrReplace} '$0' '\' '#^#~' '$EXEDIR'
        ${StrReplace} '$1' '#^#~' '\\' '$0'
     
    такого макроса StrReplace нет, есть макрос StrRep имеющий параметры:
     
        ${StrRep} "выходная строка" "Исходная строка" "Искомая подстрока" "Заменяемая подстрока"
     
    и регулярки он не понимает ибо работает строго по совпадению символов. В данном случае логика явно не верная, давай, формулируй мне задачу, а я напишу под неё нормальное решение. Всё одно эта штука в таком виде работать не будет...

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 15:21 21-04-2014 | Исправлено: Victor_VG, 16:28 21-04-2014
    FanIT

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет! Ребят помогите! На страницы два чекбокса. Мне надо проверить, если они отмечены, создать ярлык. Но почему-то не создается. Подскажите, что не так?
     
    Вот код:
    ${NSD_GetState} $cbDesktop $cbDesktopState
     
    ${if} cbDesktopState == ${BST_CHECKED}
    CreateShortCut "$DESKTOP\ярлык.lnk" "$OUTDIR\программа.exe"
    ${endif}
     
    ${NSD_GetState} $cbMenu $cbMenuState
     
    ${if} $cbMenuState == ${BST_CHECKED}
    CreateDirectory "$STARTMENU\папка"
    CreateShortCut "$STARTMENU\папка\ярлык.lnk" "$OUTDIR\программа.exe"
    ${endif}

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 22:04 22-04-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FanIT
     
    Он уже в начале обрезан - переменные надо определить или через !define или через var. Тут же $cbDesktopState стоит заменить регистром предварительно обнулив его, а у вас как я понимаю по сему фрагменту данные теряются и проверка не происходит....

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 04:47 23-04-2014
    FanIT

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Само собой все переменные объявлены через var в начале скрипта. Просто забыл сюда добавить. Спасибо.

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 12:27 23-04-2014
    Открыть новую тему     Написать ответ в эту тему

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