Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Інсталяція by NSIS

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Здесь ми спочатку задаємо директорію у якому будуть записано майже усі файли объявленые після неї (команда SetOutDir). Тепер у цієї директорії можна звертатися через зміну $OUTDIR. Далі — віддаємо наказ на копіювання в інсталяційний пакет всіх файлів що у директорії D: ProjectsDelphiProjectsFirebirdbin (зверніть увагу, що систему допускає використання символів wildcards, значно зменшує код і… Читати ще >

Інсталяція by NSIS (реферат, курсова, диплом, контрольна)

Инсталляция by NSIS

Михаил Продан, «Комиздат «.

Рано чи пізно будь-який програміст з проблемою створення дистрибутивів свого дітища. Спеціально для іноземних розв’язання проблеми у світі (й у Інтернеті у частковості) існує низка програм призначених на вирішення цієї проблеми. Сьогодні піде, про один представника програм сімейства инсталляторов — NSIS.

Инсталляторы — навіщо вони нужны

Давно пройшли часи, коли до роботи з програмою треба було лише переписати їх у зручний вам каталог і запустити. У цьому не вимагалося ніякої додаткової настройки системи і всі працювало як треба чинити. Сьогодні ж обсяги програм розрослися до неймовірних (на той час) мірок, а використання нових технологій призвела до того, що одне програма розбита на безліч модулів, що найчастіше розкидані з усього диску, а відсутність однієї з них неодмінно призводить до неправильного чи повного припинення функціонування програми.

Именно у тому, щоб правильно налаштувати систему і «розкидати» все файли в потрібні каталоги, комп’ютерне суспільство винайшло программы-инсталляторы.

Nullsoft Scriptable Install System

Или просто NSIS — одну з найкращих представників программ-инсталяторов. Не оскільки він створений всесвітньо відомій групою Nullsoft (творець WinAMP). А насамперед оскільки він — простий використання, швидкий, багатофункціональний і безплатний інсталятор. Можливо цією властивістю має чимало NSIS, приміром улюбленка всіх Microsoft теж зробила внесок у розвиток безплатних інсталяційних пакетів виставивши на SourceForge.net исходники свого інсталятора Windows Installer XML (WiX), але тут можна сказати, що це пакет в обов’язковому порядку вимагає наявності за комп’ютером .NETy Framework яким мають в повному обсязі програмісти (зокрема і це). Ще одне зауваження, що можна віднести як до плюсів і до мінусів цієї програми це використання кронштейна як базового формату програми формату XML. Щоб все мене зрозуміли наведу приклад описи інсталяції програми описаний на мові WiX:

.

При використанні ж пакета NSIS приблизно те опис матиме такий вигляд:

.

И у своїй після компіляції схеми NSIS ми маємо вже готовий модуль виконання, а під час використання WiX — лише об'єктний файл що потім треба вкотре обробити вже іншим додатком.

Теоретические основы

Итак після невеликого вступного слова час торкнутися вивченню основ NSIS. І тому нам знадобиться сам пакет NSIS 2.0. І невеличка програмка, що її будемо інсталювати. Я приміром взяв систему складського обліку для місць роздрібної торгівлі, яка до роботи використовує СУБД Firebird як сховища даних. Для ясності відзначу, що вона використовує механізм dbExpress для доступу до СУБД, і з цього крім самого Firebird-a вимагає наявності у директорії C: WindowsSystem файлів midas. dll і dbexpint.dll. Природно за комп’ютером простого користувача навряд чи знайдуться файли (коли, звісно не встановлював якісь програми вітчизняних виробників), та його природно необхідно включити у створюваний дистрибютив.

Сам інсталяційний пакет створюється з урахуванням файла описи процесу інсталяції який має структуру показану на мал.1.

.

В Головною секції цього файла записуються установки, що є незмінними протягом усього інсталяції. Тут з’являються:

Название проекту

Инсталляционная директорія за умовчанням.

Картинка, яка висіти з вікна інсталяції.

Общий вигляд і поведінка вікна інсталяції.

Настройки показу ліцензійних угод та інших.

Секция сторінок відпо-відає список етапів які відображатись у процесі інсталяції і деинсталяции докладання. Список цих сторінок задається відповідно командами Page і UninstPage. З іншого боку є можливість розширеного контролю над відображенням сторінок із використанням команд PageEx і PageCallback.

Секция мов відпо-відає оголошення мов яких буде проводиться інсталяція, тут можлива або ручна настроювання необхідних мов, або автоматичний добір мови інтерфейсу із усіх включених в окремий пакет мов.

Инсталляционная секція — це головне секція пакета. Тут описуються всіх можливих варіанти інсталяції, оголошення файлів, команди до створення директорій і ключів реєстру та інші різноманітні настройки. При оголошенні секцій інсталяції використовуються ключове слово Section і SectionEnd між які й розташовуються й інші команди. Природно що у різних секціях повинні розташовуватися різні, щодо незалежні, компоненти (у нашій прикладі це власне програму і СУБД Firebird). З цих даних інсталятор дасть можливість користувачеві вибрати, які саме компоненти треба установить (см. мал.2).

.

Кроме того можливість оголошення вкладених підсекцій, які вестимуть себе на подобі складових об'єктів (приміром встановити лише програму, а допомогу не встановлювати тощо.).

Раздел описів. У розділі подаються описи всіх встановлюваних модулів, які з’являтися у діалозі вибору компонентів інсталяції (див. мал.2). Тут у частковості є можливість написання різних заголовків до різних мов, до різних секцій і різноманітних підсекцій.

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

Практика

Для отримання й закріплення практичних навичок ми скористаємося будь-яким простим текстовим редактором який вставляє різних символів форматування в текст.

Исходный файл

В цьому редакторі ми створимо файл «APM.nsi «у якому докладно викладемо весь процес інсталяції від початку остаточно.

Сперва запишемо назва нашого пакета і навіть файл куди будуть записані наша програму і супутні їй документи. Тут ми поставимо інсталяційну директорію яка запропонована за умовчанням, метод стискування, яким буде оброблений файл, і навіть уставимо макроси котрі задають вид сторінок по вмовчанням:

.

В розділ мов ми уставимо макрос на підтримку російської:

.

Кроме російського, українського, англійської пакет NSIS підтримує ще 37 мов далекого і близького зарубіжжя що входять у базову постачання та не вимагають додаткових витрат за скачування його з Інтернету.

В інсталяційної секції ми оголосимо дві підсекції, котрі відповідатимуть відповідно за установку головною програми розвитку й СУБД, і навіть додаткових модулів:

.

Здесь ми спочатку задаємо директорію у якому будуть записано майже усі файли объявленые після неї (команда SetOutDir). Тепер у цієї директорії можна звертатися через зміну $OUTDIR. Далі - віддаємо наказ на копіювання в інсталяційний пакет всіх файлів що у директорії D: ProjectsDelphiProjectsFirebirdbin (зверніть увагу, що систему допускає використання символів wildcards, значно зменшує код і видається наочно). Наступна рядок записує в директорію програму для деинсталяции докладання. Потім ми використовуємо команду WriteRegStr для створення розділу нашої програми в системному реєстрі.

В наступній підсекції ми також встановлюємо директорію на якому буде проводиться запис додатковий програм. Далі вибираємо файли midas. dll і dbexpint. dll і поміщаємо в пакет (при інсталяції з’являться в директорії нашої програми). Після цього ми записуємо СУБД Firebird і за командою ExecWait запускаємо її й чекаємо його закінчення. Наприкінці секції ми видаляємо файл з СУБД з директрии нашої програми.

В розділ описів ми помістимо два простих рядки, які коротко характеризировать наші компоненти:

.

В результаті ми матимемо текст зображений на див. мал.3,4. Як очевидно з тексту для присвоєння цих описів нашим секціям ми використовуємо їх назви задані при оголошенні відповідних секцій.

.

.

Последняя — секція деинсталяции. Ця секція буде виконано лише за запуску файла Uninstall. exe, який ми сформували розділ інсталяції. Судна ми записуємо все команди з видалення файлів, директорій, і очищенні реєстру:

.

Здесь теж можна включити код, який би запустив і деинсталлятор для Firebird. Але не будемо цього свідомо. Ну, а якщо знадобиться.

Компиляция

Так, файл інсталяції ми написали. І ось ми маємо скласти з нього экзешник. І тому у складі пакета NSIS входять два докладання: makensis. exe і makensisw.exe. Перше — працює з командної рядки — і підійде тим, хто користується для складання своїх додатків утилітою make чи з аналогічними проблемами. Друге — повноцінне Windows — додаток.

Сборка нашого пакета відбувається за лічені хвилини. Мій пакет площею 4Мб при використанні найкрутішого LZMA стискування збирався за 58,2с. У цьому розмір дистрибутива становив 4.65Мб, а при стандартної упаковці архіву pkzip-ом з настільки ж вмістом результат становив — 4.73Мб.

Кроме цього компілятор дозволяє вибирати між в спосіб стискування: zlib, bzip2, lzma. Є й варіант автоматичного вибору найкращого пакувальника і використання пакувальника вказаної у вихідному файлі.

Послесловие

Использование программ-инсталляторов сьогодні - це не є данина моді, а часом єдина можливість донести своє творіння до кінцевого користувача. У цьому категорії програмного забезпечення однією з і зрозумілих у роботі є заснований на безплатної GNU ліцензії пакет NSIS який пропонує масу різних способів установки докладання на клієнтську машину. А застосування за його створенні плагинов дозволяє ще більше розсунути кордону його застосування.

Список литературы

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

Показати весь текст
Заповнити форму поточною роботою