Update.
Списался с автором и он признал, что по умолчанию такое не делается и выслал исправленный iss. Правда я сменил тип engine с XDELTA на JojoDiff и патчи уменьшились в разы, что сделало ненужным мои выкрутасы с распаковкой ресурсов для пропатчивания.
Вопрос ниже устарел и не актуален.
Пишу ночью, голова не особо варит, поэтому наверное буду коряво изъясняться. Заранее прошу прощения.
Стояла тут задача сделать патчер, который закидывает на комп в папку с игрой архиватор (7z.exe), распаковывает ресурс (набор файлов в архиве), потом патчит то, что распаковал и запаковывает снова.
Трудность возникла с тем, что если я кладу в обрабатываемую для патча папку 7z.exe, то он появляется в целевой папке только после отработки скрипта прописанного во вкладке "Berofe Patching". Алгоритм патча видимо настроен так, что копируются новые файлы уже после того как всё пропатчилось. Нет, я конечно извернулся путем выгрузки в текстовый файл в темпе текущей временной папки куда скрипты распаковались с присоединением к ней папки "PatchData" в которой лежит 7z.exe, потом задал PATH с этой папкой, но в логах видно, что идут ошибки:
Запуск процесса верификации файлов...
OK! Правильный файл: "key.txt"
[!] Следующий файл не существует и был пропущен: "app\file.txt"
Потом идёт:
Извлечение патч-данных во временную папку...
Обновление запущено в форсированном режиме!
Будут обновлены только существующие требуемые файлы, все несуществующие будут пропущены...
[Начало сессии обновления]
--> Обновление файла: "key.txt"
--> Обновление файла: "app\file.txt"
[Завершение сессии обновления]
И нужные файлы обновляются.
Только потом идёт:
[Сессия копирования начата]
--> Копирование файла: "7z.exe"
[Сессия копирования завершена]
Подготовка к следующим операциям, ожидание выгрузки патч-движка...
Установка файловых атрибутов...
Запуск процесса верификации файлов...
OK! Правильный файл: "key.txt"
[!] Следующий файл не существует и был пропущен: "app\file.txt"
Файловые атрибуты были установлены успешно!
Как организовать всё это дело, чтобы 7z.exe был доступен на момент срабатывания скрипта прописанного во вкладке "Berofe Patching" ?
Патч делается с "inside patch".