Ветеран
Сообщения: 3776
Благодарности: 524
|
Профиль
|
Отправить PM
| Цитировать
Bifido ответил в личке:
Цитата:
1) Пакеты со статусом Stage и названиями редакций - норма, исправлять ничего не нужно.
2) WinSxS+ работает по тому же принципу, что и UpdateTools, но с несколько другим алгоритмом определения устаревших обновлений.
3) Проблема у вас вот в чем. При очистке на восьмерке файлы устаревших версий компонентов заменяются дельта разностью, которая рассчитывается по файлам новейшей версии данного компонента, присутствующего в системе на момент очистки.
Допустим у вас 3 обновления - 1, 2, 3 и вы делаете очистку. Если обновления 1 и 2 не заменяются полностью обновлением номер 3, но содержат например общий компонент x, то этот компонент будет, для обновлений 1 и 2, заменен дельта разностью, рассчитанной по компоненту из обновления 3.
Допустим в дальнейшем вы установили еще два обновления 4 и 5, в которых есть компонент x. Если вы выполняете очистку, то компонент x из обновления 4 будет заменен дельта разностью, рассчитанной по обновлению 5. Казалось бы логичным произвести перерасчет дельта разности также и для компонентов из обновлений 1, 2 и 3, чтобы они соответствовали таковому по обновлению 5. Однако, чтобы сократить время установки это не делается.
В то же время, если при очистке какое-то из данных обновлений заменяется полностью, то система начинает такой перерасчет для удаления этого обновления. Здесь и зарыта собака - допустим, что-то пошло не так при удалении или установке, и обновление 3 было очищено без необходимого перерасчета.
Затем вы устанавливаете обновление 6, которое полностью заменяет обновление 2, и система начинает следующий перерасчет, но для восстановления компонента x из обновления 2 нужен компонент из обновления 3, который отсутствует и вы получаете ошибку "Delta store baseline version missing".
5) Система с такими ошибками прекрасно проходит все стандартные проверки (sfc и dism), а ошибка выдается только при очистке (или установке). Ситуация характерна только для восьмерки, где наряду с последними накопительными обновлениями существует большое количество предыдущих, которые этими накопительными не заменяются. На семерке такой проблемы нет, так как никакой дельта разности еще не было, а десятка избавлена от этого, так как там есть только накопительные пакеты.
6) Вторая проблема в том, что в логе с ошибками указывается только обновление которое не может быть удалено (обновление 2), но не указывается то обновление, которое требуется для восстановления дельта разности (обновление 3). И узнать это довольно проблематично.
7) Иногда очистка через WinSxS+ или UpdateTools помогает решить такую проблему, так как они могут отметить к удалению, те обновления, которые стандартная очистка пропускает (часто это обновления для NET Framework, как и вашем случае - "amd64_netfx4-aspnet_regiis_exe_b03f5f7f11d50a3a_4.0.9600.20976_none_8d75b435f1eddfb5"), но отнюдь не всегда. Иногда, при такой ошибке, единственным решением является переустановка, а если в системе нет чего-то ценного, то и самым простым.
|
С учётом написанного в последнем предложении ничего делать не буду
|
-------
Win 7SP1 MSDN +ESU/Embedded. Адресовано любителям переставлять Windows: СИФИЛИС ампутацией не лечат. ИМХО.
Отправлено: 04:42, 06-07-2022
| #19
|