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

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

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

    Всего записей: 33201 | Зарегистр. 31-07-2002 | Отправлено: 12:14 04-05-2018
    cross82

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    приветствую,
     
    как можно сделать интеграцию распаковки rar5 архивов? допустим есть установшик а рядом лежит архив (запароленный), надо его распаковать, плагинов от Bioware не нашел в сети, от 7zip не распаковывает rar
    вроде через внешний экзешник как-то можно но хотелось бы чтобы красиво все выглядело, с прогресс-баром внутри инсталятора и все такое, а как это сделать не знаю, есть у кого-нибудь простенький пример скрипта распаковки рар-архива, желательно с прописыванием пароля для архива?
     
    зы: сделал, работает, но прогресс бар не отображает процесс распаковки адекватно(

    Всего записей: 3 | Зарегистр. 05-05-2018 | Отправлено: 18:34 05-05-2018 | Исправлено: cross82, 20:22 05-05-2018
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    cross82
     
    Зовите Unrar.exe. Данная утилита командной строки бесплатна, исходники имеются на сайте Rar.

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

    Всего записей: 33201 | Зарегистр. 31-07-2002 | Отправлено: 02:10 07-05-2018
    prav333dorub



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Не забыли? Удалось найти?Жду!

    Всего записей: 371 | Зарегистр. 22-12-2014 | Отправлено: 07:39 07-05-2018
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    prav333dorub
     
    Помню. Пока в серверной помойке (там порядка 50 Тб) копаюсь. Копили почти двадцать лет.Если есть там -  будет.

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

    Всего записей: 33201 | Зарегистр. 31-07-2002 | Отправлено: 13:08 07-05-2018
    prav333dorub



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Не откопали?Все равно дождусь!

    Всего записей: 371 | Зарегистр. 22-12-2014 | Отправлено: 19:42 15-05-2018
    Bannan



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    prav333dorub, зачем она вам нужна? Что в ней такого особенного? Если вам нужна портабельность, скачайте с официального сайта вместо файла установки архив Zip. Распакуйте в удобное место (хоть на флешку) и работайте. Программа в установке не нуждается, а установочный релиз всего лишь прописывает в системе ассоциации на форматы NSI и NSH.

    Всего записей: 507 | Зарегистр. 30-07-2011 | Отправлено: 23:19 15-05-2018
    AlexM2222



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

    Цитата:
    Не откопали?Все равно дождусь!

    http://nsis.sourceforge.net/Reg2Nsis_-_convert_registry_info_into_NSIS_commands

    Всего записей: 116 | Зарегистр. 05-09-2010 | Отправлено: 22:40 07-11-2018
    Kumga2

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день. Подскажите, друзья, какая функция в NSIS позволяет определить (найти) выделенный кликом файл, среди множества других и, далее, работать с ним?

    Всего записей: 36 | Зарегистр. 07-11-2015 | Отправлено: 17:19 12-11-2018
    Bannan



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kumga2, ты можешь проверить наличие файла (IfFileExists) если знаешь, где он лежит. Если заданный существует, далее можешь делать с ним что хочешь.  Или использовать кастомную функцию для выбора файла:

    Код:
    # Функция вызова диалога для выбора файла
      Function SelFileExe
        Pop $0 ; Сброс значения в регистр $0
        ; Выделяем OPENFILENAME.lpstrFile буфер под полный путь и имя файла, адрес буфера в стек
        System::Call '*(&t${NSIS_MAX_STRLEN})i.s'
        ; Выделяем память под структуру OPENFILENAME, адрес структуры в регистр $0
        System::Call '*(${OPENFILENAME})i.r0'
        ; Создаем lpstrFilter структуру с данными фильтра файлов, адрес структуры в регистр $3
        System::Call "*(&t26 'Исполняемые файлы (*.exe)', &t6 '*.exe') i .r3"
        ; Передаем в структуру OPENFILENAME данные
        System::Call '*$0(${OPENFILENAME})(${OPENFILENAME_SIZE_VERSION_400},$hwndparent,,r3,,,, \
                     sr1,${NSIS_MAX_STRLEN},,,t"$EXEDIR",t"Выберите файл my_file_name.exe", \
                     ${OFN_HIDEREADONLY}|${OFN_FILEMUSTEXIST}|${OFN_ENABLEHOOK}|${OFN_EXPLORER}|${OFN_NOCHANGEDIR})'
        ; Устанавливаем имя файла в буфер lpstrFile
        System::Call "*$1(&t${NSIS_MAX_STRLEN}'my_file_name.exe')"
        ; Выполняем вызов функции GetOpenFileName выбора файла
        System::Call 'COMDLG32::GetOpenFileName(ir0)i.r2'
        ${If} $2 <> 0
            System::Call "*$1(&t${NSIS_MAX_STRLEN}.r2)"
            StrCpy $MyPathInput $2
        ${EndIf}
        ; Освобождаем память
        System::Free $1
        System::Free $0
      FunctionEnd

     
    В этой функции "my_file_name.exe" - имя исполняемого файла, который нужно выбрать. Для других типов файлов измени функцию соответствующим образом.

    Всего записей: 507 | Зарегистр. 30-07-2011 | Отправлено: 21:59 12-11-2018
    Kumga2

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bannan
    Спасибо, что откликнулись... Я в Nsis делал элементарные вещи и...очень давно. Уточню, что мне нужно.
    У меня в цикле в фоне отрабатывает код. Нужно в него вставить функцию, которая обнаруживает выделенный курсором любой файл в любом месте (как это делает винда) и сбрасывает путь к файлу в переменную. Диалоговые окна не нужны, файл заранее не определен, важен факт его выделения кликом.  

    Всего записей: 36 | Зарегистр. 07-11-2015 | Отправлено: 14:43 13-11-2018
    Bannan



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kumga2, в какой программе ты собираешься "выделять курсором любой файл"? В проводнике Windows, в каком-то менеджере файлов типа Total Commander или ты средствами NSIS открываешь какой-то браузер файлов и уже в нем хочешь выделять файлы? Подробно опиши задачу, больше конкретики, непонятно ничегож.

    Всего записей: 507 | Зарегистр. 30-07-2011 | Отправлено: 20:50 13-11-2018
    Kumga2

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

    Всего записей: 36 | Зарегистр. 07-11-2015 | Отправлено: 21:03 13-11-2018
    Bannan



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kumga2, и вам вечера доброго. В самом NSIS подобных функций нету, он не для этого предназначен. Хотя и можно наворотить, используя Windows API. Но это все очень сложно. Нужно постоянно мониторить и перехватывать нажатие левой кнопки мышки и проверять объект, по которому произошел клик. К сожалению я не смогу помочь в этом вопросе. Подумайте, как можно упростить задачу или получить желаемое другими способами.

    Всего записей: 507 | Зарегистр. 30-07-2011 | Отправлено: 00:48 14-11-2018
    Kumga2

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bannan, спасибо Вам за желание помочь. Мне уже дали понять, что для NSIS это сложная задача, а может и невыполнимая...мне же сложно об этом судить. Еще раз спасибо, всего доброго!  
     
    Добавлено:
     
    Bannan, мне советовали (MKN) использовать Shell: правый клик на файле - контекстное меню - моя функция, отказавшись от цикла. Я решил не использовать запуск кода через меню, а прописал в ярлыке на Рабочем столе запуск *ехе файла с параметром /А, а в код добавил:
     
          !include "FileFunc.nsh"  
     
           Function .onInit
           ${GetParameters} $R0
           ClearErrors
           ${GetOptions} $R0 "/A" $0
           MessageBox MB_OK "$0"     ;проверка
           FunctionEnd
     
    Теперь, при "натаскивании" файла на ярлык ЕХЕ_шника, отрабатывает код и в переменную $0 сбрасывается путь к файлу. Такой вариант меня вполне устраивает.

    Всего записей: 36 | Зарегистр. 07-11-2015 | Отправлено: 01:18 14-11-2018 | Исправлено: Kumga2, 03:32 14-11-2018
    Timur43

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NSIS 3.04 December 15th, 2018

    Цитата:
    F.1 3.04
    Released on December 15th, 2018
    F.1.1 Changelog
    F.1.1.1 Major Changes
        Added IsNativeMachineArchitecture helper macros to x64.nsh
        Added experimental WinVer "Windows as a Service" detection macros
        Added MakeNSISW window info "spy" tool
    F.1.1.2 Minor Changes
        Added MUI_TEXTCOLOR setting
        nsDialogs::OnNotify can now return values back to Windows
        Added LIBRARY_INSTALL_EQUAL_VERSION InstallLib option
        Added NTMARTA to preload list to fix rare Windows 7 security issue (bug #1204)
        AddBrandingImage now supports dialog units
        Fixed !macroundef of last defined macro bug
        Fixed MultiUser caption string bug (bug #1012)
        !undef issues warnings instead of errors
        MakeNSIS prints -CMDHELP to stdout (bug #1203)
        Removed LibraryLocal utility
    F.1.1.3 Translations
        Added Hind&#299; (patch #289)
        Updated Belarusian, German (bug #1023), Mongolian and Spanish (bug #1205)

    Всего записей: 560 | Зарегистр. 16-09-2015 | Отправлено: 07:47 16-12-2018
    WiperX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток!
    MKN Спасибо за помощь, всё получилось. С наступающим

    Всего записей: 961 | Зарегистр. 17-03-2009 | Отправлено: 06:08 21-12-2018 | Исправлено: WiperX, 13:35 21-12-2018
    MKN



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

    Цитата:
    Какую команду нужно прописать, чтобы удалить каталог установки полностью?

    RMDir /r  
    или  
    RMDir /r /REBOOTOK  - удаление произойдёт после перезагрузки  
     
    иногда нужно учитывать пользователя :
    SetShellVarContext current
    RMDir /r "$LOCALAPPDATA\MyDir"
     
    при удалении системных папок или папок с файлами "занятыми" системой, учитываются права доступа
     

    Цитата:
    Мож есть какой аналог?

    Отличная прога для работы с NSIS скриптами - Notepad++. Также из него можно сразу компилить результат.

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 10:17 21-12-2018 | Исправлено: MKN, 10:20 21-12-2018
    WiperX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемый MKN подскажи пожалуйста в вопросах:
    1. Нужно создать инсталлятор при запуске которого, искался бы файл или каталог. Если файл, папка или запись в реестре не найдены, то инсталлер прекращал установку. Или чтобы проверка файла была по MD5.
    2. Интересует инсталлятор с выборочной установкой, но с заранее заданным вариантом установки по дефолту, музыка и документация вместе, а патчи на выбор). Пример:
    Имеется Папка и 3 патча. Нужно так, чтобы установка Папки была по умолчанию, а патч какой то один (по выбору).
    3. Как добавить в BrandingText дату и время, типа Build 1.0:30.09.1997?

    Всего записей: 961 | Зарегистр. 17-03-2009 | Отправлено: 23:41 21-12-2018 | Исправлено: WiperX, 00:00 22-12-2018
    KosiakS



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    1. Поиск файла или папки:
     

    Цитата:
    Function .onInit
     
     IfFileExists "$INSTDIR\Файл.txt" PathGood  
     MessageBox MB_RETRYCANCEL "Файл не найден" IDCANCEL Stop IDRETRY -1
     Stop:
     Quit
     PathGood:
        
    FunctionEnd

     
    3.
    Цитата:
    BrandingText /TRIMRIGHT "Текст"

     
    /TRIMLEFT /TRIMRIGHT /TRIMCENTER - выравнивание надписи.

    Всего записей: 11 | Зарегистр. 11-02-2013 | Отправлено: 22:18 25-12-2018 | Исправлено: KosiakS, 22:24 25-12-2018
    Открыть новую тему     Написать ответ в эту тему

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