← All posts tagged innosetup

OCTAGRAM

bitbucket.org
Продолжаем выкладывать некоторые разработки, которые могут пригодиться. Собственно, есть такой проект, как FlyLink DC++ с установщиком, поддерживающим кучу провайдеров, и каждый уважающий себя провайдер стремится попасть в список поддерживаемых провайдеров, заказывает VIP или Mini-VIP установщики. При всём при этом FlyLink DC++ открытый, в том числе установщик, то есть, вместе с информацией обо всех провайдерах. Всё это замечательно, вот только информация о том, какие есть провайдеры и какие у них есть хабы, оказывается разбросанной по куче файлов (.iss Inno Setup Source, Favorites.xml, ...), да ещё по–разному для VIP и Mini-VIP. Мой конвертер, написанный на Icon, парсит всю эту разнородную информацию и выводит её в формате YAML, где её можно использовать самым разным образом. Версия примерно от 2011-10-06.
Предполагалось, что в моём установщике GreyLink DC++ OpenMod будет парсер YAML и возможность выбирать всех тех же провайдеров, что и в установщике FlyLink DC++. Собственно, парсер–то есть и он работает, но в нескольких местах получалась каша, которую надо было переделать. Так и не переделал.

OCTAGRAM

octagram.name

Если кому надо, пока новая версия OpenMod'а ещё не готова, здесь можно взять агильные структуры (словари, последовательности, боксы для строк, чисел и boolean) и парсер подмножества YAML. Пригодится тем, кому надо на InnoSetup PascalScript написать что–нибудь эдакое.

OCTAGRAM

Первая попытка реализовать парсер подмножества YAML на InnoSetup. Парсит, похоже, корректно, но 8 минут обрабатывать 383Кбайта — это много для инициализации инсталлятора. Буду переделывать с посимвольных конечных автоматов на построчную реализацию с использованием Pos, Copy, TrimLeft, ...

Не может не радовать, что затея с реализацией списков, словарей и боксов для строк и интов поверх TStringList–таки работает