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

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

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

    Цитата:
    Garrett
    А почему бы самому не почитать хелп и не попробовать сделать?

    Я не настолько хорошо знаю NSIS чтобы с нуля написать то что мне надо, проще оттолкнуться от готового...
    Суть какая, есть список параметров реестра:
    Параметр1,
    Параметр2,
    Параметр3,
    Параметр4,
    Параметр5,
    Параметр6.... и т.д.
    и необходимо их занести в реестр, причем не все, а в зависимости от наличия файла в определенной директории:
    если файл1 то в реестр записываются Параметры1 и 2
    если файл2 то в реестр записываются Параметры1,2,3,4
    если файл3 то в реестр записываются Параметры1,2,5,6 и т.д.
     
    причем необходимо сделать так чтобы все эти параметры, имена файлов и варианты записей в реестр хранились во вне инсталлятора...
     
    на том уровне владения NSIS на котором я нахожусь это немного сложновато, даже с хелпом...
    может кто еще идейку подбросит как это можно реализовать...

    Всего записей: 9 | Зарегистр. 21-03-2007 | Отправлено: 15:38 07-05-2007
    aermashov

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Еще один вопросик для гуру, есть ли в NSIS переменная определяющая букву системного диска, по аналогии с виндовой %systemdrive%....?

    Всего записей: 9 | Зарегистр. 21-03-2007 | Отправлено: 15:57 10-05-2007
    Garrett

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    aermashov
    Если по-быстрому, в большинстве случаев можно присвоить переменной константу $WINDIR, затем вырезать первую букву.

    Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 16:57 10-05-2007
    IMPOMEZIA



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

    Код:
     
    ExpandEnvStrings $R0 "%systemdrive%"
     

    Всего записей: 161 | Зарегистр. 19-07-2005 | Отправлено: 17:45 10-05-2007
    Garrett

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    IMPOMEZIA
    Молодец! А я прошляпил эту функцию.

    Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 17:49 10-05-2007
    aermashov

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

    Цитата:
    aermashov
    Можно сделать так:
    Код:
    ExpandEnvStrings $R0 "%systemdrive%"
     

    ага, огромное спасибо
     
    можно ли в ini файле определить сколько параметров и какие входят в определенную секцию?
    Возможно ли из инсталлятора изменить параметры файла подкачки, в реестре они находятся здесь:

    Код:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
    "PagingFiles"=hex(7):43,00,3a,00,5c,00,70,00,61,00,67,00,65,00,66,00,69,00,6c,\
      00,65,00,2e,00,73,00,79,00,73,00,20,00,31,00,30,00,32,00,34,00,20,00,31,00,\
      30,00,32,00,34,00,00,00,00,00

    Пользовался и Exec 'reg add ...' как в командной строке
    и WriteRegStr, WriteRegExpantedStr тоже не работают...
    Кроме как рег файла не получается данный параметр записать чтоб система его адекватно понимала
    а разводить кучу разных файлов не хотелось бы, может кто знает как еще можно это сделать...

    Всего записей: 9 | Зарегистр. 21-03-2007 | Отправлено: 09:38 11-05-2007 | Исправлено: aermashov, 17:05 11-05-2007
    Maks150988



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

    Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 22:49 11-05-2007
    Angel_19



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А можно разобрать готовый пакет для получения сценария?
    Зашел в пакет установки ТоталКоммандером, есть там файл script.bin - он двоичный

    Всего записей: 395 | Зарегистр. 19-04-2005 | Отправлено: 22:22 17-05-2007 | Исправлено: Angel_19, 22:25 17-05-2007
    xGMZx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    есть строка:
    ExecWait "$INSTDIR\upx.exe $PROGRAMFILES\XXX 1.2\* -9"
     
    как сделать, чтобы UPX не проскакивал "XXX 1.2"?

    Всего записей: 28 | Зарегистр. 28-05-2007 | Отправлено: 10:39 28-05-2007
    Garrett

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

    Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 11:42 28-05-2007
    xGMZx

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

    Всего записей: 28 | Зарегистр. 28-05-2007 | Отправлено: 12:38 28-05-2007
    Stewie_Griffin

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В общем проблемка такая:
     распаковывается архив, запускаю файл execwaitом, файл запускается нормально, но пишет что не может найти ини файл настройки... а когда запускаю его вручную всё нормально работает... подскажите что это может быть и что сделать

    Всего записей: 2 | Зарегистр. 30-05-2007 | Отправлено: 22:39 30-05-2007
    Garrett

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

    Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 22:47 30-05-2007
    MaGoth

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите плиз, можноли в Nsis реализовать большое окошко, со скрином ?
    А также пока идет инсталляция проигрывать музыку. Если да, то как это сделать... Пасиб.

    Всего записей: 114 | Зарегистр. 30-05-2007 | Отправлено: 23:28 30-05-2007 | Исправлено: MaGoth, 23:29 30-05-2007
    Garrett

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

    Цитата:
    напиши пример...

    ExecWait "$\"$INSTDIR\upx.exe$\" $\"$PROGRAMFILES\XXX 1.2\*$\" -9"
    или
    ExecWait '"$INSTDIR\upx.exe" "$PROGRAMFILES\XXX 1.2\*" -9'

    Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 02:36 31-05-2007
    Stewie_Griffin

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Garrett
    В общем смысл такой: допустим есть у меня 2 файла - script.exe и script.ini
    я создаю инсталятор, который извлекает эти файлы в $INSTDIR
    потом запускаю файл script.exe командой ExecWait "$INSTDIR\script.exe"
    script.exe запускается, но пишет что не найден файл script.ini
    хотя после установки я вручную запускаю script.exe и всё работает.
     
    и ещё один вопросик, если можна:  
    добавляю скрипт в автозагрузку   WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Run" "script" "$INSTDIR\script.exe"
    Какой командой делается его uninstall?

    Всего записей: 2 | Зарегистр. 30-05-2007 | Отправлено: 08:33 31-05-2007
    Garrett

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Stewie_Griffin
    Если мы запускаем с:\TestProg\myprog.exe - не означает, что мы находимся в с:\TestProg!!!
    Во время инсталляции мы находимся скорее всего в каком-то Теmр'е.
     
    Тебе надо сделать скриптом бат-файл след.содержания и запустить его
     
    cd $INSTDIR
    script.exe
     
    здесь $INSTDIR надо будет заменить на папку, которую выбрал пользователь.
     
    ------------
    В "Software\Microsoft\Windows\CurrentVersion\Run" ничего совать не надо.

    Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 08:59 31-05-2007
    xGMZx

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

    Всего записей: 28 | Зарегистр. 28-05-2007 | Отправлено: 15:48 31-05-2007
    Garrett

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    xGMZx
    А так ?
    ExecWait '"$INSTDIR\upx.exe" "$PROGRAMFILES\XXX 1.2\*" -9'  
    (в самом начале, после "ExecWait " сначала кавычка потом двойная кавычка, а не наоборот)
     

    Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 00:11 01-06-2007
    Sampron

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

    Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 19:51 01-06-2007
    Открыть новую тему     Написать ответ в эту тему

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