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

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



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

    Цитата:
    2.13WARNING! THIS RELEASE DOES NOT WORK PROPERLY ON WINDOWS 9X AND NT!
    VERSION 2.14 OR ABOVE SHOULD BE USE INSTEAD OF THIS VERSION.

     
    NSIS 2.14
    Цитата:
    This release fixes a critical bug, introduced in version 2.13, that caused installers using plug-ins to fail loading on Windows 9x and
    NT. Upgrading from 2.13 is highly recommended.
    *Fixed a bug that corrupted $TEMP under Windows 9x and NT and caused InitPluginsDir to fail (bug #1412159)
    *Fixed a possible buffer overflow caused by long values of $0, when using large NSIS_MAX_STRLEN builds (above 4096)
    http://prdownloads.sourceforge.net/nsis/nsis-2.14-setup.exe?download
    http://prdownloads.sourceforge.net/nsis/nsis-2.14.zip?download

    Всего записей: 1330 | Зарегистр. 22-10-2002 | Отправлено: 14:49 25-01-2006
    SamLab



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    русификатор _http://samlab.ws/ruz/nsis214_max.rar

    Всего записей: 6597 | Зарегистр. 15-07-2004 | Отправлено: 22:52 26-01-2006
    AlexKS02

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    То ли баг, то ли у меня руки кривые..
    Делаю инсталл с русским и английским языками. Названия ярлыков главного меню также зависят от языка.
    Допустим, программу я установил на русском. Наблюдаю в главном меню ярлыки "Справка бла-бла", "Удаление бла-бла". Всё вроде как хорошо. Делаю "Удаление бла-бла", но инсталлер почему-то на английском. И после удаления ярлыки остаются.
    Если программу ставлю на английском, то в главном меню вижу по две копии ярлыков - на русском и на английском. Инсталлер английский. После удаления русские ярлыки остаются.
    Если в инсталляхе один язык - то всё работает как надо.
    Кто-то сталкивался с этим? NSIS 2.14
    Если надо, могу состряпать упрощенный код и где-нибудь выложить.

    Всего записей: 12 | Зарегистр. 10-01-2006 | Отправлено: 22:54 02-02-2006
    IMPOMEZIA



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

    Цитата:
    То ли баг, то ли у меня руки кривые..

    Проверил, действительно в NSIS 2.14 есть баг с выбором языков.

    Цитата:
    Делаю "Удаление бла-бла", но инсталлер почему-то на английском.

    Чтоб запоминался выбор языка надо сделать, примерно так:

    Код:
     
    !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
    !define MUI_LANGDLL_REGISTRY_KEY "Ключ реестра"
    !define MUI_LANGDLL_REGISTRY_VALUENAME "language"
     
    ; секции
     
    Function .onInit
        !insertmacro MUI_LANGDLL_DISPLAY
        !insertmacro MUI_LANGDLL_SAVELANGUAGE  
    FunctionEnd
     
    Function un.onInit
        !insertmacro MUI_UNGETLANGUAGE
    FunctionEnd
     


    Цитата:
    Если программу ставлю на английском, то в главном меню вижу по две копии ярлыков - на русском и на английском.

    В качестве имён ярлыков используются LangString-и?

    Цитата:
    После удаления русские ярлыки остаются.

    Можно ведь еще удалять все версии локализованных ярлыков

    Всего записей: 161 | Зарегистр. 19-07-2005 | Отправлено: 02:48 03-02-2006
    AlexKS02

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

    Цитата:
    Чтоб запоминался выбор языка надо сделать, примерно так:  

    Примерно так и делал, но не ставил строчки
    !insertmacro MUI_LANGDLL_SAVELANGUAGE
    и
    !insertmacro MUI_UNGETLANGUAGE
    Но, тем не менее, язык запоминался в реестре и использовался хорошо.
    Кстати, в .onInit я использую еще одну хорошую опцию, называется по-моему MUI_LANGDLL_ALWAYSSHOW, в доке описано
     

    Цитата:
    В качестве имён ярлыков используются LangString-и?

    Да
     

    Цитата:
    Можно ведь еще удалять все версии локализованных ярлыков  

    Тоже вариант, но багу это не оправдывает :\

    Всего записей: 12 | Зарегистр. 10-01-2006 | Отправлено: 09:26 03-02-2006
    IMPOMEZIA



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AlexKS02
    Поставь NSIS 2.12, там баги с языками нет
    Или замени содержимое папки ${NSISDIR}\Stubs на файлы от версии 2.12

    Всего записей: 161 | Зарегистр. 19-07-2005 | Отправлено: 16:23 03-02-2006
    Freash



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Проблема такая.  
    Есть много файлов и папок. И cmd файл со сценарием этой установки.
    Требуется сделать так, чтобы все ставилось по сценарию, записанному в cmd файле. Как это сделать?
     
    или чтобы все распаковалось в папку, куда скажет пользователь, и чтобы была кнопка "Запустить". И по этой кнопке чтоб запускался этот cmd файл.
     
    плюс лицензионное соглашение во время установки.
     
    NSIS 2.14. помогите.
     
    Добавлено:
    или где можно русскую справку достать.

    Всего записей: 340 | Зарегистр. 28-03-2005 | Отправлено: 21:38 06-02-2006
    Dtnth



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ; Welcome page
    !insertmacro MUI_PAGE_WELCOME
    ; License page
    !define MUI_LICENSEPAGE_RADIOBUTTONS
    !insertmacro MUI_PAGE_LICENSE "c:\path\to\licence\YourSoftwareLicence.txt"
    ; Directory page
    !insertmacro MUI_PAGE_DIRECTORY
    ; Instfiles page
    !insertmacro MUI_PAGE_INSTFILES
    ; Finish page
    !define MUI_FINISHPAGE_RUN "$INSTDIR\AppMainExe.exe"
    !insertmacro MUI_PAGE_FINISH
     
    ; Uninstaller pages
    !insertmacro MUI_UNPAGE_INSTFILES

    Всего записей: 5 | Зарегистр. 10-04-2004 | Отправлено: 21:45 06-02-2006
    DimmY



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

    Цитата:
    где можно русскую справку достать

    На данный момент на русский язык переведено чуть больше половины Справки NSIS. Однако пока работа приостановлена в связи с нехваткой сил и времени.

    Всего записей: 4718 | Зарегистр. 22-04-2002 | Отправлено: 22:25 06-02-2006
    Danil Lab



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

    Цитата:
    На данный момент на русский язык переведено чуть больше половины Справки NSIS. Однако пока работа приостановлена в связи с нехваткой сил и времени.

    А где эту половину можно достать?

    Всего записей: 269 | Зарегистр. 12-06-2005 | Отправлено: 09:45 07-02-2006
    AlexKS02

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос. Есть один файл. А есть другой файл. Каким образом средствами NSIS (без всяких там cmd-файлов) можно к первому файлу append'нуть другой?
    FileRead и FileWrite вроде как не совсем подходят, ибо первое Read'ает until either a newline occur

    Всего записей: 12 | Зарегистр. 10-01-2006 | Отправлено: 10:32 07-02-2006
    Dtnth



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RTFM!!!
     
    E.2.6 FileJoin
    Join two files in one (File1 + File2 = File3).
    Syntax:
     
    ${FileJoin} "[File1]" "[File2]" "[File3]"
    "[File1]"     ; Input File1
    "[File2]"     ; Input File2
    "[File3]"     ; Output File3
                  ;  If [File3]="" Then add [File2] to [File1]
    Note:  
    -Error flag if input files aren't exists  
    -Error flag if output file path isn't exists
     
    Example1 (Join: a.log + b.log = Z.log):
     
    Section
        ${FileJoin} "C:\a.log" "C:\logs\b.log" "C:\Z.log"
    SectionEnd
    Example2 (Add: a.log + b.log = a.log):
     
    Section
        ${FileJoin} "C:\a.log" "C:\logs\b.log" "C:\a.log"
    SectionEnd

    Всего записей: 5 | Зарегистр. 10-04-2004 | Отправлено: 11:41 07-02-2006
    DimmY



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

    Цитата:
    А где эту половину можно достать?

    Да пока нигде. Надо или закончить, или бросить эту затею, а полуфабрикат выпускать -- не дело.

    Всего записей: 4718 | Зарегистр. 22-04-2002 | Отправлено: 12:57 07-02-2006
    AlexKS02

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dtnth
    Спасибо! Как я проглядел... %)
     
    Вопрос #2
    на nsis'овских custom страницах dropbox'ы и скрывающиеся-появляющиеся элементы работают только на win2k-xp-2k3? На 98х, ну хоть убейся, и dropbox'ы чистые, и вышеуказанные элементы всегда скрыты..

    Всего записей: 12 | Зарегистр. 10-01-2006 | Отправлено: 14:38 07-02-2006
    IMPOMEZIA



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

    Цитата:
    Вопрос #2  
    на nsis'овских custom страницах dropbox'ы и скрывающиеся-появляющиеся элементы работают только на win2k-xp-2k3? На 98х, ну хоть убейся, и dropbox'ы чистые, и вышеуказанные элементы всегда скрыты..

    Можешь показать пример скрипта с указанной проблемой? (У меня подобных проблем с Install Options не было).

    Всего записей: 161 | Зарегистр. 19-07-2005 | Отправлено: 15:21 07-02-2006
    Ernar

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Народ  
    Как разделить инстолятор? А то вот хочу сжать игрушку NFSU 2.
    Как написат комментарий в ярлыке?

    Всего записей: 59 | Зарегистр. 08-11-2003 | Отправлено: 21:48 08-02-2006
    Danil Lab



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

    Цитата:
    Как написат комментарий в ярлыке?

    См справку.

    Цитата:
    link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]
     

     
    Те

    Код:
     
    CreateDirectory "$SMPROGRAMS\My Company"
    CreateShortCut "$SMPROGRAMS\My Company\My Program.lnk" "$INSTDIR\My Program.exe" "" "" "" "" "" "a description"
     

     
    Добавлено:

    Цитата:
    Как разделить инстолятор? А то вот хочу сжать игрушку NFSU 2.

    Былобы тоже интересно.
    Я делал частями RAR.
    ps Жал NFS MW

    Всего записей: 269 | Зарегистр. 12-06-2005 | Отправлено: 09:41 09-02-2006
    namchik



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    разделять проще в InnoSetup'e, я именно им игры пакую (а все остальное - НСИСом), т.к. в NSIS'e это сделать сложнее, через плагины либо через сайлент-инсталяторы... хотя, может, кто-нить приведет пример скрипта, как это сделать попроще

    Всего записей: 4080 | Зарегистр. 01-06-2004 | Отправлено: 10:24 09-02-2006
    AlexKS02

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пытаюсь вникнуться в FileJoin. Вот набросок кода:
     
    !include TextFunc.nsh
    !insertmacro FileJoin
     
    Section
      ReadIniStr $R1 "ini-file" "section" "variable"
      StrCmp $R1 "" 0 +3
        ${FileJoin} "ini-file-2" "ini-file-test001" "ini-file-2"
        Goto EndCycle
      StrCmp $R1 "char001" 0 +3
        ${FileJoin} "ini-file-2" "ini-file-test002" "ini-file-2"
        Goto EndCycle
      StrCmp $R1 "char002" 0 +3
        ${FileJoin} "ini-file-2" "ini-file-test003" "ini-file-2"
        Goto EndCycle
      EndCycle:
    SectionEnd
     
    Выдаёт ошибку - Дистрибутив поврежден: недопустимый код. Что я недочитал в хелпе?
    P.S. Не силен я в этих премудростях, так и не смог понять, как надо использовать un.FileJoin

    Всего записей: 12 | Зарегистр. 10-01-2006 | Отправлено: 18:24 10-02-2006
    IMPOMEZIA



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

    Цитата:
    StrCmp $R1 "" 0 +3

    Ошибка в  этих строчках.
    Для прыжка нужно использовать ТОЛЬКО метки.
    конструкция  ${FileJoin} "разворачивается" в функцию FileJoin, поэтому нельзя через нее просто перепрыгнуть как через одну строчку.

    Цитата:
    так и не смог понять, как надо использовать un.FileJoin

    А в чём проблема? Так разве не работает?

    Код:
    !insertmacro un.FileJoin
     
    Section Uninstall
      ${un.FileJoin} "ini-file-2" "ini-file-test003" "ini-file-2"
    SectionEnd
     


    Всего записей: 161 | Зарегистр. 19-07-2005 | Отправлено: 18:48 10-02-2006
    Открыть новую тему     Написать ответ в эту тему

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