NSIS: Hello, world.
Изучение любого языка начинается с Hello, world, вот и я не буду отступать от этой традиции. Напишем простой инсталлятор, который даже не инсталлятор, потому что ничего не устанавливает, а просто пишет сообщение пользователю.Name "HelloWorld"
OutFile "helloworld.exe"
ShowInstDetails show
RequestExecutionLevel User
Section
DetailPrint "Hello, world!"
SectionEnd
Сначала пишем обязательную конструкцию
Name
и придумываем имя установщика, тут, естественно, "HelloWorld"
. Имя может содержать пробелы, оно будет отображаться в заголовках окон и окнах инсталлятора, а также попадет в список программ в "Программы и компоненты", в случае реального установщика.Далее идет обязательная конструкция
OutFile
- файл установщика. Если его не прописать, то компилятор не будет знать под каким именем собрать программу установки и пошлет нас.Следующим шагом (
ShowInstDetails show
) развернем окно с логом установки, как это было описано в предыдущей копия заметке.Теперь запрашиваем запуск из под пользователя с ограниченными правами (
RequestExecutionLevel User
). Инсталляторы обычно запускаются с правами администратора, но в данном случае мы ничего не устанавливаем, и нажимать лишний раз кнопку в окошке UAC не нужно.Далее необходимо завести хотя бы одну секцию. Если в скрипте не будет хотя бы одной секции - компилятор прервет работу. Организуем единственную секцию без названия.
Section
[ТУТ БУДЕТ КОД]
SectionEnd
На самом деле секции нужны для того, чтобы сделать возможным выбор компонентов устанавливаемой программы, полную или выборочную установку. Но об этом как-нибудь в другой раз.
Внутри секции пишем сообщение, выводящее заданный текст в окошко с логом (деталями установки):
DetailPrint "Hello, world!"
На самом деле выбора не так, чтобы много, но какой-никакой есть. На официальном сайте предлагают пользоваться Eclipse и плагином к нему, но у меня на Клипсу, wim и TeX стойкая аллергия еще со студенческих времен.
Есть плагин для Visual Studio, но написан он китайцами для китайцев, так что нафиг. Впрочем, может есть и нормальные плагины, но я не нашел. Сам пользуюсь пожилой средой Venis IX, там есть мастер для генерации простых установщиков, которого вполне хватает, чтоб постоянно не писать одно и то же, создавая новый инсталлятор.
На GitHub
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/07/19/nsis-h