Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :.

Закрытая тема
Настройки темы
[архив].: NSIS - все вопросы :.

Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: volk1234
Дата: 09-12-2012
Описание: перевод темы в архив.
Тема закрыта!
Лимит страниц.
Продолжение тут:
.: NSIS - все вопросы :. часть 2.
Старая шапка:
читать дальше »

Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения.

Описание:
читать дальше »
NSIS (Nullsoft Scriptable Install System) - профессиональная система для создания инсталляторов в среде Windows с октрытым исходным кодом. При своем малом размере система очень гибкая, и при с широкими возможностями. Генерируемый ею инсталлятор также имеет очень маленький размер и идеально подходит для распространения продукта через Интернет.


Текущая версия: 2.46 от 6 декабря 2009 года
Скачать | Архив сборок версии 2 | Архив сборок версии 1

ВНИМАНИЕ! Созданный в NSIS инсталлятор является ANSI-приложением. Есть возможность использовать UNICODE-сборку системы, но при этом ваши дистрибутивы не будут работать в ANSI-системах, таких, как Windows 9x. Для загрузки UNICODE-сборки системы посетите сайт: http://www.scratchpaper.com/

ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов:
Справочник по NSIS - создан силами нашего сообщества.
Руководство пользователя. Перевод – Поляков А.В, зеркало

Документация

Утилиты разработчика
Расширение функциональности
читать дальше »

Плагины и полезности к NSIS: http://nsis.sourceforge.net/Category:Plugins

Интерфейс Venis GUI: http://www.spaceblue.com/products/venis
Интерфейс ExperienceUI GUI http://experienceui.xx0r.info/oldeng...erienceui/home
Пример:


Интерфейс SkinCrafter Plugin - http://www.skincrafter.com/
Пример:

Инструкция по использованию от K.A.V.

Примеры скриптов на нашем форуме
Скрипт NSIS для перепаковки AIMP2+Сборки
Тема для Notepad++(пример парсинга XML)

Достоинства
читать дальше »


◦ Очень маленький размер установочного блока (около 34 Кбайт)
◦ zlib, bzip2 и LZMA-сжатие
◦ Гибкая система скриптов (спецально разработанная для инсталляторов)
◦ Поддержка многоязычности, точнее 53 языка, есть возможность ввода нового языка
◦ Поддержка плагинов
◦ Скрипт Препроцессор
◦ Создание Web-инсталляторов

Ещё немного полезной информации:
читать дальше »

▫ История создания установщика

NSIS создан как альтернатива InstallShield, предназначенного для коммерческих продуктов.

NSIS был создан для распространения Winamp. Он базируется на предыдущем продукте Nullsoft — PiMP (plugin Mini Packager), иначе известным как SuperPiMP. После версии 2.0a0, проект был перемещён на SourceForge.net, где к работе над ним присоединились и сторонние разработчики. NSIS 2.0 был выпущен в свет 2 года спустя.

NSIS версии 1 был очень похож на классический Windows Installer, но он был более управлемым с помощью скриптов и поддерживал другие форматы сжатия. NSIS версии 2 поддерживает новый графический интерфейс пользователя, LZMA-сжатие, многоязычность и имеет хорошую систему плагинов.

Версия 2.01 была первой версией, поддерживающей компиляцию на любой из POSIX-платформ. Это позволило создавать Windows-инсталляторы на GNU/Linux и FreeBSD без использования эмулятора Wine. На данный момент поддерживается компиляция только для Windows.

▫ Описание

Компилятор NSIS — программа makensis — компилирует скрипты в исполняемый код. Каждая строчка скрипта содержит одну команду. Пример:
Код: Выделить весь код
 # Пример скрипта
 Name "Example1"
 OutFile "example1.exe"
 InstallDir "$PROGRAMFILES\Example1"
 Page Directory
 Page InstFiles
 Section
   SetOutPath $INSTDIR
   File ..\makensis.exe
 SectionEnd

Modern User Interface

