То есть ты предлагаешь мне отказаться от XML файла и использовать INI с параметрами-номерами в секции? Хм, в последний раз при использовании такой нумерации резко падала производительность анализа файла, но тогда и скрипт был менее умным (старый файл требований). Или XML должен работать вместе с ним? Полные пути в журнале просто удобны, не влияют на производительность. К тому же это позволяет использовать деинсталлятор для других игр, не выбранных на данный момент в качестве пути к Скайриму. Может быть я буду использовать его для установки модов к другим играм, Dragon Age'у, например. Кстати, как получился FAQ?
Для разборки установок новых версий плагинов, расскажи мне как ты формируешь сигнатуры?
Сигнатура - это MD5 хэш-сумма из строки с ID. Сделал для того, чтобы можно было записать ID инсталлятора как имя папки, так как в ID может быть недопустимый символ. Обратное декодирование сигнатуры невозможно, но и не нужно.
И как ты собираешься определять, что такой плагин с более ранней версией уже был установлен?
Очень просто, если он есть в журнале и помечен как установленный. В журнале есть версия установленного плагина. Так как я избавился от записи всей информации о плагине в журнал просто при его открытии, то это будет работать, информация записывается непосредственно при установке. Но если он не установлен через SKSM, то тут уж никак, кроме программных компонентов и DLC, конечно.
Кстати, по категориям. Если инсталлятор уже есть в журнале, то в качестве категории будет предложена та, в которой он находится, независимо от настройки в самом инсталляторе.