Manual: NSIS : улучшенный интерфейс

Продолжаем мучать «скромный» инсталляционный пакет NSIS. На этот раз тема о улучшенном интерфейсе (до интерфейса Inno он все равно не дотягивает, но уже лучше, чем было). Начнем с того, что данный интерфейс появился в версии 2.0 и называется Modern User Interface. Пример «нового» интерфейса можно увидеть на рисунке ниже.

Мда, просто великолепно 🙂 Но не в этом дело. С помощью того же редактора скриптов его можно улучшить. Но для начала надо разобраться как вообще заставить включиться улучшенный интерфейс. Текст получился немного длиннее, чем в  первом примере, поскольку включает в себя дополнительно выбор элементов для установки, функцию Uninstall и возможность запоминания каталога установки в реестре Windows. Как и предыдущий пример, этот представляет собой немного измененный скрипт, идущий в комплекте с NSIS (ExamplesModern UIBasic.nsi):

1.!include «MUI.nsh»

2.Name «Пример 2»

3.OutFile «Пример2.exe»

4.InstallDir «$2»

5.InstallDirRegKey HKCU «SoftwareSample2» «»

6.!define MUI_ABORTWARNING

7.!insertmacro MUI_PAGE_LICENSE «text.txt»

8.!insertmacro MUI_PAGE_COMPONENTS

9.!insertmacro MUI_PAGE_DIRECTORY

10.!insertmacro MUI_PAGE_INSTFILES

11.!insertmacro MUI_UNPAGE_CONFIRM

12.!insertmacro MUI_UNPAGE_INSTFILES

13.!insertmacro MUI_LANGUAGE «Russian»

14.Section «Пустая секция» SecDummy

15.SetOutPath «$»

16.File example.exe

17.WriteRegStr HKCU «SoftwareSample2» «» $

18.WriteUninstaller «$.exe»

19.SectionEnd

20.LangString DESC_SecDummy $LANG_ENGLISH} «Тестовая секция.»

21.!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN

22.!insertmacro MUI_DESCRIPTION_TEXT $SecDummy} $DESC_SecDummy)

23.!insertmacro MUI_FUNCTION_DESCRIPTION_END

24.Section «Uninstall»

25.Delete «$.exe»

26.Delete «$.exe»

27.RMDir «$»

28.DeleteRegKey /ifempty HKCU «SoftwareSample2»

29.SectionEnd.

Теперь изучим полученный материал. В первой строке мы подключаем наш улучшенный интерфейс. Предназначение второй, третьей и четвертой строки нам известны по первому примеру. Пятая, семнадцатая и двадцать восьмая строки ответственны за чтение, запоминание и удаление информации о пути к устанавливаемой программе в реестре Windows. Строчки с шестой по двенадцатую определяют внешний вид инсталлятора — наличие страниц диалогового мастера установки. Я думаю, какая строчка за какое окно отвечает, комментировать не нужно;) С четырнадцатой по девятнадцатую идут строки, описывающие единственную секцию с компонентами устанавливаемого приложения. Таких секций может быть несколько с различным набором файлов в них. Двадцатая — двадцать третья строчки — это подстановка описаний секций для связи с пунктами выбора устанавливаемых компонентов. Описания появляются в инсталляторе при наведении курсора мышки на соответствующий компонент. Поскольку у нас только одна секция, то и в тексте присутствует только одно описание «Тестовая секция». С двадцать четвертой строки и до конца скрипта идет описание действий в случае удаления программы, запуском uninstall.exe. При этом последовательно удаляется само установленное приложение — example.exe, затем Uninstall.exe, каталог программы и ключ в реестре, указывающий на каталог установки. На этом все. Если вас не устраивает и данный интерфейс, то вы можете сделать свой…например с помощью утилиты-плагина NSIS Skincrafter plugin , который вы легко сможете найти в сети сами;)

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *