Чтобы помочь с переносом приложений из устаревших операционных систем (например, XP), мне нужно идентифицировать файлы драйверов (sys), на которые опирается приложение для запуска. Это должно быть сделано путем проверки существующей системы с установленным приложением, без запуска установщика и без запуска приложения.
Хотя это и не идеальное решение, была предпринята попытка идентифицировать готовые драйверы (драйверы, добавленные после установки операционной системы), поскольку это сузит число файлов sys, которые следует учитывать. DISM API может возвращать состояние «Входящие» драйвера, но для этого требуется Windows 7 и выше.
До сих пор надежное решение оказалось уклончивым на XP. Возможно, что запрос метаданных временной метки NTFS (например, измененных) поможет определить файлы sys, которые были добавлены в файловую систему с момента установки операционной системы. Даже в случае успеха это только сужает область исследования, но фактически не определяет драйверы, от которых зависит приложение.
Я задал подобный вопрос здесь.
Итак, как статически определить файлы sys, от которых зависит приложение?