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

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

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 09:26 15-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
     
    Я брал её здесь, но толку на 8.1 не было - код:

    Цитата:
    Function .onInit  
      ...
      GetVersion::WindowsVersion
      Pop $R2
      StrCpy $R3 $R2 1
      StrCpy $R4 $R2 1 -1
      StrCpy $R3 $R3$R4
      IntCmp $R3 51 +2 +1 +2
      Call unsuppm
      ...

    вместо перехода дальше получает на стеке мусор и зовёт сообщение об ошибке оформленное как внешняя функция. Посему я иначе решил задачу:

    Цитата:
    ....
      !include "WinVer.nsh"
      ....
      Function .onInit
      ....
      ${If} ${AtLeastWinXP}
      ${OrIf} ${AtLeastWin2003}
      Goto onext
      ${Else}
      Call unsuppm
      ${EndIf}
      onext:
      ...

    но, для этого надо поменять WinVer.nsh взяв его по ссылке - он позволяет используя LogicLib сделать нужную проверку с учётом изменений в WinAPI.


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



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

    Цитата:
    Я брал её здесь, но толку на 8.1 не было

    Тогда понятно... Единственным нормальным рабочим для W8.1 - остаётся WinVer2.nsh от kotkovets
    Ну, и получение правильной версии с помощью WMI  (при использовании WMI.nsh )

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 14:42 15-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
     
    Да, поскольку нам достаточно посмотреть на MSDN GetVersio() и GetVersionEx() - начиная с Win8 вместо них в WinAPI отвечают заглушки.

    Цитата:
    Единственным нормальным рабочим для W8.1 - остаётся WinVer2.nsh от kotkovets

    с Oszone.net откуда я вечно любуюсь только 504-й.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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:14 15-03-2014 | Исправлено: Victor_VG, 16:37 15-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
     
    А хочешь проще?

    Цитата:
    !include 'StdUtils.nsh'
    OutFile test.exe
    RequestExecutionLevel user
    ShowInstDetails show
            Section
        ${StdUtils.GetRealOSVersion} $1 $2
        DetailPrint "Real Windows NT Version: $1,$2"
        DetailPrint ""
    SectionEnd
    Section
        ${StdUtils.VerifyOSVersion} $1 5 0
            DetailPrint "Check for Windows 2000: $1"
        ${StdUtils.VerifyOSVersion} $1 5 1
            DetailPrint "Check for Windows XP: $1"
        ${StdUtils.VerifyOSVersion} $1 5 2
            DetailPrint "Check for Windows 2003: $1"
        ${StdUtils.VerifyOSVersion} $1 6 0
        DetailPrint "Check for Windows Vista: $1"
        ${StdUtils.VerifyOSVersion} $1 6 1
        DetailPrint "Check for Windows 7: $1"
        ${StdUtils.VerifyOSVersion} $1 6 2
        DetailPrint "Check for Windows 8.0: $1"
        ${StdUtils.VerifyOSVersion} $1 6 3
        DetailPrint "Check for Windows 8.1: $1"
        ${StdUtils.VerifyOSVersion} $1 6 4
        DetailPrint "Check for Windows 8.2: $1"
    SectionEnd

    а главное оно напрямую работает c рунтаймими С и решает задачу проще и надёжнее чем предложенный тобой метод - три простых строки кода и мы знаем, что программа запущена в условиях которые нас устраивают. И чего тогда голову ломать с WMI или современной реализацией DOS команды setver?

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



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

    Цитата:
    А хочешь проще?

    Это я видел на винампе. LoRd_MuldeR позавчера даже что то обновил. Только и там не всё так однозначо (в плане перспективы детекта новых последующих  версий). Аж целая дискуссия в двух темах была...
     
    И в плане простоты кроме трёх строк кода - нужен хедер и плагин.
    А при использовании WMI - три строки кода и хедер. Я не утверждаю , что так лучше, но предполагаю, что надёжнее...

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



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
     
    Ну, плагин тут вещь нужная - идёт обращение к MSVCRT,  т.е. к рунтайму C++. По крайней мере в моём случае это решение явно сработало - баг-репортов нет, зато есть предложения по развитию проекта. Значит сборка на 8.1 встала и сообщений об ошибке детектора более нет. А дальше можно спокойно работать. С WMI связываться бесполезно  - согласно MSDN возможностями запроса версии ОС он не располагает ибо это функции рунтаймов MS Visual Studio, а их проще через C Standard Library позвать.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 18:36 16-03-2014 | Исправлено: Victor_VG, 02:06 17-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я обновил свой комплект средств разработки для NSIS 2.46 Stable (ANSI) - в Update обновлён StdUtils, а HM NIS  включает в себя UPX 3.0.9.1. Мои исходники модификаций открыты под лицензией GPL 2.1 и включены в пакеты. Пользуйтесь.
     
    P.S.
     
    Файлы блокирует служба ЯД, посему им отправлено письмо:

    Цитата:
    Господа, ваша мухобойка блокирует под разными предлогами безобидные файлы. Вот её очередной "подвиг" - http://yadi.sk/d/vFEHuN1AKkvSK . Мне плевать на идиота которые её писал, но она гавкает на код где нет заразы - возьмите SDK обновления и там мои исходники. Или это надо понимать как факт что кому-то и на это охота лапу наложить? А губозакатальную машинку сему господину из Лондону-Парижу не выписать?

    Реакции от сих господ нет...

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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:09 17-03-2014 | Исправлено: Victor_VG, 19:13 18-03-2014
    Dunkeshu

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Цитата:
    Файлы блокирует служба ЯД, посему им отправлено письмо
    Возможно причина заключается в файле из архива - Installing the Microsoft .NET Framework.chm (он не открывается). Или это следствие? Киньте архив на другой файлообменник. Делов то!

    Всего записей: 621 | Зарегистр. 25-01-2010 | Отправлено: 17:02 23-03-2014 | Исправлено: Dunkeshu, 17:36 23-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dunkeshu
     
    Там были побитые до архивирования файлы - на старой флешке чипы посыпались, но они бы просто не запустились, да и система сообщила бы об ошибке, а тут что за причина они молчат как партизаны несмотря на неоднократные вопросы. Ну и ладно, битые файлы я убрал, Rar архивы перепаковал и кинул архив на другой обменник NSIS246.7z (7-Zip v9.30 Alpha, LZMA, SOLID, MAXIMUM). Сколько там пролежит не знаю, у меня бы лежал долго.
     
    Реальная же причина называется просто - Ни себе, ни людям! Расчистим поляну! - платные мухобойки подымают вой по принципу "Потенциально нежелательное приложение! Место забито коммерсантами, Open Source курит в сторонке!".

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 18:02 23-03-2014 | Исправлено: Victor_VG, 18:24 23-03-2014
    betssaf



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто может накидать заготовку проета для следующей задачи:
    Имеется архив с файлами, иконка, бантик, тхт с настр для sfx.  
    На выходе ехе должен обработать то что прописано в тхт! Хочу некоторые прожки портабле собирать в нсис. Сейчас некоторые делаю кнопкой, но она не все может к сожалению. Прога отличная! Заранее благодарю за инфу.

    Всего записей: 2056 | Зарегистр. 28-01-2013 | Отправлено: 18:13 23-03-2014 | Исправлено: betssaf, 18:25 23-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    betssaf
     
    Ну, как вариант - алгоритм (общий!): если программа пишет настройки в Реестр, то бэкапим их через Registry::Save, меняем на заготовленные, запускаем программу через ExecWait и ждём её завершения. По завершению чистим за ней мусор и восстанавливаем порушенное. Я так запускал Far1 - Far3, и вроде ничего. Размер запускалки порядка 60 Кб, а SourceForge.net/PortableApps/ .PAF без учёта встроенных исходников и справки порядка 1 Мб, но с ней возни меньше - практически поправить несколько строк в INI, а своя будет сложнее в коде, но компактнее.


    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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 | Отправлено: 18:39 23-03-2014 | Исправлено: Victor_VG, 18:40 23-03-2014
    betssaf



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    И не только компактнее, не все могут прожки создания портабле! Я нуб в с плас плас. Сам проект такой не напишу, по шаблону докумекать сумею. Шаблон собственно и прошу, далее только подменить назв файлов.  
    Портабле для разной разрядности говорят лучше в нсис, портабле малваре-антималваре хочу сделать для 86-64, пока нормально отрабатывает упакованная в спуне только на 86

    Всего записей: 2056 | Зарегистр. 28-01-2013 | Отправлено: 18:56 23-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    betssaf
     
    А тут хватит комплекта что выше переложил. HM NIS создаст заготовку, дальше добавляем записи Реестра и где надо по логике алгоритма зовём плагин Registry не забывая подключить его макросы через !include "Registry.nsh".
    Там же код прост как три копейки! Например у SumatraPDF. Главное понимать что надо сделать и правильно построить алгоритм. А дальше обработки исключений и прочее уже делается не сложно поскольку понятно куда вставить этот блок. А пока алгоритм на уровне идеи он и будет пугать как Кащеево царство - все про него слыхали, но кто ходил не вернулся. А чего боятся? Может сам Кащей давно уже мифом стал коим детей пугают, а люди не возвращаются поскольку им там жить вольготнее?  
     


    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    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:49 24-03-2014 | Исправлено: Victor_VG, 01:45 24-03-2014
    betssaf



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

    Цитата:
    HM NIS создаст заготовку

    это плагин (HM) к проге? запуская Nsis такого не вижу.

    Цитата:
    Например у SumatraPDF

    теный лес )) буду изучать что куда и почему.
    пока рожал 2 месяца как решить проблему, кит уже смотрячили малваре портабле версии 2.0 мультиленг для обеих разрядностей. Опередили

    Всего записей: 2056 | Зарегистр. 28-01-2013 | Отправлено: 03:24 24-03-2014 | Исправлено: betssaf, 03:39 24-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    betssaf
     
    Редактор кода и он же IDE. В архиве есть. Каталог HM NIS 2.03. Можно использовать и среду Exlips, но та более громоздка.

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



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

    Цитата:
    Редактор кода и он же IDE

    буду мучить! (не плохой у вас наборчик! я то голым дистриб пробывал ) кит хорошо сделали, правда не одним файлом.

    Всего записей: 2056 | Зарегистр. 28-01-2013 | Отправлено: 04:33 24-03-2014 | Исправлено: betssaf, 04:37 24-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    betssaf
     
    Это специально - обновление всегда можно перебрать.

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



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    хорошо сделали, а то есть наборы но там все по кит
    вас AutoIT интересует? справка у кит обновилась Ссылка может кто переведет.

    Всего записей: 2056 | Зарегистр. 28-01-2013 | Отправлено: 04:48 24-03-2014
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    betssaf
     
    АутоИТ-м я не пользуюсь - это в основном вин-пакет, а я 90% времени работаю под UNIX.

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