Обслуживание двух ветвей для платформа .NET Framework 2.0 с пакетом обновления 2 (SP2), платформа .NET Framework 3.0 с пакетом обновления 2 (SP2) и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1)

Применяется к
.NET Framework 3.5 Service Pack 1

ВВЕДЕНИЕ

Все обновления классов GDR (общий выпуск дистрибутива) для платформа .NET Framework 2.0 с пакетом обновления 2 (SP2), платформа .NET Framework 3.0 с пакетом обновления 2 (SP2) и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) поддерживают модель обслуживания двух ветвей.

Предположим, что вы установили исправление, которое поддерживает обслуживание двух ветвей для платформа .NET Framework 2.0 с пакетом обновления 2 (SP2), платформа .NET Framework 3.0 с пакетом обновления 2 (SP2) или платформа .NET Framework 3.5 с пакетом обновления 1 (SP1). В дополнение к обновлению, отображаемого в списке Текущие установленные программы элемента Добавление и удаление программ в панель управления, вы также увидите дополнительное обновление (960043). Это дополнительное обновление называется базовым и типично для всех исправлений, поддерживающих обслуживание двух ветвей.

В этой статье описывается обслуживание двух ветвей для платформа .NET Framework 2.0 с пакетом обновления 2 (SP2), платформа .NET Framework 3.0 с пакетом обновления 2 (SP2) и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1).

Дополнительные сведения

Что такое обслуживание двух ветвей?

Обновления для платформа .NET Framework и Microsoft Visual Studio традиционно были накопительными. Например, двоичный файл всегда отправляет все предыдущие изменения обслуживания в тот же двоичный файл. Существуют проблемы с этим подходом, так как он непреднамеренно приводит к широкому распространению исправлений, предназначенных для ограниченного распространения и разработанных для удовлетворения конкретных требований клиента с обновлениями безопасности и накопительными обновлениями. 

Наличие отдельных ветвей для исправлений и выпусков класса GDR, таких как обновления для системы безопасности, устраняет возможность доставки функциональных исправлений для исправлений в выпусках класса GDR. Обслуживание отдельных ветвей для LDR (ограниченных выпусков дистрибутивов, таких как исправления) и GDR (общих выпусков дистрибутивов, таких как обновления, накопительные обновления и обновления для системы безопасности) называется обслуживанием двух ветвей.

Что означает обслуживание двух ветвей?

При обслуживании двух ветвей обновления для выпусков классов GDR (обновления, накопительные обновления и обновления для системы безопасности) будут содержать две версии полезных данных: "чистую" полезную нагрузку, которая содержит только исправление безопасности, но без накопительных исправлений, и вторую полезную нагрузку, содержащую накопительные исправления вместе с исправлением безопасности.

Первая "чистая" полезная нагрузка будет установлена для клиентов, у которых не применены исправления (большинство клиентов), а вторая — для клиентов, у которых установлено одно или несколько исправлений.

Как работает обслуживание двух ветвей?

Когда клиент устанавливает исправление, обновление устанавливается вместе с 960043 обновления базового плана. Этот базовый планировщик похож на флаг на компьютере, который сообщает будущим обновлениям для этого продукта о наличии исправления.

В будущем, когда клиент установит обновление класса GDR (включая обновление для системы безопасности), это обновление ищет базовый планировщик. Если базовый компонент отсутствует, так как предыдущее исправление не было установлено, полезные данные из ветви GDR устанавливаются, чтобы исправление не было включено.

Если базовый планировщик найден, устанавливаются полезные данные из ветви LDR, например накопительный двоичный файл, включающий исправление. Эта модель предотвращает установку GDR для клиентов, у которых установлены исправления.

Преимущество этой модели заключается в том, что при первой установке GDR будут применены полезные данные GDR. Если установить исправление и базовый планировщик присутствует, GDR будет автоматически переключен с полезных данных ветви GDR на полезные данные ветви LDR. Это предотвращает регрессию исправления.

Вопросы и ответы

Вопрос 1. Будет ли доступно обслуживание двух ветвей для Visual Studio 2008 с пакетом обновления 1 (SP1)?

Ответ 1. В настоящее время поддержка модели обслуживания двух ветвей ограничена платформа .NET Framework 2.0 с пакетом обновления 2 (SP2), платформа .NET Framework 3.0 с пакетом обновления 2 (SP2) и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1). Расширение этой функции до Visual Studio 2008 с пакетом обновления 1 (SP1) не планируется.

Вопрос 2. Как насчет более ранних версий платформа .NET Framework (1.0, 1.1, 2.0 RTM/SP1) и Visual Studio (2002, 2003, 2005)?

A2. Модель обслуживания двух ветвей доступна начиная с платформа .NET Framework 2.0 с пакетом обновления 2 (SP2), платформа .NET Framework 3.0 с пакетом обновления 2 (SP2) и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1), и она будет доступна во всех будущих версиях платформа .NET Framework. Поддержка этой модели обслуживания для устаревших версий продуктов не планируется.

Вопрос 3. Будет ли поддерживаться обслуживание двух ветвей для платформа .NET Framework 4.0?

Ответ 3. Да, платформа .NET Framework 4.0 будет поддерживать модель обслуживания двух ветвей.

Вопрос 4. Приведет ли обновление к обновлению с двумя полезными данными?

Ответ 4. Так как обновления классов GDR, поддерживающие обслуживание двух ветвей, содержат две полезные нагрузки: одну из ветви LDR, а другую — из ветви GDR, эти обновления немного больше эквивалентных обновлений, которые не поддерживают обслуживание двух ветвей. В большинстве случаев это увеличение размера файла является номинальным и ограничивается несколькими мегабайтами (МБ).

В5. Нужно ли что-либо делать, чтобы указать, должны ли применяться полезные данные LDR или GDR?

A5. При обычных обстоятельствах пользователь не требует никаких действий, компьютер автоматически помечает наличие исправления на компьютере с помощью базового плана. Будущие GDR автоматически определяют, следует ли применять полезные данные LDR или GDR на основе наличия базового модуля.

Вопрос 6. Нужно ли что-либо делать при удалении обновления класса GDR (обновление, накопительное обновление или обновление для системы безопасности)?

A6. Нет, вам не нужно делать ничего особенного при удалении обновления класса GDR.

Вопрос 7. Нужно ли что-либо делать при удалении исправления?

A7. Нет, вам не нужно делать ничего особенного при удалении исправления. 

Вопрос 8. Что произойдет, если я удалю базовый план?

A8. Не удаляйте 960043 обновления Baseliner вручную с помощью элемента "Добавление и удаление программ" в панель управления. Это неподдерживаемый сценарий, и будущие обновления могут применяться неправильно при удалении обновления базового плана.

Вопрос 9. Разделы справки вернуть систему в состояние, в котором применяются только полезные данные GDR после установки обновления GDR?

A9. Необходимо удалить, а затем переустановить продукт, чтобы вернуть систему в состояние, в котором начинают применяться полезные данные GDR. После этого убедитесь, что применяются все применимые обновления для системы безопасности.