В версии 2.0 был введён новый графический интерфейс пользователя, названный Modern UI (MUI). MUI очень похож на интерфейс мастеров, он поддерживает splash screen, выбора языка, выбор компонентов для установки и более широкие возможности настройки по сравнению со своим предшественником. Пример:
Код: Выделить весь код
 # Пример скрипта с Modern UI
 !include MUI.nsh
 Name "Example 2"
 OutFile Example2.exe
 !insertmacro MUI_PAGE_WELCOME
 !insertmacro MUI_PAGE_LICENSE "license.rtf"
 !insertmacro MUI_PAGE_DIRECTORY
 !insertmacro MUI_PAGE_COMPONENTS
 !insertmacro MUI_PAGE_INSTFILES
 !insertmacro MUI_PAGE_FINISH
 !insertmacro MUI_LANGUAGE "English"
 !insertmacro MUI_LANGUAGE "German"
 !insertmacro MUI_LANGUAGE "French"
 Section "Extract makensis"
  SetOutPath $INSTDIR
  File ..\makensis.exe
 SectionEnd
NSIS может быть расширен при помощи плагинов, которые могут быть написаны на C++, Си, и Delphi. Плагины могут быть использованы для улучшения функциональности и интерфейса инсталлятора. Плагины могут быть вызваны в любой части кода NSIS скрипта.

С пакетом NSIS поставляются несколько плагинов, позволяющих добавлять новые страницы, заменять фоновые изображения, скачивать файлы из Интернета, выполнять математические вычисления, обновлять файлы и многое другое.

▫ Программы, использующие NSIS


◦ Антивирус Касперского
◦ Qip
◦ 3DNA Desktop
◦ 7-Zip
◦ ATI Display Driver
◦ CDex
◦ Dev-C++
◦ DivX
◦ eMule FileZilla
◦ Google Picasa
◦ Google Talk
◦ Intel C (компилятор)
◦ IrfanView
◦ LightAllow
◦ LyX
◦ Miranda IM Mozilla Firefox 2.0
◦ NASA World Wind
◦ Notepad++
◦ OpenOffice.org для Windows
◦ Pidgin
◦ VLC Player
◦ Winamp

● Чем я могу распаковать инсталлятор, созданный в NSIS?

В настоящее время инсталляторы NSIS не могут быть полностью декомпилированы. Сам инсталлятор не содержит в себе никаких функций для того, чтобы извлечь сценарий и/или файлы без инсталляции. Это - выбор разработчика, доступны ли исходный текст и/или файлы для инсталлятора для публики или нет. Есть, однако, внешние инструментальные средства, которые позволяют это сделать. 7-zip поддерживает частичную распаковку NSIS инсталляторов с алгоритмом сжатия lzma или bzip. Так же существует мульти-архивный плагин для TotalCommander.
Небольшая заметка для разработчиков: используйте DCryptDll, если хотите скрыть некоторые файлы в вашей инсталляции.


===========
тема прикрепляется, шапка будет дорабатыватся... Volk1234, hb860

Отправлено: 23:35, 17-06-2006

 

Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


kotkovets, проще надо быть, проще!
Чёй то вы там понаписали?
Во:
Код: Выделить весь код
ExecShell "open" "http://www.winreview.ru"

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8


Отправлено: 18:12, 22-08-2010 | #631



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


Ах да да!!!
как раз был открыт Справочник по командам Windows

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Отправлено: 19:10, 22-08-2010 | #632


Аватара для boss911

Alien


Сообщения: 4262
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Есть исходник NSIS, в скрипте которого я мало чего понимаю. Если скомпилить скрипт, то в компонентах увидим чекбокс 'Mozilla plugin'. Скажите, плиз, есть ли в инсталляторе проверка на то, установлена ли в системе Мозила? Я подозреваю, что она должна быть, то есть, если Мозила установлена, то галка на чекбоксе установлена, если нет, то и галка снята. Если такая проверка есть, подскажите, на какой маркер он ссылается, узнает, установлена ли Мозила или нет. Или нет там такой проверки?

Отправлено: 23:27, 23-08-2010 | #633


Аватара для Комсомолец

Ветеран


Автор проектов


Сообщения: 1558
Благодарности: 228

Профиль | Сайт | Отправить PM | Цитировать


boss911, скрипт в студию.

