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

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



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

    Цитата:
    при инсталяции и запуске служб крякозябры в окне

    Поставь ShowInstDetails nevershow


    ----------
    In Search We Trust

    Всего записей: 1034 | Зарегистр. 23-08-2003 | Отправлено: 18:51 18-11-2009
    rosalin



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

    Цитата:
    Поставь ShowInstDetails nevershow

     
    прикольно спасибо

    Всего записей: 2588 | Зарегистр. 15-04-2003 | Отправлено: 19:09 18-11-2009
    MaGoth

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую,
     
    У меня есть не большой вопрос к знатокам Нсис, по реализации одного момента.
    Возможно ли реализовать новое окно с прогресс-баром, завязаным на констальную утилиту запускаемую через скрипт инсталлятора? Т.е. связать данный ехешник с Нсис напрямую?
    Сам консольный ехе-шник является конвертером звуковых файлов, из одного формата в другой.  
    При его запуске из скрипта инсталлера, нужно чтобы окошко конвертера само не выводилось юзеру, а вся информация по тому процессу который в нем шел, передавалась в новое окошко с прогресс баром инсталлятора.
    Исходники для консольного ехешника у меня есть в наличии.
    Если у кого есть какие мысли, соображения по этому поводу или просто - желание помочь пишите.  
    Спасибо.
     
    MfG MaGoth, WoG.ru-Community.

    Всего записей: 114 | Зарегистр. 30-05-2007 | Отправлено: 21:32 26-11-2009 | Исправлено: MaGoth, 21:35 26-11-2009
    John_White



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    MaGoth
    Я так полагаю речь идет о процессе преобразования OGG-->WAV?
    Если не секрет речь идет об инсталляторе для Глобал Мода или Возвращения?
    Отстал я немного от ваших движений...
    ИМХО:
    1)можно написать кастомную страницу через МУИ2 двумя способами
    -реализовать через *.ini и выводить страницу (InstallOptions Plug-in)
    -отрисовать страницу напрямую через nsDialogs Plug-in
    и дальше напрямую работать с обьектом ProgressBar
    2)Если есть исходники можно попробывать написать библиотеку и работать сразу с ней, те вызывать работу с ProgressBar через нее а не вручную как в предыдущем варианте.
    ЗЫ
    Это все конечно общие слова, но...
    подобное я реализовывал на другой инсталляторе когда делал репак одной очень вам известной игры от создателей серии игр Готика.
    Так вот через Inno Setup, а именно его я подразумевал можно напрямую изменять положение ProgressBar да и возможно даже написать библиотеку, по крайней мере я это могу представить. NSIS же на порядок сложнее...
    Как вариант напиши на офф форуме NSIS - там сидят сами разрабы...

    Всего записей: 221 | Зарегистр. 25-07-2009 | Отправлено: 00:21 27-11-2009 | Исправлено: John_White, 00:24 27-11-2009
    MaGoth

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

    Цитата:
    Я так полагаю речь идет о процессе преобразования OGG-->WAV?  

    Именно.
     

    Цитата:
    Если не секрет речь идет об инсталляторе для Глобал Мода или Возвращения?  

    Нет не для них, я делаю универсильный иснталлер для модов на игру.
     

    Цитата:
    1)можно написать кастомную страницу через МУИ2 двумя способами  
    -реализовать через *.ini и выводить страницу (InstallOptions Plug-in)  
    -отрисовать страницу напрямую через nsDialogs Plug-in  
    и дальше напрямую работать с обьектом ProgressBar  
    2)Если есть исходники можно попробывать написать библиотеку и работать сразу с ней, те вызывать работу с ProgressBar через нее а не вручную как в предыдущем варианте.  

    Об этом, подробнеее поговорим в аське.
     

    Цитата:
    Это все конечно общие слова, но...  
    подобное я реализовывал на другой инсталляторе когда делал репак одной очень вам известной игры от создателей серии игр Готика.  
    Так вот через Inno Setup...

    Этот варинт отпадает, так как в Inno Setup не реализовать того, что уже было сделано на Нсис.

    Всего записей: 114 | Зарегистр. 30-05-2007 | Отправлено: 17:42 27-11-2009
    A19EXXX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nullsoft Scriptable Install System 2.46 - скачать (ехе) | скачать (zip)
    Русификатор для 2.46 (новый) + Зеркало

    Всего записей: 513 | Зарегистр. 02-07-2009 | Отправлено: 13:06 06-12-2009 | Исправлено: A19EXXX, 13:07 06-12-2009
    MaGoth

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Release Notes for 2.46
    F.1.1 Changelog
    F.1.1.1 Minor Changes
     
    * Fixed !searchparse (bug #2803622)
    * Fixed Vista error message when canceling uninstaller (bug #2803097)
    * Resolve warning for LogicLib's endless Do..Loop (bug #2849872)
    * StartMenu: fixed random number prefixes when clicking on an empty spot (bug #2810188)
    * Updates to NSIS.pas for plug-in development (patch #2802794)
     
    F.1.1.2 Translations
     
    * PortugueseBR typo (patch #2826598)
    * Removed double spaces in Italian (bug #2873598)
     
    F.1.1.3 Build System
     
    * Fixed mingw builds of Math plug-in (patch #2835731)

    Всего записей: 114 | Зарегистр. 30-05-2007 | Отправлено: 20:52 06-12-2009
    Draik

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
    Ребята, тут уже обсуждали как создавать страницу по аналогии со страницей лицензии.
    вот здесь написано как это сделать http://nsis.sourceforge.net/Readme_Page_Based_on_MUI_License_Page
     
    У меня вопрос как сделать несколько таких страниц?
    Спасибо.

    Всего записей: 12 | Зарегистр. 09-03-2009 | Отправлено: 01:03 17-12-2009
    rosalin



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята подскажите как в инсталятор добавить инсталляцию файла msi с ключом /quiet
     
    Section "Установка дополнительных компонентов .msi /quiet"  
    ?
    ?  
    ?
    SectionEnd

    Всего записей: 2588 | Зарегистр. 15-04-2003 | Отправлено: 19:12 17-12-2009
    equis



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

    Цитата:
    как в инсталятор добавить инсталляцию файла msi с ключом /quiet

    В справке же все это есть.

    Код:
      ExecWait 'msiexec /i Setup.msi /qn'


    ----------
    Наши корреспонденты следят за развитием событий.

    Всего записей: 1071 | Зарегистр. 26-04-2007 | Отправлено: 00:38 18-12-2009
    rosalin



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    equis
    Скажите плиз  
    так
     
    Section "Remote Office Manager - Server"
    SetOutPath "$TEMP"
    File "${HOME}\RomServer\*.*"
    ExecWait "msiexec.exe /i $\"$TEMP\romserver.msi$\" /quiet"
    Delete "$TEMP\romserver.msi"
    SectionEnd
     
    Добавлено:
    А вот насчет удаления
     
     ;Удаление  Remote Office Manager - Server
       
      ExecWait "MsiExec.Exe /x {61FFA475-24D5-44FB-A51F-39B699E3D82C} /qn"

    Всего записей: 2588 | Зарегистр. 15-04-2003 | Отправлено: 09:07 18-12-2009
    Phil10



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста, как на основании выбранного языка инсталляции, копировать определённые файлы? Например для английского языка одни, а для русского другие.

    Всего записей: 10 | Зарегистр. 15-07-2006 | Отправлено: 13:20 18-12-2009
    John_White



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

    Цитата:
    У меня вопрос как сделать несколько таких страниц?

    Пример(часть кода, с деинсталлятором аналогично):
    !insertmacro MUI_PAGE_README "${NSISDIR}\Docs\Modern UI\License.txt"
    !insertmacro MUI_PAGE_README "${NSISDIR}\Docs\Modern UI\Changelog.txt"
     
    Добавлено:
    Phil10

    Цитата:
    Подскажите пожалуйста, как на основании выбранного языка инсталляции, копировать определённые файлы? Например для английского языка одни, а для русского другие.

    Пример(часть кода):
    StrCmp "$LANGUAGE" "1049" 0 +3
    SetOutPath "$INSTDIR\"
    File /r "Plugins\*.*"
    Принцип такой: идет сравнение языка инсталлера с языком (русским например), если сравнение проходит удачно - установка файлов, если нет - пропуск.

    Всего записей: 221 | Зарегистр. 25-07-2009 | Отправлено: 15:02 18-12-2009
    Draik

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    John_White.
    Благодарю. Интересует так же как в этих страницах сделать так, чтобы был разный текст именно в заголовках страниц? Допустим мне вот необходимо сделать две страницы с разными заголовками, на одной информация о программе, на другой - авторы программы.
     
    Вот для одной страницы (из примера).
     
    ${ReadmeLanguage} "${LANG_ENGLISH}" \
    "Информация" \
    "Пожалуйста, ознакомьтесь с нижеследующей информацией." \
    "Информация о программе:" \
    "$\n  Нажмите кнопку 'Далее' для продолжения."
     
    А как для двух страниц-то прописать?

    Всего записей: 12 | Зарегистр. 09-03-2009 | Отправлено: 17:21 18-12-2009 | Исправлено: Draik, 17:23 18-12-2009
    equis



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

    Код:
    ExecWait 'msiexec /i $TEMP\romserver.msi /quiet'

    Посмотрите подробнее на конкретных примерах здесь.

    Всего записей: 1071 | Зарегистр. 26-04-2007 | Отправлено: 18:41 18-12-2009
    Draik

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ау, парни, кто-нить помогите.

    Всего записей: 12 | Зарегистр. 09-03-2009 | Отправлено: 23:04 21-12-2009
    Hiken



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста: где можно взять готовый скрипт или плагин NSIS для сбора uninstall feedback (чтобы пользователь мог сообщить причину, по которой отказывается от использования/удаляет программу)? Посмотрел Dev Center на сайте, версию для печати здесь, бегло Google - no luck.

    Всего записей: 1343 | Зарегистр. 14-01-2006 | Отправлено: 19:05 22-12-2009
    MaGoth

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

    Цитата:
    Интересует так же как в этих страницах сделать так, чтобы был разный текст именно в заголовках страниц? Допустим мне вот необходимо сделать две страницы с разными заголовками, на одной информация о программе, на другой - авторы программы.  
     
    Вот для одной страницы (из примера).  
     
    ${ReadmeLanguage} "${LANG_ENGLISH}" \  
    "Информация" \  
    "Пожалуйста, ознакомьтесь с нижеследующей информацией." \  
    "Информация о программе:" \  
    "$\n  Нажмите кнопку 'Далее' для продолжения."  
     
    А как для двух страниц-то прописать?

    На этот вопрос как и на предыдущие ранее, самый простой ответ один, продублировать то что было создано для дополнительной страницы - README.
     
     
    Часть первая:
    Сделать это можно примерно так, для файла *.nsh
     
     
    ;--------------------------------
    #   MUI_EXTRAPAGES.nsh
    #   By Red Wine Jan 2007
     
    !verbose push
    !verbose 3
     
    !ifndef _MUI_EXTRAPAGES_NSH
    !define _MUI_EXTRAPAGES_NSH
     
    !ifmacrondef MUI_EXTRAPAGE_AUTHOR & MUI_PAGE_AUTHOR & MUI_UNPAGE_AUTHOR & AuthorLangStrings
     
    !macro MUI_EXTRAPAGE_AUTHOR UN AuthorFile
    !verbose push
    !verbose 3
       !define MUI_PAGE_HEADER_TEXT "$(${UN}AuthorHeader)"
       !define MUI_PAGE_HEADER_SUBTEXT "$(${UN}AuthorSubHeader)"
       !define MUI_LICENSEPAGE_TEXT_TOP "$(${UN}AuthorTextTop)"
       !define MUI_LICENSEPAGE_TEXT_BOTTOM "$(${UN}AuthorTextBottom)"
       !define MUI_LICENSEPAGE_BUTTON "$(^NextBtn)"
       !insertmacro MUI_${UN}PAGE_LICENSE "${AuthorFile}"
    !verbose pop
    !macroend
     
    !define AuthorRun "!insertmacro MUI_EXTRAPAGE_AUTHOR"
     
     
    !macro MUI_PAGE_AUTHOR AuthorFile
    !verbose push
    !verbose 3
        ${AuthorRun} "" "${AuthorFile}"
    !verbose pop
    !macroend
     
     
    !macro MUI_UNPAGE_AUTHOR AuthorFile
    !verbose push
    !verbose 3
        ${AuthorRun} "UN" "${AuthorFile}"
    !verbose pop
    !macroend
     
     
    !macro AuthorLangStrings UN MUI_LANG AuthorHeader AuthorSubHeader AuthorTextTop AuthorTextBottom
    !verbose push
    !verbose 3
        LangString ${UN}AuthorHeader     ${MUI_LANG} "${AuthorHeader}"
        LangString ${UN}AuthorSubHeader  ${MUI_LANG} "${AuthorSubHeader}"
        LangString ${UN}AuthorTextTop    ${MUI_LANG} "${AuthorTextTop}"
        LangString ${UN}AuthorTextBottom ${MUI_LANG} "${AuthorTextBottom}"
    !verbose pop
    !macroend
     
    !define AuthorLanguage `!insertmacro AuthorLangStrings ""`
     
    !define Un.AuthorLanguage `!insertmacro AuthorLangStrings "UN"`
     
    !endif
    !endif
     
    !verbose pop
     
     
     
    Часть вторая:
    Немного изменений для файла скрипта *.nsi, то что необходимо указано в примере ниже:
     
    ;--------------------------------
    ;Installer Pages
      !insertmacro MUI_PAGE_WELCOME
      !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
     
    ;Add the install read me page
      !insertmacro MUI_PAGE_README "${NSISDIR}\Docs\Modern UI\Changelog.txt"
     
    ;Add the install authors page
      !insertmacro MUI_PAGE_AUTHOR "${NSISDIR}\Docs\Modern UI\Authors.txt"
     
      !insertmacro MUI_PAGE_COMPONENTS
      !insertmacro MUI_PAGE_DIRECTORY
      !insertmacro MUI_PAGE_INSTFILES
      !insertmacro MUI_PAGE_FINISH
     
    ;--------------------------------
    ;Uninstaller Pages
      !insertmacro MUI_UNPAGE_WELCOME
     
    ;Add the uninstall license page
      !insertmacro MUI_UNPAGE_LICENSE '${NSISDIR}\License.txt'
    ;Add the uninstall read me page  
      !insertmacro MUI_UNPAGE_README '${NSISDIR}\Changelog.txt'
    ;Add the uninstall authors page  
      !insertmacro MUI_UNPAGE_AUTHOR '${NSISDIR}\Authors.txt'
       
      !insertmacro MUI_UNPAGE_CONFIRM
      !insertmacro MUI_UNPAGE_INSTFILES
      !insertmacro MUI_UNPAGE_FINISH
     
    ;--------------------------------
    ;Languages
      ;Add 1st language
      !insertmacro MUI_LANGUAGE "English"
     
      ;Set up install lang strings for 1st lang
      ${AuthorLanguage} "${LANG_ENGLISH}" \
              "Authors" \
              "Please review the following important information." \
              "About $(^name):" \
              "$\n  Click on scrollbar arrows or press Page Down to review the entire text."
     
      ;Set up uninstall lang strings for 1st lang
      ${Un.AuthorLanguage} "${LANG_ENGLISH}" \
              "Authors" \
              "Please review the following important Uninstall information." \
              "About $(^name) Uninstall:" \
              "$\n  Click on scrollbar arrows or press Page Down to review the entire text."
     
     
      ;Add 2nd language
      !insertmacro MUI_LANGUAGE "Greek"
     
      ;set up install lang strings for second lang
      ${AuthorLanguage} "${LANG_GREEK}" \
              "Authors" \
              "Please review the following important information." \
              "About $(^name):" \
              "$\n  Click on scrollbar arrows or press Page Down to review the entire text."
     
      ;set up uninstall lang strings for second lang
      ${Un.AuthorLanguage} "${LANG_GREEK}" \
              "Authors" \
              "Please review the following important Uninstall information." \
              "About $(^name) Uninstall:" \
              "$\n  Click on scrollbar arrows or press Page Down to review the entire text."
     
    ...
     
    SectionEnd
     
     
    Вот собственно и все, далее изменяй текст так как тебе будет нужно. Скрипт не тестировал и не проверял, но думаю он должен работать...
     
    Удачи.

    Всего записей: 114 | Зарегистр. 30-05-2007 | Отправлено: 20:54 23-12-2009
    Draik

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MaGoth. Ну ты конечно красава... Всё прёт как нада. Безумно благодарен.
    И как я сам до этого не додумался... Эх, головушка моя квадратная)

    Всего записей: 12 | Зарегистр. 09-03-2009 | Отправлено: 16:13 24-12-2009
    temp0001

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите возможно ли в NSIS как в inno setup создать инсталлятор с разбиением по томам, тоесть run_1.bin - 1гб run_2.bin - 1гб и и сам run.exe - 1мб ?

    Всего записей: 35 | Зарегистр. 12-12-2005 | Отправлено: 02:33 04-01-2010
    Открыть новую тему     Написать ответ в эту тему

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