В прошлый раз я разобрал форсирование предварительного обновления для Windows — KB5026446. Сегодня возвращаюсь к предварительному обновлению .NET Framework, KB5025182. Претензий к нему не возникло, потому что оно отсиживалось в разделе для необязательных.
Однако на протяжении четырех лет все было иначе!
⌛ Когда-то накопительные обновления дотнет поставлялись в одном пакете с исправлениями системы безопасности и улучшениями операционной системы. K 2018 году стало очевидно, что будущее за .NET Core с открытым исходным кодом, а устаревший фреймворк перешел в режим поддержки. Все чаще стал фигурировать тезис, что .NET Framework — не часть ОС. К осени озвучили стратегическое решение отделить обновления .NET Framework от обновлений Windows.
Об этом в частности рассказали в блоге .NET, подчеркивая три аспекта: независимость обновлений дотнет, их накопительную сущность и одинаковую частоту выпуска с обновлениями ОС. Там же прямым текстом заявили, что предварительные обновления не будут устанавливаться автоматически. И, конечно, пообещали прислушиваться к отзывам клиентов.
🤦♂️ И сразу же начали форсировать пользователям стабильных версий Windows 10 предварительные обновления .NET Framework, выходящие в конце каждого месяца.
Я не могу утверждать, что это происходило абсолютно у всех пользователей. Но у меня картина наблюдалась в стабильном канале на разных ноутбуках. Я также видел множество свидетельств такого поведения – в чате инсайдеров (в том числе у владельцев LTSC), на форумах, в обсуждениях Reddit и даже в комментариях блога команды .NET, под анонсами о выходе новой версии превью. Я тоже оставлял там подобный комментарий, но ни разу не видел ответов по этой теме от продуктовой группы (ПГ). При этом они могли реагировать на другие комментарии под тем же постом! Отзывы в Feedback Hub, разумеется, игнорировались.
🔄️ В августе 2021 года я создал проблему на GitHub, в свежеиспечённом и распиаренном репозитории для сообщений разработчиков о проблемах с производительностью. Конечно, перф тут притянут за уши, но если вам форсируют перезагрузку ОС после установки обновлений, это влияет на производительность — труда, например :) Да и не было лучше вариантов.
В твиттере я тегнул ссылкой команду .NET и Скотта Хансельмана, главного евангелиста разработчиков. Он сходу заявил, что это неверный репозиторий, не предложив другого однако. Да и в целом ответил в стиле Windows не дефрагментирует SSD :) Он пообещал связаться с ПГ, но больше ничего я от него не слышал.
На GitHub мне ответили спустя 7 (семь!) месяцев, пообещав передать вопрос в ПГ. И через месяц вернулись с объяснением. Якобы, процесс обновления дотнет до сих пор находится на устаревшей платформе управления обновлениями, но в дорожной карте есть перевод на новые рельсы. Это очень сложный и ресурсоемкий процесс, в котором участвуют несколько команд.
🤷♂️ Это было через 3 года после разделения обновлений ОС и .NET Framework!
Наконец, осенью 2022 года в блоге IT Pro рассказывали об улучшениях в процессе обновлений Windows 11 22H2 и упомянули прорыв в деле дотнет. Мол, теперь их обновления перевели на платформу UUP, и скоро во всех кинотеатрах страны будет на одну перезагрузку меньше. Причем это было сказано даже не о превью, т.е. таких лишних перезагрузок было две :)
Я понял так, что проблему с форсированием предварительных обновлений в команде .NET решили не исправлять до перехода на платформу UUP. А что такого? Бизнес сам разберется, одобрять превью или нет, а хомячки схавают. Если будут задавать вопросы, проигнорируем их.
Вероятно, локомотивом шла работа над исправлениями операционной системы, и похоже команда .NET просто ждала у моря погоды. О переходе на UUP для накопительных обновлений Windows объявили в 2021 году, вскоре после выпуска Windows 11. Потом ещё год переводили на новую платформу исправления .NET Framework.
Работы закончили осенью 2022 года, к выпуску 22H2. С ноября предварительные обновления .NET Framework перестали форсировать и полностью перевели их в раздел для необязательных обновлений. Если опираться на мою историю обновлений, всё сходится!
The End!
Обсуждение завершено.