-------
Для того, чтобы узнать, что такое рекурсия - необходимо узнать, что такое рекурсия. :)

http://forum.oszone.net/image.php?type=sigpic&userid=69953&dateline=1440353086


Отправлено: 15:22, 24-08-2010 | #634


Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


boss911,
Скрипт весь в макросах.......ужас.Сложновато чытаты
Цитата boss911:
Скажите, плиз, есть ли в инсталляторе проверка на то, установлена ли в системе Мозила? »
при инсталляции похоже нету......
Код: Выделить весь код
!ifdef INSTALL_MOZILLA
Section /o  $Name_Section03 SEC03
  SectionIn 3

  SetOutPath "$INSTDIR"
  !insertmacro OpenUninstallLog
  !insertmacro InstallFile mozilla\npvlc.dll
  !insertmacro InstallFile mozilla\npvlc.dll.manifest
  !insertmacro CloseUninstallLog

!define Moz "SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}"
  WriteRegStr HKLM ${Moz} "Description" "VLC Multimedia Plugin"
  WriteRegStr HKLM ${Moz} "Path" "$INSTDIR\npvlc.dll"
  WriteRegStr HKLM ${Moz} "Product" "VLC media player"
  WriteRegStr HKLM ${Moz} "Vendor" "VideoLAN"
  WriteRegStr HKLM ${Moz} "Version" "${VERSION}"
SectionEnd
!endif
У этой секции всегда снята галочка
а вот при деинсталяции чета есть:
Код: Выделить весь код
    ; Check for Key 
    EnumRegKey $R0 HKLM "SOFTWARE\Mozilla" "$R1"
    StrCmp $R0 "" "${Index}-End"
    IntOp $R1 $R1 + 1
    ReadRegStr $R2 HKLM "SOFTWARE\Mozilla\$R0\Extensions" "Plugins"
    StrCmp $R2 "" "${Index}-Loop" ""

    ; old files (0.8.5 and before) that may be lying around
    Delete /REBOOTOK "$R2\npvlc.dll"
    Delete /REBOOTOK "$R2\libvlc.dll"
    Delete /REBOOTOK "$R2\vlcintf.xpt"
    Goto "${Index}-Loop"
EnumRegKey - перебирает ключи реестра в ветке HKLM "SOFTWARE\Mozilla"
Проверяет, какая версия, Mozilla
ReadRegStr $R2 HKLM "SOFTWARE\Mozilla\$R0\Extensions" "Plugins"
Читает путь, к плагинами Mozilla

Последний раз редактировалось kotkovets, 25-08-2010 в 00:55.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:43, 25-08-2010 | #635


Аватара для boss911

Alien


Сообщения: 4262
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата kotkovets:
при инсталляции похоже нету...... »
Спасибо, я так и подозревал.

Дело в том, что я пишу скрипт для Inno, там хочу сделать проверку установки Мозилы в системе, но я не знаю, где в системе найти подходящий маркер, что она действительно установлена. Думал, что нечто подобное реализовано в скрипте NSIS для VLC. А вот это:
Цитата kotkovets:
EnumRegKey - перебирает ключи реестра в ветке HKLM "SOFTWARE\Mozilla"
Проверяет, какая версия, Mozilla »
не решает мою задачу. Для эксперимента, я у друга взял папку с установленной Мозилой и запустил ее у себя, так в "HKLM, SOFTWARE\Mozilla" ничего не записалось. Так что, это плохой маркер для обнаружения установленной Мозиоы, так как его там может просто не существовать. Буду искать что-то другое, более надежнее.

Отправлено: 01:49, 25-08-2010 | #636


Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


boss911
При инсталяции Mozilla ветка "HKLM, SOFTWARE\Mozilla" создается, тока проверил.
там же и версия и путь к Mozilla
А за скрипт спасибо! будет на чем тренироваться

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Отправлено: 02:15, 25-08-2010 | #637


Аватара для boss911

Alien


