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