Похоже, вам нужно что-то вроде Slife Teams , а затем использовать безопасность Windows, чтобы предотвратить их уничтожение клиентского приложения.
Редактировать
Если вы используете Windows 7 или Windows Server 2008 R2, возможно, вы можете использовать AppLocker ?
Редактировать 2
Возвращаясь к ответу на первоначальный вопрос, можно было бы создать приложение для мониторинга, чтобы два запущенных процесса, оба из которых контролировали, знали друг о друге.
Запустите два процесса, каждый с открытым дескриптором другого процесса. Когда один процесс обнаруживается как уничтоженный, другой процесс немедленно перезапускает его, и наоборот.
Вам нужно будет обработать обычные сообщения о завершении работы системы.
Или ... прочитайте эту статью: Непобедимость процесса