PDA

Показать полную графическую версию : [архив].: NSIS - все вопросы :.


Страниц : [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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

kotkovets
17-06-2006, 23:35
Тема закрыта!
Лимит страниц.
Продолжение тут:
.: NSIS - все вопросы :. часть 2. (http://forum.oszone.net/thread-248731.html)
Старая шапка:

Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. (http://nsis.sourceforge.net/Main_Page)

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

Текущая версия: 2.46 от 6 декабря 2009 года
Скачать (http://sourceforge.net/projects/nsis/) | Архив сборок версии 2 (http://sourceforge.net/project/showfiles.php?group_id=22049&package_id=15374) | Архив сборок версии 1 (http://www.nullsoft.com/free/nsis/version-history.html)

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

ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов:
Справочник по NSIS (http://forum.oszone.net/thread-168287.html) - создан силами нашего сообщества.
Руководство пользователя. Перевод – Поляков А.В (http://av-mag.ru/doc/nsis.htm), зеркало (http://narod.ru/disk/59143699001.72552567f2afcfa8b6cd7323d2739cf8/NSIS_%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0% B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F.zip.html)

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

Официальное руководство (http://nsis.sourceforge.net/Docs)
Статья: создаем инсталлятор под Windows в NSIS (http://www.markelov.net/articles.php?lng=ru&pg=39)
Статья: Инсталляция by NSIS (http://www.compdoc.ru/bd/other/nsis/)
Примеры от K.A.V.
Кликабельный BrandingText (http://forum.oszone.net/post-1331929-364.html)
Картинки-превьюшки для радиокнопок (http://forum.oszone.net/post-1343128-395.html)

Утилиты разработчика
HM NIS EDIT - лучший редактор сценариев для NSIS с открытым исходным кодом (http://hmne.sourceforge.net/)
Reg2Nsis конвертор reg файлов в скрипт NSIS (http://nsis.sourceforge.net/Reg2Nsis_-_convert_registry_info_into_NSIS_commands)
ISS2NSI - конвертор скриптов Inno Setup в скрипты NSIS (http://prdownloads.sourceforge.net/hmne/iss2nsi10a1.zip?download)
Плагин для IDE Eclipse EclipseNSIS (http://nsis.sourceforge.net/EclipseNSIS_-_NSIS_plugin_for_EclipseEclipseNSIS). Сам Eclipse здесь: http://www.eclipse.org/
Mihov NSIS Helper - маленькая и простая утилита для визуального создания скриптов NSIS. (http://www.psenica.com/nsis/)

Расширение функциональности

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

Интерфейс Venis GUI: http://www.spaceblue.com/products/venis
Интерфейс ExperienceUI GUI http://experienceui.xx0r.info/oldengine.php/experienceui/home
Пример:
http://pic.ipicture.ru/uploads/091125/23111/3G4gA1e3q5.png (http://ipicture.ru/)

Интерфейс SkinCrafter Plugin - http://www.skincrafter.com/
Пример:
http://www.skincrafter.com/img/tour/skin1.png
Инструкция по использованию (http://forum.oszone.net/post-1317606-267.html) от K.A.V. (http://forum.oszone.net/member.php?userid=60480)

Примеры скриптов на нашем форуме
Скрипт NSIS для перепаковки AIMP2+Сборки (http://forum.oszone.net/thread-101182.html)
Тема для Notepad++(пример парсинга XML) (http://forum.oszone.net/post-933509.html)

Достоинства

◦ Очень маленький размер установочного блока (около 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 поставляются несколько плагинов, позволяющих добавлять новые страницы, заменять фоновые изображения, скачивать файлы из Интернета, выполнять математические вычисления, обновлять файлы и многое другое.


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

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

boss911
18-06-2006, 01:33
desperate
Извиняюсь, а чем Inno не устраивает?

desperate
18-06-2006, 01:38
boss911
ответ прост - Inno я вообще в глаза не видел(саму прогу для сборки инсталяторов)

boss911
18-06-2006, 02:05
desperate

Компилятор - Inno Setup (http://www.jrsoftware.org/isinfo.php) + русификатор (http://www.msilab.net/show.php?rus=165)
Дополнительная программа для удобного редактирования скрипта Inno - ISTool (http://www.istool.org)

desperate
18-06-2006, 14:42
boss911
Inno Setup убился после установки руссификатора на него.... где можно взять русский help???

boss911
18-06-2006, 16:07
desperate

Убился наверное потому, что русик и версия Inno не соответствуют версиям файла!!
Русский хелп тут (http://sabbathblacklab.narod.ru/rus2/is5hlp.rar)!
Если мы обсуждаем Inno , то может и переберемся в похожую по смыслу тему (http://forum.oszone.net/showthread.php?t=60604&highlight=Inno) !!

desperate
20-06-2006, 09:31
boss911
мне все же хотелось бы узнать про NSIS больше

kirillkr
20-06-2006, 09:48
desperate
Я могу помочь. Было бы чем. Поставь задачу себе, а я тебе помогу ее выполнить.
Надо решить для себя какой режим инсталятора использовать. В данном случае лучше конечно использовать стандартный а не MUI-интерфейс, экономия нескольких килобайт.

desperate
20-06-2006, 10:58
kirillkr
у меня есть задача... ПРЕПАКОВАТЬ ВИНАМП, сделать его, как говориться под себя, добавить руссификатор сразу и по умолчанию, и чтобы при установке была ассоциация с файлами. Да и вообще, а его примере разобраться как работать с NSIS

vek
20-06-2006, 13:15
desperate
А почему именно NSIS? Если особых навыков нет можно начать с какого нибудь простенького инсталятора, например VSIC (http://www.vsic-online.com/eng/index.htm) -для русских бесплатно. Делов-то 5 сек. Добавить в проект папку с файлами и рег файлик. Тихо ставится с ключом /s.

desperate
20-06-2006, 18:26
vek
делов то, а как ты предлагаешь с него винамп ставить???

boss911
20-06-2006, 18:28
desperate

А почему именно NSIS? Если особых навыков нет можно начать с какого нибудь простенького инсталятора
Обсолютно согласен, так как я тебе порекомендовал Inno , а он намного проще в создании инсталяторов и возможностей не как не меньше чем у NSIS !!
Чем он мне ненравитса, так ето его скриптовый язык (для меня сложно и не понятно) , да из nsis'а (инсталятора) невозможно вытащить скрипт для последующиго его редактирования под свои нужды и он не очень гибок с ключами для автоустановок, нельзя указать тот или инной компонент, задачу и ярлыки, которые ты хочеш\нехочеш ставить!! Начни сперва с чего-то простого (прадва Inno я не считаю уж таким простым, если не вникать в паскаль), а потом глядиш и научишся создавать свои msi'ашки!! :)

desperate
20-06-2006, 18:38
boss911
спасибо за совет Pascal, я знаю с 7 класса... все - таки меня интересует NSIS и где взять скрипт, с помощью которого собирался инсталятор winampa (интересует меня именно то, что откуда и куда добавляеться, прописываеться и инсталируеться)

boss911
20-06-2006, 18:59
desperate
спасибо за совет Pascal, я знаю с 7 класса...
Ну тогда ты много теряеш, что нехочеш использовать Inno , если ты знаеш паскаль, то ты такие чудеса сможеш творить с Inno , что NSIS будет долго отдыхать!! К сожалению я паскаль не знаю, но видел обалденные инсталяторы с кодом паскаль в сркипте!!
и где взять скрипт, с помощью которого собирался инсталятор winampa
Негде, кроме как самому написать, вот если бы он был упакован Inno , то тогда можно было бы без проблем вытащить скрипт из инсталятора и собрать все по новому, вот в чем изюминка Inno и не только!!

vampik
20-06-2006, 22:05
то тогда можно было бы без проблем вытащить скрипт из инсталятора и собрать все по новому, вот в чем изюминка Inno

Просто для Inno кто-то не поленился создать нормальный анпакер, а для NSIS код можно получить только частично.
Для тех, кто знает Паскаль, лучше пользоваться Inno.
Я вот Паскаль не перевариваю, поэтому использую NSIS, если каких-либо возможностей в нем не хватает - можно за 5 минут написать плагин на C++ - не намного сложнее, чем написать код на Паскаль для Inno.

desperate
20-06-2006, 22:10
vampik

за 5 минут написать плагин на C++

можно на этом по подробнее, т.к. С и С++ это мой профиль, то с чем я сталкиваюсь ежедневно... а вот файлик скрипта для винампа не помешал бы все равно.

vampik
20-06-2006, 22:22
Вот примеры моих простеньких плагинов, которые мне понадобились при создании некоторых инсталляшек, с исходниками (под VS 2003) -
http://vampik.net.ru/files/time.7z
http://vampik.net.ru/files/proc.7z
http://vampik.net.ru/files/cpu.7z

И таких при необходимости можно настрочить десятками.

В принципе, отдельные функции из библиотек можно вызывать и стандартными средствами, часто используемый пример -

System::Call 'shell32::SHChangeNotify(i 0x08000000, i 0, i 0, i 0) v' (для обновления значков после смены ассоциаций)

A LogicLib.nsh позволяет писать NSIS-скрипты с использованием конструкций типа if...else, switch...case...endswitch, select...case...endselect, операторов do, while, for.

Скрипт для Winamp у меня для себя есть, но пока очень простой - только установка всех файлов, кроме Winamp Agent, запись данных в реестр, подхватывание серийника из ini-файла и ярлыки в меню "Пуск". Никаких ассоциаций файлов, параметров и т.п.

desperate
20-06-2006, 22:38
vampik
спасибо за идею...буду браться и клепать на С++ плагины для NSIS... потому что с самим инсталятором, чую никто не поможет

vek
21-06-2006, 09:06
desperate
делов то, а как ты предлагаешь с него винамп ставить???
Вопрос немного не понял. А в чем там сложность? Просто я винамп вообще не использую.

kirillkr
21-06-2006, 10:15
desperate
А смысл перепаковать. Вообще хороший скрипт идет с самим NSIS'ом.
Если бы знать, что делает WinAmp при установке, то и скрипт можно с нуля написать, но я им не пользуюсь.




© OSzone.net 2001-2012