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

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

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

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 22:50 05-06-2014 | Исправлено: FanIT, 22:51 05-06-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 | Отправлено: 23:19 05-06-2014
    FanIT

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Раньше проблем вроде не было. Наверно везло.

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



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FanIT
     
    Или входные скрипты были в формате старого REGEDIT4. UNICODE скрипты 5-й версии сия утилита не сильно жалует.

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



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

    Цитата:
    Есть какой-нибудь аналог утилите reg2nsis?

    Есть занятная утилитка от китайских товарищей - reg2nsi. Причём с исходным кодом на NSIS, который можно при желании подкорректировать....
    http://yadi.sk/d/a30kuf8TSTMce

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 10:49 06-06-2014
    FanIT

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    Спасибо! Получше. Хоть полностью reg файл конвертирует.

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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет! Подскажите пожалуйста. Мне нужно, чтобы при изменение в инсталляторе пути установки, прибавлялась еще папка.
    Например: пользователь указал диск D. Значит инсталлятор должен установить программу в D:\MyProgram.
    Использую стандартную форму MUI_PAGE_DIRECTORY

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 22:55 03-07-2014 | Исправлено: FanIT, 22:58 03-07-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FanIT
     
    ППР:
     
    InstallDir "$PROGRAMFILES\MyDir"
     
    если пользователь решит добавить ещё один каталог, отсчёт пойдёт от указанного пути.


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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Нет. Я наверно не правильно объяснил. Пользователь нажимает на кнопку обзор, выбирает папку установки, например диск D и нажимает сохранить. И в строке где указывается путь установки должно быть D:\MyDir. Может есть какое-то событие. Которое при измение пути установки вызывалась бы определенная функция.

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



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FanIT
     
    В стандартных стабах v2.46 такого нет, но путь заданный в коде допишется. Для использования обзора надо плагин писать.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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:29 04-07-2014
    MKN



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

    Цитата:
    Пользователь нажимает на кнопку обзор, выбирает папку установки, например диск D и нажимает сохранить. И в строке где указывается путь установки должно быть D:\MyDir.

    Сделай собственную страницу с обзором, с помощью nsDialogs и не ломай голову.

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 15:56 04-07-2014
    FanIT

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    Так и сделаю. Просто думал есть стандартный способ.

    Всего записей: 69 | Зарегистр. 27-12-2013 | Отправлено: 16:02 04-07-2014 | Исправлено: FanIT, 16:04 04-07-2014
    MKN



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

    Цитата:
    думал есть стандартный способ.

    можно повозиться, взяв за основу :

    Цитата:
    !include MUI.nsh
     OutFile "MyDir.exe"
     ;InstallDir "$TEMP"
     
    !insertmacro MUI_PAGE_DIRECTORY  
    !define MUI_PAGE_CUSTOMFUNCTION_SHOW ShowDirectoryPage
    !insertmacro MUI_PAGE_DIRECTORY
     
    Function ShowDirectoryPage
      FindWindow $R0 "#32770" "" $HWNDPARENT
      GetDlgItem $R1 $R0 1019  
      SendMessage $R1 ${WM_SETTEXT} 0 "STR:$INSTDIR\MyDir"
    FunctionEnd
     
     !insertmacro MUI_PAGE_INSTFILES
     !insertmacro MUI_LANGUAGE "English"
     
    Section  
    SectionEnd

    только с корневыми дисками почему то не срабатывает. Я не возился, т.к. это полный изврат...

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 16:23 04-07-2014
    Sanch8



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как добавить многостроковый текст в MessageBox ?
    При таком варианте выводится только последняя строка:
     

    Код:
    Function Help
    GetTempFileName $R0 ;Создаём временный файл в папке Temp
    File /oname=$R0 filelist.txt :Сам файл
    FileOpen $R1 $R0 r ; Открываем его
    FileRead $R1 $R2 ;Чтение строк в переменную $R2
    FileClose $R1 ; Закрываем файл
    Delete /REBOOTOK $R0 ;Удаляем временный файл
    System::Call 'user32::MessageBoxTimeout(i$HWNDPARENT,t"$R2",t"Инфо",i0x40, i 0, i 6000)' ;Выводим $R2 в MessageBox
    FunctionEnd

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 16:18 01-09-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sanch8
     
    Вставьте $\n в нужные места. Вот вам пример из реального кода:

    Цитата:
     MessageBox MB_OK|MB_ICONSTOP "Извините, но возникла системная ошибка с кодом $R0 и Установка прервана.$\nПожалуйста, обратитесь к Администратору для решения этой проблемы." IDOK +2

    И прочитайте подраздел Variables справки по NSIS. Эти переменные там перечислены.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 16:38 01-09-2014
    Sanch8



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    $\n
    $\r$\n
    Это понятно. Но мне нужно чтобы текст выводился в  MessageBox как в самом файле т.е:
    Строка 1
    Строка 2
    И вся инфа копировалась из txt файла в MessageBox

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 17:14 01-09-2014 | Исправлено: Sanch8, 17:25 01-09-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sanch8
     
    Тогда вам нужно форматировать текст своим плагином. Насколько я помню, готового вроде и нет.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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:30 01-09-2014
    Sanch8



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

    Код:
    Function Help
       GetTempFileName $R0
       File /oname=$R0 filelist.txt
       FileOpen $0 $R0 r
       System::Call 'kernel32::GetFileSize(ir0, i0) i .r1'
       IntOp $1 $1 + 1
       IntCmp $1 ${NSIS_MAX_STRLEN} 0 0
       System::Alloc $1
       Pop $2
       System::Call 'kernel32::ReadFile(ir0,  ir2,  ir1, *i.r3,  i0)'
       FileClose $0  
       System::Call "*$2(&t$3.r4)"
       System::Call 'user32::MessageBoxTimeout(i$HWNDPARENT,t"$4",t"Инфо",i0x40, i 0, i 6000)'
       System::Free $2
       Delete /REBOOTOK $R0
    FunctionEnd
     

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 19:41 01-09-2014 | Исправлено: Sanch8, 19:44 01-09-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sanch8
     
    Так, да получится, заметьте, не через сам NSIS, а через WinAPI который собственно и парсит строки по Cr-Lf.

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

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    вопрос возможно не по теме, извините, если не туда
    есть готовый инсталлятор. разбирать, собирать и т.д. не вариант. надо, чтобы временные файлы помещались в определённую папку. скажем, c:\temp, а не в системную папку. можно ли сделать это через параметры командной строки?

    Всего записей: 514 | Зарегистр. 09-04-2007 | Отправлено: 07:58 02-10-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