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

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



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

    Цитата:
    Было бы замечательно если бы направили вектор в сторону создания нормального GUI для создания инсталяторов, не тупо редактора скрипта, а полноценного IDE для этого дела, по типу Advanced Inastaller, InstallAware Studio, InstallShield.

    Еще альтернатива:
    1)Venis (http://www.spaceblue.com/venis/)
    2)EclipseNSIS (http://eclipsensis.sf.net/)
    Но все таки лучше воспользоваться советом камрада Victor_VG.
    Krinkels

    Цитата:
    А я бы вот хотел чтоб они все таки реализовали разбиение инсталятора на части, на подобии InnoSetup

    Если бы реализовать unarc в инсталляторах NSIS, то это была бы просто убойная пара.
    Inno Setup со своим "недалеким" делфи и лзма2 курили бы нервно в сторонке...
     
    Victor_VG
    Уважаемый, быть может мы совместными усилиями реализуем unarc и NSIS.
    У меня не получилось.

    Всего записей: 221 | Зарегистр. 25-07-2009 | Отправлено: 20:52 19-07-2010 | Исправлено: John_White, 21:32 19-07-2010
    dimbat



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

    Цитата:
    Пара операторов Call/Return

    Спасибо, всё оказалось просто, как и предполагал

    Цитата:
    HM NIS я его постоянно доделываю

    А нет желания сделать контекст или кнопку "вкл/откл комментирования выделенного"?
    Порой нужно целые блоки отключать/включать для отладки, приходится возиться с вертикальным выделением, да и то как-то коряво всё. И шаблон не подойдет для этой цели.

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

    Всего записей: 1034 | Зарегистр. 23-08-2003 | Отправлено: 12:52 21-07-2010
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dimbat
     
    В нём этого нет, правда можно подключить плагины. Основной элемент доделки обычно справка и расцветка операторов - он вызывает контекстную справку NSIS, но там достаточно часто при добавлении новых операторов меняются индексы и я привожу справку и систему расцветки в соответствие с новой версией. Правда, у него есть особенность очень длинные скрипты ~ 20000 строк в нём лучше не запускать на компиляцию - зависнет, их надо через makensisw компилить. Я когда для себя GCC сборку делал на этот эффект нарвался - у меня там под 30000 строк по моему сегодня. Уже и я не помню их точное число - оно зависит от состава компилятора.
     
    John_White
     
    После завершения геморроя с переездом стоит подумать. Идея мне кажется интересной.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 01:45 22-07-2010 | Исправлено: Victor_VG, 01:48 22-07-2010
    ilyaor



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

    Всего записей: 599 | Зарегистр. 14-01-2006 | Отправлено: 14:53 25-07-2010
    kot280379



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Кто нибудь знает как через библиотеку SYSTEM.DLL вызвать функцию поиска новых устройств (обновление списка pnp драйверов)???

    Всего записей: 185 | Зарегистр. 01-11-2009 | Отправлено: 14:06 30-07-2010 | Исправлено: kot280379, 14:07 30-07-2010
    CyberMaster0



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите пожалуйста решить такую задачу:
    Есть файл с атрибутом "Только чтение" File.ext в нем нужно найти и заменить две строчки
     
    Text1 bla bla bla
    Text2 bla bla bla
     
    Заменить на
     
    Text3 ololo
    Text4 ololo
     
    Как это сделать?
    P.s атрибут "Только чтение" файлу File.ext нужно вернуть обратно после его редактирования.
    P.p.s замена этого файла, на заранее отредактированный файл не катит.
    P.p.p.s Эти две строки можно удалить и записать две новые в конец файла

    Всего записей: 44 | Зарегистр. 23-04-2010 | Отправлено: 17:56 16-08-2010 | Исправлено: CyberMaster0, 18:10 16-08-2010
    dimbat



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CyberMaster0
    SetFileAttributes ... NORMAL
    Дальше можно вот так или так
    SetFileAttributes ... READONLY
    ---
    Вот целая категория в справке на этот счет, только выбирай.

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

    Всего записей: 1034 | Зарегистр. 23-08-2003 | Отправлено: 19:35 16-08-2010 | Исправлено: dimbat, 20:20 16-08-2010
    CyberMaster0



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ничего не получается
    Первый способ не подошел, так как в тексте который нужно заменить присутствуют кавычки. Со вторым способом не смог разобраться (Я далеко не кул хацкер).
     
    Собственно объясню суть задачи более подробно:
    Есть файл liblist.gam. Вот содержимое данного файла:

    Код:
     
    game "Counter-Strike"
    url_info "www.counter-strike.net"
    url_dl ""
    version "1.6"
    size "184000000"
    svonly "0"
    secure "0"
    type "multiplayer_only"
    cldll "1"  
    hlversion "1111"
    nomodels "1"
    nohimodel "1"
    mpentity "info_player_start"
    gamedll "dlls\mp.dll"
    gamedll_linux "dlls/cs_i386.so"
    trainmap "tr_1"
     

     
    В этом файле стороки

    Код:
     
    gamedll "dlls\mp.dll"
    gamedll_linux "dlls/cs_i386.so"
     

    Нужно заменить на

    Код:
     
    gamedll "addons\metamod\dlls\metamod.dll"
    gamedll_linux "addons/metamod/dlls/metamod_i386.so"
     

     
    Помогите пожалуйста

    Всего записей: 44 | Зарегистр. 23-04-2010 | Отправлено: 05:14 17-08-2010
    Krinkels



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

    ----------
    Рок моя честь, а моя честь моя жизнь.
    krinkels.org

    Всего записей: 764 | Зарегистр. 06-05-2009 | Отправлено: 09:08 17-08-2010 | Исправлено: Krinkels, 09:09 17-08-2010
    dimbat



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

    Цитата:
    в тексте который нужно заменить присутствуют кавычки

    Заключи нужный текст в одинарные кавычки, типа 'gamedll "dlls\mp.dll"'

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

    Всего записей: 1034 | Зарегистр. 23-08-2003 | Отправлено: 11:24 17-08-2010
    CyberMaster0



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо! Все получилось.
    И Если можно еще такой вопрос: Как сделать так, что бы если необходимый файл не найден, инсталлятор говорил типа "Файл не найден. Продолжить устоновку?"

    Всего записей: 44 | Зарегистр. 23-04-2010 | Отправлено: 21:43 17-08-2010 | Исправлено: CyberMaster0, 21:57 17-08-2010
    dimbat



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

    Цитата:
    если необходимый файл не найден...

    Например так:
    IfFileExists ...
    ...
    Messagebox MB_OKCANCEL ...

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

    Всего записей: 1034 | Зарегистр. 23-08-2003 | Отправлено: 22:37 17-08-2010
    kot280379



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    кто знает, подскажете, где копать, как назначить функции кнопкам "Да" и "Нет" ?
    Messagebox - не предлагайте, я знаю как ....

    Код:
     
    OutFile "Пример.exe"
     
    Section
     System::Call 'user32::MessageBoxA(i, t, t, i) i($HWNDPARENT, s, "Пример", 0x00000004)' "Пример"
    SectionEnd
     

    Всего записей: 185 | Зарегистр. 01-11-2009 | Отправлено: 00:10 19-08-2010 | Исправлено: kot280379, 00:14 19-08-2010
    820815



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

    Код:
    System::Call 'user32::MessageBoxA(i $HWNDPARENT, t "text", t "caption", i 4) i.r0'

    $0 = 6/7 - да/нет

    Всего записей: 645 | Зарегистр. 18-12-2006 | Отправлено: 03:12 19-08-2010
    kot280379



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

    Всего записей: 185 | Зарегистр. 01-11-2009 | Отправлено: 13:52 19-08-2010 | Исправлено: kot280379, 13:53 19-08-2010
    kot280379



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

    Код:
    System::Call 'user32::MessageBoxA(i $HWNDPARENT, t "text", t "caption", i 4|0x00000080) i.r9'

    Всего записей: 185 | Зарегистр. 01-11-2009 | Отправлено: 16:12 21-08-2010 | Исправлено: kot280379, 16:15 21-08-2010
    dimbat



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kot280379
    Для классического фейса:
    ICON "my_icon.ico"
    Для Модерна:
    !define MUI_ICON "my_icon.ico"

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

    Всего записей: 1034 | Зарегистр. 23-08-2003 | Отправлено: 17:36 21-08-2010
    kot280379



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dimbat  
    Иконку в окошечко
    У меня инсталятор с рядом проверок и не очень удобно:
    Messagebox - с одним заголовком
    По этому вызываю мессагу таким способом:

    Код:
    System::Call 'user32::MessageBoxA(i $HWNDPARENT, t "text", t "caption", i 4|0x00000080) i.r9'

     
     

    Всего записей: 185 | Зарегистр. 01-11-2009 | Отправлено: 18:46 21-08-2010 | Исправлено: kot280379, 18:49 21-08-2010
    dimbat



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kot280379
    Понятно, тогда вот так:
    System::Call 'user32::MessageBoxA(i $HWNDPARENT, t "text", t "caption", i 0x4|0x10) i.r9'
    ---
    10,20,30 и 40 - четыре основных иконки.

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

    Всего записей: 1034 | Зарегистр. 23-08-2003 | Отправлено: 19:23 21-08-2010
    kot280379



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dimbat Спасибо
    А вот как иконку самого инсталлятора?
    103 ресурс
     

    Всего записей: 185 | Зарегистр. 01-11-2009 | Отправлено: 21:26 21-08-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