Суть задачи:
Заморозить вызывающий процесс до момента завершения вызванного приложения.
Уже обсуждалось? Знаю. Но у меня особый случай ))
Конкретика:
Программой WIX (Windows Installer XML) собирается пакет инсталляции продукта.
Я Написал тулзу для сбора копирайтов и прочей инфы в свойствах файлов, находящихся в заданном каталоге. Файлы впоследствии будут включены в пакет инсталляции.
Результаты проверки тулза скидывает с XML файл, который потом подцепляет билдер, парсит его и включает в основной билд-лог.
Поскольку разные коды билдятся с разной скоростью (в зависимости от размера и тд), моя тулза не успевает обработать заданный каталог за время, пока проходит сборка какой то части кода
в WIX. Соответственно билдер подцепляет неполный XML файл.
В WIX, на сколько мне известно, нет инструментов, для ожидания завершения другого процесса,
у меня возникла идея 'заморозить' WIX, до завершения моей программы.
Особенность моего случая:
поскольку WIX не имеет собственного билдера, а пользуется билдером VS (.NET если не ошибаюсь),
то хрен его знает, какая именно программа вызывает мою тулзу. Задача осложняется ещё и тем,
что моя тулза вызывается несколько раз при сборке одного проекта, поскольку файлы проекта находятся
с разных ветвях версий. Так бы, можно было просто высчитать примерное время для сбора инфы.
Как мне узнать, какой процесс запустил мою тулзу и заморозить его до окончания работы моей проги?
Извините, что так загнул, но за то теперь всем понятно ))))