Сообщения: 4262
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата kotkovets:
При инсталяции Mozilla ветка "HKLM, SOFTWARE\Mozilla" создается, тока проверил. »
Цитата boss911:
Для эксперимента, я у друга взял папку с установленной Мозилой и запустил ее у себя, так в "HKLM, SOFTWARE\Mozilla" ничего не записалось. »
То есть, запись создает инсталлятор Мозилы, но не она сама. Кто-то возьмет себе портабл версию Мозилы, как я, и записи "HKLM, SOFTWARE\Mozilla" не будет, то есть, этот маркер обнаружения Мозилы в системе не надежный, вот об этом я и говорю. Ладно, то такое, поищу что-то другое, а если не найду, то и фиг с ним. То, что я хотел узнать из этого скрипта, я уже узнал благодаря вам, спасибо еще раз.

Отправлено: 04:57, 25-08-2010 | #638


Пользователь


Сообщения: 51
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте, я этом деле я новичок, поэтому не прошу сильно судить, будут несколько вопросов к вам и рассчитываю на вашу помощь.
Занялся сборкой установщика и возникло несколько вопросов:
1. На приветствии установщика я использовал и имя, и версию, но почему-то версия скосилась и ее практически не видно... Удлинять имя не стал и не буду, так как нужно, чтобы именно с таким именем и было.
Вот, собственно, сам скриншот: http://rghost.ru/2442700.view
Кто знает как исправить и чтобы все нормально было видно?
2. Имеются 2 секции в одной группе, но нужно сделать так, чтобы при выборе одной секции невозможно было выбрать одновременно другую (блокировалось), так же и наобороот. Может кто знает код или переменную?
3. В компонентах устанавливаемой программы имеется иконка (справа). Так вот как ее сменить, чтобы она отличалась от иконки окна установщика (заголовок) и какой максимальный размер можно при этом употребить?
Вот, собственно, сам скриншот: http://rghost.ru/2442761.view
4. Кто знает как делать предустановочную анимацию? Например, запустил установщик и сначала вылезло небольшое видео, а потом открылось само окно установщика.

Отправлено: 23:26, 25-08-2010 | #639


Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


Цитата asetin_9207:
но почему-то версия скосилась и ее практически не видно »
почитайте ранние посты там уже это было
Цитата asetin_9207:
чтобы при выборе одной секции невозможно было выбрать одновременно другую »
читать дальше »

Код: Выделить весь код
Name "One Section"
OutFile "one-section.exe"
RequestExecutionLevel user
Page components

Section "Group 1 - Option 1" g1o1
SectionEnd

Section /o "Group 1 - Option 2" g1o2
SectionEnd

Function .onInit
  StrCpy $1 ${g1o1} ; Group 1 - Option 1 is selected by default
FunctionEnd

Function .onSelChange

  !insertmacro StartRadioButtons $1
    !insertmacro RadioButton ${g1o1}
    !insertmacro RadioButton ${g1o2}
  !insertmacro EndRadioButtons

FunctionEnd

Цитата asetin_9207:
Кто знает как делать предустановочную анимацию? »
http://nsis.sourceforge.net/AnimGif_plug-in
Цитата asetin_9207:
В компонентах устанавливаемой программы имеется иконка (справа). Так вот как ее сменить, чтобы она отличалась от иконки окна установщика (заголовок) и какой максимальный размер можно при этом употребить? »
читать дальше »

Код: Выделить весь код
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "Мой рисунок.bmp"
Если нужно справа, то добавляем:
Код: Выделить весь код
!define MUI_HEADERIMAGE_RIGHT
Размер картинки: 150x57

Почитайте
Справочник по NSIS

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Последний раз редактировалось kotkovets, 26-08-2010 в 04:00.


Отправлено: 00:11, 26-08-2010 | #640



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. ssaram Программное обеспечение Windows 406 12-02-2022 19:45
WinstyleMonitor .:[все вопросы]:. Mr dUSHA Проект WinStyle 331 12-02-2014 13:15
Delphi - Delphi .: [все вопросы] :. Serega Программирование и базы данных 94 04-05-2013 18:45
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. Microsoft Windows 2000/XP 105 30-06-2010 11:58
Вопросы по создателю инсталляций NSIS MaxDELETE Программное обеспечение Windows 14 04-07-2007 10:01




 
Переход