у меня есть Windows 7 машина, на которой есть файл ucrtbase.dll
Universal C Runtime установленной в версии 10.0.10586.1412
.
Однако последнее официальное обновление MS Update, которое я могу найти для исправления этого файла для Windows 7, - это KB3118401, которое содержит этот файл в версии 10.0.10586.9
.
Учитывая этот компьютер с Windows-7, как я могу узнать, в каком обновлении KB установлена эта конкретная версия ucrtbase.dll
?
Я бы хотел решить эту проблему в общем, потому что время от времени у нас возникают проблемы с системными DLL-библиотеками Windows: в нашем отделе разработки у нас есть 5 разных версий Visual Studio, и поэтому время от времени случалось, что у одного разработчика была более новая версия некоторой DLL-библиотеки System32, а у нас не было даже уверен, откуда это взялось.
Вещи, которые я пробовал:
%WINDIR%\WindowsUpdate.log
- временные метки начинаются после предполагаемой установкиamd64_microsoft-windows-ucrt_31bf3856ad364e35_6.1.7601.23303_none_0a7a73e149361a18
- Я не нашел, как это может помочь.Найдите свою .dll в windows \ winsxs. Вы найдете его в одном из пакетов. По названию папки с пакетом можно узнать, к какому КБ он принадлежит.
В вашем случае 6.1.7601.23303 соответствует определенному обновлению, которое является КБ или накопительным обновлением.
Также по адресу:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ComponentDetect
вы можете найти информацию о таких компонентах.
Проверяя дату присутствующих там файлов, вы можете косвенно определить дату установленного КБ.
Самый простой способ установить хорошую корреляцию - запустить DISM / Online / Get-пакеты . Это будет список пакета версия (как в вашем случае 6.1.7601.23303) и Дата пакета был установлен вместе с Название пакета KB.