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

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



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    korosya
     
    Нагородили огород с ExecWait `hidecon ......` всем прочим добром. Хоть святых выноси. Используйте вместо nsExec::Exec плагин ExecDos::exec,  и далее по тексту конструкций вида "$R9" быть не должно - передадите своему коду мусор на стеке, хватит. Ну а то что первый автор "скрипта" явно старался скрыть свои мысли видно по стилю его кода - он явно сам не понял что хочет получить, в итоге написал монстра...

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 04:25 10-04-2015
    korosya

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

    Цитата:
    передадите своему коду мусор на стеке, хватит. Ну а то что первый автор "скрипта" явно старался скрыть свои мысли видно по стилю его кода - он явно сам не понял что хочет получить, в итоге написал монстра...

    У меня стоит задача: Найти в папке %WINDIR%\WINSxS\ все файлы notepad.exe и, если размер найденного файла равен размеру %WINDIR%\notepad.exe, то добавить к переменной $Path2 путь к такому файлу. Также надо "совершить" takeown.exe и icacls.exe над этими файлами и папками, в кот. они находятся. Подскажите, плиз, как оптимальнее выполнить данные действия?

    Всего записей: 1005 | Зарегистр. 19-07-2003 | Отправлено: 18:19 10-04-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    korosya
     
    Первая часть задачи решается проще - создаются хардлинки с которыми NTFS умеет работать с момента своего создания для Windows NT 3.1, к примеру утилитой ln. Это позволит избежать ошибки "Имя и размеры совпадают, содержимое отличается". Вторая задача полностью решается редактированием ACL для чего имеются инструменты такие как AccessControl plug-in, но для Notepad++ это не нужно ибо он сам умеет наломать дров будь здоров, а так вы в лучшем случае потеряете только свои данные, а в худшем сотворите пакость для тысяч пользователей, и не все они будут к вам столь добры чтобы просто обложить в семь этажей и сесть восстанавливать порушенное и всегда в жизни найдётся кто-то кто с удовольствием лично займется претворением своих проклятий в адрес "злодея", да вот беда - невинные люди могут при этом пострадать, а это не допустимо, и у иных из таких мстителей тормозов нет.  
     
    Так что думайте над возможными последствиями своих действий ибо взрослый отличается от ребёнка именно умением предупреждать отрицательные последствия своих поступков и решений, а данное решение и с технической точки зрения уже в своём прототипе выглядит откровенной глупостью, а раз так, то зачем её множить?

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 20:12 10-04-2015
    Sanch8



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос такой, есть ли в NSIS возможность на custom странице создать закладки?

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 10:37 26-04-2015 | Исправлено: Sanch8, 10:42 26-04-2015
    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

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 11:32 26-04-2015
    Sanch8



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

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 12:02 26-04-2015 | Исправлено: Sanch8, 12:03 26-04-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sanch8
     
    Вкладка не равна Закладка - смысл понятий разный, тот кто рисовал пример ошибся, бывает. Нет, этого вы в NSIS не сделаете - для этого нужно весь компилер под MDI переписывать, а он исходно сделан в SDI.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 12:37 26-04-2015
    Sanch8



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Понял, думал плагин может какой поможет Пока такого вроде нет.

    Всего записей: 125 | Зарегистр. 29-01-2012 | Отправлено: 12:49 26-04-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sanch8
     
    Плагин в данном случае бесполезен т.к. поддержки MDI нет на уровне makensisw и стубов.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 12:53 26-04-2015
    MKN



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

    Цитата:
    Пример на картинке

    Можно сделать нечто похожее... На первой кастомной странице, например, 3 кнопки, каждая из которых открывает новую кастомную страницу на той же позиции.  Общее - на всех страницах одинаково, потому создастся эффект переключения как бы закладок на одной странице...  
    Можно переключать не страницы , а собственные окна (CreateWindowEx) в окне одной основной страницы...

    Всего записей: 4928 | Зарегистр. 21-04-2005 | Отправлено: 16:25 28-04-2015 | Исправлено: MKN, 16:28 28-04-2015
    SvetonosnyAngel

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

    Цитата:
    Также надо "совершить" takeown.exe и icacls.exe над этими файлами и папками

            nsExec::Exec 'takeown.exe /F $WINDIR\notepad.exe'
            Pop $0
            nsExec::Exec 'takeown.exe /F $SYSDIR\notepad.exe'
            Pop $0
     
              nsExec::Exec 'icacls.exe $WINDIR\notepad.exe /grant "$USERNAME":F'
              Pop $0
              nsExec::Exec 'icacls.exe $SYSDIR\notepad.exe /grant "$USERNAME":F'
              Pop $0

    Всего записей: 313 | Зарегистр. 08-12-2008 | Отправлено: 17:45 29-04-2015
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ALL Есть ли вариант запустить внешний файл в ТОМ ЖЕ окне CMD из NSIS?

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 00:27 03-06-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
     
    Exec::, ExecDOS::, ExecWait::, NsExec:: . НО! NSIS это GUI программа, потому в любом случае консольная программа запустится в отдельной задаче, а запустить можно что угодно, только прописав правильный путь к бинарнику. Сам для этого NsExec использовал.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 00:57 03-06-2015
    dialmak



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

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

    Имелось ввиду в отдельном окне видимо.
    Не уверен. Можно обойти видимо через System::Call. Но я баран...
     
    ExecDOS:: , NsExec:: не годятся - они скрывают окно.
    Exec::, , ExecWait:: не годятся - они создают новое окно.
     
    Добавлено:

    Цитата:
    NSIS это GUI программа

    Дык GUI можно скрыть, это не проблема.
     
    Добавлено:
    Не хочется Autoit-ом делать - там размр. Может акие-то ещё варианты есть. Нужно упаковать пару файлов и запустить в том же консольном окне. 7sfx - тоже отпал по той же причине, что и NSIS. Хотя пока роюсь..

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 01:09 03-06-2015 | Исправлено: dialmak, 01:15 03-06-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
     
    Именно в задаче т.к. GUI и консоль это независимые подсистемы ОС и потому обойти это невозможно. Сессия пользователя будет та же (если не применять приёмы типа Run As...), задачи разные. Если же стоит вопрос что имеется существующая сессия CMD и в ней надо что-то запустить, то это через API и получение её PID. Тут я с ходу решения не подскажу.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 01:16 03-06-2015 | Исправлено: Victor_VG, 01:21 03-06-2015
    dialmak



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

    Цитата:
    имеется существующая сессия CMD и в ней надо что-то запустить, то это через API  

    Да. Это нужный вариант. Как прогуглить? Чего вбивать нужно?

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 01:24 03-06-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
     
    Тут сначала придётся в MSDN копаться чтобы найти нужные вызовы WinAPI.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 01:29 03-06-2015
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Да там зарыться можно. Видимо придётся autoit-ом сделать...

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 01:34 03-06-2015
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
     
    Там да, но это надёжный вариант т.к. если известен PID процесса можно сделать и всё остальное, в том числе и отдать ему команду, а так ОС просто запустит новую копию командного интерпретатора которая естественно выведет собственное окно.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 33231 | Зарегистр. 31-07-2002 | Отправлено: 01:38 03-06-2015
    dialmak



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

    Цитата:
    если известен PID процесса можно сделать и всё остальное, в том числе и отдать ему команду

    Да там ничего не нужно ловить. Скомпилил как консольное приложение и усе.

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 01:40 03-06-2015
    Открыть новую тему     Написать ответ в эту тему

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