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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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.08 (от 25 сентября 2021 г.)  
     
     
    Ссылки:
    NSIS: страница загрузкирусификатор ветки 2.xx (без гарантии, что подходит!)2.513.02.1NSIS 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 | Исправлено: Maz, 20:31 01-01-2023
    VSS

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

    Цитата:
    А что тебе посоветовали для решения этого вопроса ? Конкретный код есть ?

    Было только объяснение проблемы, предложение проверить макрос и, если повезет, найти в интернет плагин для подобной задачи. В крайнем случае, написать плагин самому (у него недостаточно знаний для этой задачи).
    Как уже писал - по всем пунктам у меня облом и для написания плагина ситуация аналогична.
    Вспомнил слова Жванецкого - "ПисАть, как и пИсать нужно когда терпеть не можешь..."
    Поскольку проблема ясна, а решения нет, то и писАть нечего. Вот и закрыл тему, чтобы других не отвлекать по пустякам.

    Всего записей: 48 | Зарегистр. 17-12-2005 | Отправлено: 18:17 14-02-2023
    iglezz

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

    Цитата:
    В данном случае нужно использовать WaitForMultipleObjects.

    Нет, т.к. этой функции надо скармливать массив дескрипторов отслеживаемых процессов, а у нас его нет и быть не может.
     
    Макрос ExecWaitJob в целом рабочий, но как его автор (один из разработчиков NSIS) отметил, обработка ошибок упрощённая (это и по коду заметно).
    Для нерабочих случаев несложно и самостоятельно проверить возвращаемые функциями API значения.
     
    ЗЫ
    Проблемы и не решаются, если они не обсуждаются.

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 18:24 14-02-2023
    VSS

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

    Всего записей: 48 | Зарегистр. 17-12-2005 | Отправлено: 18:26 14-02-2023 | Исправлено: VSS, 18:27 14-02-2023
    user_2025

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста, как заставить установщик правильно читать в реестре, путь к уже установленной в системе программы в 64-битной системе:
    InstallDirRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TEST" InstallLocation
     
    При установке 32-битной программы в $PROGRAMFILES32, данные об установке записываются в раздел "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\TEST" и проблем не возникает.
    Но при установке 64-битной программы в $PROGRAMFILES64, данные уже записываются в раздел "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TEST" и установщик этот раздел не видит.
     
    Section
    SetOutPath "$INSTDIR"
    File TEST.dat
    SectionEnd

    Всего записей: 7 | Зарегистр. 08-02-2023 | Отправлено: 07:20 19-03-2023
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    user_2025
    добавь перед чтением данных ключа SetRegView 64

    Всего записей: 4922 | Зарегистр. 21-04-2005 | Отправлено: 12:30 19-03-2023
    user_2025

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    Команда SetRegView 64 может применяться только в секции или функции.
     
    Ответ на свой вопрос я нашел на сайте OSzone.net.

    Код:
    Name "RegReadTest"
    Unicode true
    RequestExecutionLevel admin
    SetOverwrite on
    SetCompressor  LZMA
    OutFile "RegReadTest.exe"
     
    page directory  
    page instfiles
     
    Function .onInit
    SetRegView 64
    Push $0
    ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver" "InstallLocation"
    IfErrors 0 +3
    MessageBox MB_OK "Программа ХХХ не установлена!"
    Quit
    StrCpy $INSTDIR $0
    Pop $0
    FunctionEnd
     
    Section
    MessageBox MB_OK "Установка в папку:$\n $INSTDIR"
    SectionEnd

    Всего записей: 7 | Зарегистр. 08-02-2023 | Отправлено: 12:52 19-03-2023
    MKN



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

    Цитата:
    Команда SetRegView 64 .  

    Именно про это я тебе и сказал. Точно то же в примере с oszone.
    Ключевое - SetRegView 64

    Всего записей: 4922 | Зарегистр. 21-04-2005 | Отправлено: 13:23 19-03-2023 | Исправлено: MKN, 13:27 19-03-2023
    user_2025

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    SetRegView 64 в примере с oszone действительно присутствует. Да вот только способ получения данных из раздела реестра, в примере предложен совершенно иной.
    Та же команда, что ты  предлагаешь для 64-разрядных систем, а именно - "добавь перед чтением данных ключа SetRegView 64":

    Код:
    SetRegView 64
    InstallDirRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TEST" InstallLocation

    полностью нерабочая. Если ошибся, так прямо и скажи, а "крутить" тут не нужно.

    Всего записей: 7 | Зарегистр. 08-02-2023 | Отправлено: 09:47 22-03-2023
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    user_2025
     Ты спрашивал про чтение в реестре x64, тебе сказано - перед командой чтения пути ReadRegStr,  
    и устанавливается SetRegView 64 .  
    Твои слова :

    Цитата:
    как заставить установщик правильно читать в реестре

    Мои слова :

    Цитата:
    добавь перед чтением данных ключа SetRegView 64  

    Но ты видно не так понял...  

    Цитата:
    Если ошибся, так прямо и скажи, а "крутить" тут не нужно.  

    Крутишь ты, ещё и возмущаешься...  

    Всего записей: 4922 | Зарегистр. 21-04-2005 | Отправлено: 09:17 23-03-2023 | Исправлено: MKN, 09:23 23-03-2023
    heloy2010

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто подскажет команду в сценарий для запуска инсталлятора программы только на Windows 11, с запретом его запуска на Windows 10 и предыдущих ОС?

    Всего записей: 244 | Зарегистр. 17-05-2019 | Отправлено: 13:03 30-12-2023 | Исправлено: heloy2010, 16:22 30-12-2023
    iglezz

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

    Код:
    RequestExecutionLevel user
    ManifestDPIAware System
    ManifestDPIAwareness "PerMonitorV2,System"
     
    !include WinVer.nsh
     
    Section
    SectionEnd
     
    Function .OnInit
      ${IfNot} ${AtLeastBuild} 22000
        MessageBox MB_OK|MB_ICONSTOP "This App is for Windows 11 ONLY!!!"
        Quit
      ${EndIf}
    FunctionEnd

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 18:28 30-12-2023
    heloy2010

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iglezz
    Большое спасибо, с Наступающим!

    Всего записей: 244 | Зарегистр. 17-05-2019 | Отправлено: 19:24 30-12-2023
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                  Специфическая ситуация возникла.
     
       Есть такое: https://mega.nz/file/JahzFDRa#H22JD-845WJtmf_v-vqwD8GVn03JENzS7bBT34lY4Po
       Этот 'лаунчер' запускает 'cmd.exe'. Но в запущенном таким образом 'cmd.exe' возникает ограничение на длину строки в 1024 bytes. Мне сказали, что это объясняется тем, что в 'Console-Launcher.exe' используется NSIS установщик с таким ограничением.
     
       Есть такое:
       https://nsis.sourceforge.io/Special_Builds
       https://nsis-dev.github.io/NSIS-Forums/html/t-294818.html
     
       Вопрос: можно ли как-то переделать 'Console-Launcher.exe' используя эти инструменты и рекомендации, чтобы в нём использовался 'large strings'?

    Всего записей: 2200 | Зарегистр. 09-01-2010 | Отправлено: 17:19 08-01-2024
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Прошу не кидаться тапками, но с наскока даже не соображу в какую сторону копаться...
    В общем, стандартная морда выглядит вот так
    https://i.imgur.com/nYUA0FI.png
    А мне нужно вот так (дорисовал в пэйнте)
    https://i.imgur.com/KJjDicE.png
    Есть мысли, что подкрутить/дописать в моём .nsi файлике?

    Всего записей: 15770 | Зарегистр. 04-11-2010 | Отправлено: 21:21 20-02-2024
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
     
    nsis-*-strlen_8192.zip - с таким можно.
     
    insorg
     
    Не очень понял что ты хочешь? Надо глянуть твой скрипт и формулировку задачи. А то я с ходу не смог понять различия картинок.

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

    Всего записей: 33133 | Зарегистр. 31-07-2002 | Отправлено: 23:04 20-02-2024
    DimmY



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg
    Не оно? (Навскидку от фонаря)

    Цитата:
    MUI_UI_COMPONENTSPAGE_NODESC ui_file
    The interface files with a customized dialog resource IDD_SELCOM without a description area.
    Default: ${NSISDIR}\Contrib\UIs\modern_nodesc.exe
     


    Всего записей: 4686 | Зарегистр. 22-04-2002 | Отправлено: 23:44 20-02-2024
    insorg



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

    Цитата:
    А то я с ходу не смог понять различия картинок

    В стандартной морде есть справа поле коммента. Оно мне не нужно. Зато средний блок с деревом слишком узкий, вот я хочу его размер увеличить за счёт выкидывания коммента.
     
    Добавлено:
    DimmY
    Это куда? Добавлять в мой .nsi, или править что-то из комплекта ресурсов в самом NSIS?

    Всего записей: 15770 | Зарегистр. 04-11-2010 | Отправлено: 23:51 20-02-2024
    Открыть новую тему     Написать ответ в эту тему

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