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

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



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

    Цитата:
    надо, чтобы временные файлы помещались в определённую папку. скажем, c:\temp, а не в системную папку. можно ли сделать это через параметры командной строки?

    SET TEMP=C:\TEMP
    после установки, вернуть обратно

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 13:45 02-10-2014 | Исправлено: MKN, 13:47 02-10-2014
    Talula41

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

    Цитата:
    SET TEMP=C:\TEMP  
    после установки, вернуть обратно

     
    я не про это. инсталлятор можно запустить с помощью параметров, например /NCRC
    темп папка конкретного инсталлятора, которая создаётся внутри системной темп и имеет вид ns****.tmp
    есть файл, который извлекается инсталятором туда. это некая проверка после которой начинается установка. есть этот подправленый файл. если его поместить в эту папку, то инсталятор не извлекает оригинал, а юзает этот. вот собственно надо сделать так, чтобы с запуском инсталлятора создавалась своя временная папка, в которую можно поместить этот файл. как задать параметр и положить файл - дело другое и труда не составляет. интересует сам параметр.

    Всего записей: 514 | Зарегистр. 09-04-2007 | Отправлено: 15:09 02-10-2014
    MKN



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

    Цитата:
    надо сделать так, чтобы с запуском инсталлятора создавалась своя временная папка

    Попробуй использовать функцию SetEnvironmentVariable.
    Вообще ты как то сумбурно объясняешь... Кусок бы кода привёл и указал в каком месте что необходимо...

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 15:58 02-10-2014
    Talula41

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

    Цитата:
    Попробуй использовать функцию SetEnvironmentVariable.  

    инсталлятор уже готов. он НЕ мой. если я его собирал, то просто положил бы подправленный файл.
    короче, объясняю как могу =) есть готовый setup.exe
    при запуске появляется окно выбора языка. в этот момент уже существует папка C:\Users\имя_юзера\AppData\Local\Temp\nse7CBC.tmp, в которой есть три файла: LangDLL2.dll, System.dll, UserInfo.dll. после выбора языка надо подключить определённое оборудование к компу и нажать далее. в этот момент появляются ещё несколько файлов в том числе и dll отвечающая за проверку этого оборудования. если его нет - установка невозможна. этот файл я подправил и установка спокойно продолжается. инсталятор не перезаписывает файлы. т.е. если он уже есть в папке - используется он. таким образом ещё на стадии выбора языка можно подложить свой файл и спокойно установить прогу без лишних манипуляций.
    проблема в том, что имя папки всегда разное. пересобирать инсталятор не вариант. поэтому и интересует команда. в inno setup инсталляторах задать временную папку готовому инсталлятору можно через параметры запуска. поэтому и спрашиваю.
    по идее, устроит даже вариант, чтобы все файлы извлекались рядом с инсталятором, т.к. он всё равно будет в темпе.
     
    з.ы. если команды такой не существует, то есть ли возможность перехватить имя этой папки на стадии её создания?

    Всего записей: 514 | Зарегистр. 09-04-2007 | Отправлено: 14:08 03-10-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Talula41
     
    Имя перехватить нельзя, но указать распаковку в $PLUGDIR можно. Или написать свой инсталлер. Вариант номер три - не лезть как слон в посудную лавку.

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

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

    Цитата:
    Имя перехватить нельзя, но указать распаковку в $PLUGDIR можно.

    дело не в перепаковке или создании сетапа в другом инсталяторе - это дело 5 минут. тут дело принципа (долго объяснять смысл просто). но сам инсталятор должен остаться оригинальным.

    Всего записей: 514 | Зарегистр. 09-04-2007 | Отправлено: 14:53 03-10-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Talula41
     
    Тоды ручками. Вам ответили, больше тут добавить нечего...

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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:32 03-10-2014
    Talula41

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Victor_VG
    понял, спасибо =)

    Всего записей: 514 | Зарегистр. 09-04-2007 | Отправлено: 15:40 03-10-2014
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Talula41
    Т.е. нужно отследить появление (или наличие ? ) конкретного файла в папке с переменным названием и в зависимости от результата сделать нечто  ?
    Если так, то это просто. Если установить наличие файла в любой директории( с любым названием ), которая создаётся инсталлятором в $TEMP,  то это обыкновенное :
     
    ${Locate} "$TEMP" "/L=F /M=my.dll" "search"    
    Function search
        StrCpy $R0 $R9
        MessageBox MB_YESNO '$R0$\n$\nИскать дальше?' IDYES +2
        StrCpy $0 StopLocate
        Push $0
    FunctionEnd
     
    Если ждать появления файла в неизвестной директории , то используем поиск в цикле...

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 15:59 03-10-2014 | Исправлено: MKN, 16:28 03-10-2014
    Talula41

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    MKN
    вы опять предлагаете мне решение при создании инсталятора, но оно бессмысленно...

    Всего записей: 514 | Зарегистр. 09-04-2007 | Отправлено: 16:51 03-10-2014
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Talula41
    Твой инсталлятор останется не тронутым. А запустится скрипт, который запустит и твой инсталлятор и отследит всё что нужно... Ну, если не нравится, как хочешь...

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 16:55 03-10-2014 | Исправлено: MKN, 16:55 03-10-2014
    Talula41

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    MKN
    но этот скрипт для чего? для nsis, так ведь? это явно не для командной строки...
    блин, интересовала такая возможность "setup.exe /TMPDIR=C:\123tmp"
    команда несуществующая, вписал для наглядности. но как оказалось такой вариант не канает. всё, спасибо за советы, вопрос закрыт =)

    Всего записей: 514 | Зарегистр. 09-04-2007 | Отправлено: 17:02 03-10-2014
    nil998

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Где можно  скачать вашу сборку NSIS2.46 (кроме трекера)?

    Всего записей: 4 | Зарегистр. 07-01-2014 | Отправлено: 16:18 27-11-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    nil998
     
    Пока там поскольку мухобойка у хостера не понятно на что лается и не позволяет её выложить, а после как добавлю кое-что задуманное так и новое место для неё поищем. Задержки во времени в вызваны отказом оборудования - оно в состоянии ремонта.

    Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 21:18 27-11-2014
    Trex



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, может кто подскажет, можно ли решить проблему:
    Есть инсталлятор созданный с помощью сабжа. В первом окне инсталлятора есть отмеченный чекбокс. Существует ли софт, позволяющий убрать отметку с чекбокса, без распаковки и перепаковки ?
    Пробовал PE Explorer, Resource tuner, exescope - не видят они это окно, очевидно связанно с особенностью инсталлятора.
     
    Пы.Сы. Проблема связанна с желанием репакеров поменять стартовую страницу на свою, если забыл убрать отметку с чекбокса - потом придется вычищать во всех браузерах сразу. А еще хуже если открываются при запуске 30 окон...  
    Пример:
    http://rghost.net/59409765

    Всего записей: 6476 | Зарегистр. 03-09-2001 | Отправлено: 23:17 03-12-2014 | Исправлено: Trex, 23:20 03-12-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Trex
     
    Нет, номер не выйдет - даже если и в хекс редакторе снимем, то проверку целостности не пройти. Только пересборка заново с правкой скрипта. А окошка обычно и нет там - банальный фрагмент кода.  
     
    Я как-то прикручивал к этому делу хвалёную UnChecky да вот за ней акромя надувания щёк и фанфар  на деле ничего не стоит ибо она только визуально скрывает в чекбоксе галку не сбрасывая её, а вся требуха - рекламные тулбары, партнёрские приложения, любые шпионские модули и прочая дрянь замечательно в фоне устанавливаются и после их надо руками корчевать. Так что по моему она создана не для защиты от мусора, а как раз для его скрытой установки.

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



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    а можно тогда ткнуть в меня ссылкой - как пересобрать и где "живет" скрипт ? А то я 7зипом раскрыл, а дальше...

    Всего записей: 6476 | Зарегистр. 03-09-2001 | Отправлено: 15:17 04-12-2014
    qazwsxe



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

    Цитата:
    и где "живет" скрипт ?

    У автора репака вестимо

    Всего записей: 1544 | Зарегистр. 16-08-2008 | Отправлено: 17:55 04-12-2014 | Исправлено: qazwsxe, 11:20 05-12-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Trex
     
    Скрипт это .nsi файл, но его бесполезно брать из установки - даже лучшие декомпиляторы восстановят его исходники не более чем на 30% и многое будет утрачено, в том числе исходники подключаемых скриптом файлов (инклюдов). Так что проще переписать с нуля.

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



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

    Цитата:
    даже лучшие декомпиляторы восстановят его исходники не более чем на 30% и многое будет утрачено

    Но общую суть инсталляции понять и самому доработать - можно  
    К примеру по ссылке Trex  (  http://rghost.net/59409765 ) - это WinRar RePack by KpoJIuK, в нём скрипт выглядит так (ессно с кучей мусора)  :
    http://rghost.ru/private/59431266/3e1f110f676d0903d218a9597abfd6ac
    Вполне можно доработать и переделать для себя...

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 10:16 05-12-2014 | Исправлено: MKN, 10:16 05-12-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