Как вы определяете ненужным?
Специализированный системный чехол: Вы хотите минимальную площадь и готовы пожертвовать функциональностью, которую вы не ожидаете использовать.
Если все хорошо, каждый из файлов в C: \ Windows \ Installer является локальным кешем установленного пакета установщика Windows, исправления, преобразования и т. Д. Они необходимы для удаления, auto-repair или on-demand installation для успеха. Если вам никогда не понадобятся какие-либо из этих вещей на этих машинах (т. Е. Если вы выставляете их по требованию в качестве виртуальных машин и перестраиваете их, а не удаляете что-то), то, если само приложение не вызывает сами API-интерфейсы установщика Windows, это может быть относительно безопасно удалять файлы из C: \ Windows \ Installer. Кроме того, вы можете вызвать Windows Installer API MsiSourceListEnum, чтобы найти другие кеши файлов, которые используются для этих же целей. Это может быть безопасно (или небезопасно) для удаления этих файлов.
Более обычный случай: Вы бы не восстановить систему
Если вы подозреваете, что есть неиспользуемые файлы в этой папке, оставшейся от предыдущих обновлений или удалений, вы можете попробовать использовать для Windows Intstaller API вызовов проверьте это. На очень низком уровне вы можете позвонить MsiEnumProducts (или, возможно, MsiEnumProductsEx), чтобы найти коды продуктов для всех установленных продуктов, и MsiGetProductInfo/Ex (szProduct, INSTALLPROPERTY_LOCALPACKAGE, ...), чтобы найти его сохраненный файл .msi и INSTALLPROPERTY_TRANSFORMS для списка его преобразований. Затем MsiEnumPatches/Ex, чтобы найти все коды исправлений и MsiGetPatchInfo/Ex (опять же с INSTALLPROPERTY_LOCALPACKAGE и/или INSTALLPROPERTY_TRANSFORMS), чтобы перечислить файлы .msp и .mst, ссылки на которые он ссылается. Теоретически полный набор всех упомянутых файлов должен совпадать с полным набором файлов в C: \ Windows \ Installer. (Или есть больше ссылок на поиск ...)
(Прежде чем писать что-нибудь для этого, подумайте, что есть, вероятно, приложения, которые автоматизируют это или даже умнее об этом, например, в другом ответе.)
42gb - это слишком много.Я был бы подозрительным в отношении вредоносного ПО или коррупции. Вы сомневаетесь. Возможно, это не по теме, и, вероятно, будет отключено от темы и, вероятно, будет закрыто. Я бы порекомендовал посмотреть инструмент под названием Patchcleaner, хотя я знаю об этом только понаслышке. – user1167442