Руководство по развертыванию .NET Framework для разработчиков.NET Framework deployment guide for developers

В этом разделе приводятся сведения для разработчиков, которые планируют устанавливать вместе с приложениями любую версию платформы с .NET Framework 4.5 по .NET Framework 4.7.2.NET Framework 4.7.2.This topic provides information for developers who want to install any version of the .NET Framework from .NET Framework 4.5 to .NET Framework 4.7.2.NET Framework 4.7.2 with their apps.

Вы можете скачать распространяемые пакеты и языковые пакеты для .NET Framework со следующих страниц скачивания:You can download the redistributable packages and language packs for .NET Framework from the download pages:

Важные примечания:Important notes:

  • Версии .NET Framework с .NET Framework 4.5 по .NET Framework 4.7.2.NET Framework 4.7.2 распространяются как обновления на месте для .NET Framework 4.5. Это означает, что они используют ту же версию среды выполнения, но с обновленными версиями сборок, куда входят новые типы и члены.Versions of the .NET Framework from .NET Framework 4.5.1 through .NET Framework 4.7.2.NET Framework 4.7.2 are in-place updates to .NET Framework 4.5, which means they use the same runtime version, but the assembly versions are updated and include new types and members.

  • .NET Framework 4.5 и более поздние версии поэтапно расширяют возможности .NET Framework 4..NET Framework 4.5 and later versions are built incrementally on .NET Framework 4. При установке .NET Framework 4.5 или более поздних версий в системе, где уже установлена платформа .NET Framework 4, сборки версии 4 заменяются более новыми версиями.When you install .NET Framework 4.5 or later versions on a system that has .NET Framework 4 installed, the version 4 assemblies are replaced with newer versions.

  • Если вы ссылаетесь на внештатный пакет Майкрософт в своем приложении, сборка будет включена в пакет приложения.If you are referencing a Microsoft out-of-band package in your app, the assembly will be included in the app package.

  • Для установки .NET Framework 4.5 и более поздних версий требуются права администратора.You must have administrator privileges to install .NET Framework 4.5 or later versions.

  • .NET Framework 4.5 входит в состав в Windows 8 и Windows Server 2012, поэтому этот компонент не нужно развертывать вместе с приложением в этих операционных системах..NET Framework 4.5 is included in Windows 8 and Windows Server 2012, so you don't have to deploy it with your app on those operating systems. Аналогично, .NET Framework 4.5.1 входит в состав в Windows 8.1 и Windows Server 2012 R2.Similarly, .NET Framework 4.5.1 is included in Windows 8.1 and Windows Server 2012 R2. Платформа .NET Framework 4.5.2 не входит в состав операционных систем..NET Framework 4.5.2 isn't included in any operating systems. .NET Framework 4.6 входит в состав Windows 10, .NET Framework 4.6.1 — в состав ноябрьского обновления Windows 10, а .NET Framework 4.6.2 — в состав юбилейного обновления Windows 10..NET Framework 4.6 is included in Windows 10, .NET Framework 4.6.1 is included in Windows 10 November Update, and .NET Framework 4.6.2 is included in Windows 10 Anniversary Update. .NET Framework 4.7 входит в состав обновления Windows 10 Creators Update, .NET Framework 4.7.1 — в состав Windows 10 Fall Creators Update, а .NET Framework 4.7.2 — в обновления Windows 10 за октябрь и за апрель 2018 г..NET Framework 4.7 is included in Windows 10 Creators Update, .NET Framework 4.7.1 is included in Windows 10 Fall Creators Update, and .NET Framework 4.7.2 is included in Windows 10 October 2018 Update and Windows 10 April 2018 Update. Платформа .NET Framework 4.8 входит в состав обновления Windows 10 за май 2019 г..NET Framework 4.8 is included in Windows 10 May 2019 Update. Полный список требований к оборудованию и программному обеспечению см. в разделе Требования к системе для .NET Framework.For a full list of hardware and software requirements, see System Requirements.

  • Начиная с .NET Framework 4.5, пользователи могут просматривать список запущенных приложений .NET Framework во время установки и легко закрывать их.Starting with .NET Framework 4.5, your users can view a list of running .NET Framework apps during setup and close them easily. Это помогает избежать перезапуска системы, вызываемого установкой .NET Framework.This may help avoid system restarts caused by .NET Framework installations. См. раздел Уменьшение перезапусков системы.See Reducing System Restarts.

  • При удалении .NET Framework 4.5 или более поздней версии автоматически удаляются все существовавшие ранее файлы .NET Framework 4.Uninstalling .NET Framework 4.5 or later versions also removes pre-existing .NET Framework 4 files. Если вам нужно вернуться к .NET Framework 4, ее придется полностью переустановить со всеми обновлениями.If you want to go back to .NET Framework 4, you must reinstall it and any updates to it. Ознакомьтесь со статьей Installing the .NET Framework (Установка платформы .NET Framework).See Installing the .NET Framework 4.

  • Распространяемый пакет платформы .NET Framework 4.5 был обновлен 9 октября 2012 г., чтобы устранить проблему, связанную с неправильной отметкой времени в цифровом сертификате, которая вызывала преждевременное истечение срока действия цифровой подписи в файлах, создаваемых и подписываемых Microsoft.The .NET Framework 4.5 redistributable was updated on October 9, 2012 to correct an issue related to an improper timestamp on a digital certificate, which caused the digital signature on files produced and signed by Microsoft to expire prematurely. Если вы ранее установили распространяемый пакет платформы .NET Framework 4.5 от 16 августа 2012 г., рекомендуем обновить установленную копию до последнего распространяемого пакета, который доступен на странице скачивания .NET Framework.If you previously installed the .NET Framework 4.5 redistributable package dated August 16, 2012, we recommend that you update your copy with the latest redistributable from the .NET Framework download page. Дополнительные сведения об этой проблеме см. в статье Советы по безопасности (Microsoft) (2749655).For more information about this issue, see Microsoft Security Advisory 2749655.

Сведения о способах развертывания платформы .NET Framework и ее системных зависимостей по сети см. в разделе Руководство по развертыванию для администраторов.For information about how a system administrator can deploy the .NET Framework and its system dependencies across a network, see Deployment Guide for Administrators.

Варианты развертывания приложенияDeployment options for your app

Когда приложение готово к публикации на веб-сервере или в другом централизованном расположении, откуда пользователи смогут его устанавливать, можно выбрать один из нескольких методов развертывания.When you're ready to publish your app to a web server or other centralized location so that users can install it, you can choose from several deployment methods. Некоторые из этих методов предусмотрены в Visual Studio.Some of these are provided with Visual Studio. В таблице ниже перечислены варианты развертывания приложения с указанием распространяемого пакета .NET Framework, соответствующего каждому варианту.The following table lists the deployment options for your app and specifies the .NET Framework redistributable package that supports each option. Помимо этого, можно написать для приложения собственную программу установки; дополнительные сведения см. в подразделе Привязка установки .NET Framework к установке приложения.In addition to these, you can write a custom setup program for your app; for more information, see the section Chaining the .NET Framework Installation to Your App's Setup.

Стратегия развертывания приложенияDeployment strategy for your app Доступные методы развертыванияDeployment methods available Используемый распространяемый пакет .NET Framework.NET Framework redistributable to use
Установка из ИнтернетаInstall from the web - InstallAware- InstallAware
- InstallShield- InstallShield
- Набор инструментов WiX- WiX toolset
- Установка вручную- Manual installation
Web installerWeb installer
Установка с дискаInstall from disc - InstallAware- InstallAware
- InstallShield- InstallShield
- Набор инструментов WiX- WiX toolset
- Установка вручную- Manual installation
Offline installerOffline installer
Установка из локальной сети (для корпоративных приложений)Install from a local area network (for enterprise apps) - ClickOnce- ClickOnce Веб-установщик (см. ограничения в ClickOnce ) или автономный установщикEither web installer (see ClickOnce for restrictions) or offline installer

Распространяемые пакетыRedistributable packages

Платформа .NET Framework доступна в виде двух распространяемых пакетов: веб-установщик (загрузчик) и автономный установщик (автономный распространяемый пакет).The .NET Framework is available in two redistributable packages: web installer (bootstrapper) and offline installer (stand-alone redistributable). Все файлы для скачивания .NET Framework размещаются на этой странице.All .NET Framework downloads are hosted on the Download .NET Framework page. В следующей таблице сравниваются два пакета:The following table compares the two packages:

веб-установщикWeb installer автономный установщикOffline installer
Требуется подключение к интернету?Internet connection required? ДаYes НетNo
Размер загрузкиSize of download Меньший (включает только установщик для целевой платформы) *Smaller (includes installer for target platform only)* Больший*Larger*
Языковые пакетыLanguage packs Включены**Included** Устанавливаются отдельно, если только не используется пакет, предназначенный для всех ОСMust be installed separately, unless you use the package that targets all operating systems
Метод развертыванияDeployment method Поддерживает все методы:Supports all methods:

- ClickOnce- ClickOnce
- InstallAware- InstallAware
- InstallShield- InstallShield
- Windows Installer XML (WiX)- Windows Installer XML (WiX)
- Установка вручную- Manual installation
- Пользовательская установка (привязка)- Custom setup (chaining)
Поддерживает все методы:Supports all methods:

- ClickOnce- ClickOnce
- InstallAware- InstallAware
- InstallShield- InstallShield
- Windows Installer XML (WiX)- Windows Installer XML (WiX)
- Установка вручную- Manual installation
- Пользовательская установка (привязка)- Custom setup (chaining)

* Автономный установщик больше, так как он содержит компоненты для всех целевых платформ.* The offline installer is larger because it contains the components for all the target platforms. По завершении работы программы установки операционная система Windows кэширует только использовавшийся установщик.When you finish running setup, the Windows operating system caches only the installer that was used. Если удалить автономный установщик после установки, используемое место на диске будет таким же, как при использовании веб-установщика.If the offline installer is deleted after the installation, the disk space used is the same as that used by the web installer. Если средство, используемое для создания программы установки приложения (например, InstallAware или InstallShield), предусматривает папку для файлов установки, которая удаляется после установки, автономный установщик может быть удален автоматически путем помещения его в папку установки.If the tool you use (for example, InstallAware or InstallShield) to create your app's setup program provides a setup file folder that is removed after installation, the offline installer can be automatically deleted by placing it into the setup folder.

**При использовании веб-установщика с пользовательской установкой можно использовать параметры языка по умолчанию на основе заданного пользователем параметра многоязычного пользовательского интерфейса (MUI) или задать другой языковой пакет с помощью параметра /LCID в командной строке.** If you're using the web installer with custom setup, you can use default language settings based on the user's Multilingual User Interface (MUI) setting, or specify another language pack by using the /LCID option on the command line. Примеры см. в подразделе Привязка с использованием пользовательского интерфейса .NET Framework по умолчанию .See the section Chaining by Using the Default .NET Framework UI for examples.

Методы развертыванияDeployment methods

Существует четыре метода развертывания:Four deployment methods are available:

Эти методы развертывания подробно рассмотрены в следующих подразделах.These deployment methods are discussed in detail in the following sections.

Установка зависимости от .NET FrameworkSetting a dependency on the .NET Framework

Если для развертывания приложения используется ClickOnce, InstallAware, InstallShield или WiX, можно добавить зависимость от .NET Framework, чтобы платформу можно было установить в ходе установки приложения.If you use ClickOnce, InstallAware, InstallShield, or WiX to deploy your app, you can add a dependency on the .NET Framework so it can be installed as part of your app.

развертывание ClickOnceClickOnce deployment

Развертывание ClickOnce доступно для проектов, созданных при помощи Visual Basic и Visual C#, но недоступно для Visual C++.ClickOnce deployment is available for projects that are created with Visual Basic and Visual C#, but it is not available for Visual C++.

Чтобы выбрать развертывание ClickOnce и добавить зависимость от .NET Framework, выполните в Visual Studio следующие действия.In Visual Studio, to choose ClickOnce deployment and add a dependency on the .NET Framework:

  1. Откройте проект приложения, который требуется опубликовать.Open the app project you want to publish.

  2. В обозревателе решений откройте контекстное меню своего проекта и выберите Свойства.In Solution Explorer, open the shortcut menu for your project, and then choose Properties.

  3. Выберите область Публикация .Choose the Publish pane.

  4. Нажмите кнопку Необходимые компоненты .Choose the Prerequisites button.

  5. Убедитесь, что в диалоговом окне Необходимые компоненты установлен флажок Создать программу установки для необходимых компонентов .In the Prerequisites dialog box, make sure that the Create setup program to install prerequisite components check box is selected.

  6. В списке необходимых компонентов найдите и выберите версию .NET Framework, которую вы использовали для сборки своего проекта.In the prerequisites list, locate and select the version of the .NET Framework that you've used to build your project.

  7. Выберите вариант с указанием расположения источника для необходимых компонентов и нажмите кнопку ОК.Choose an option to specify the source location for the prerequisites, and then choose OK.

    При предоставлении URL-адреса в качестве расположения загрузки .NET Framework можно указать либо страницу скачивания .NET Framework, либо свой сайт.If you supply a URL for the .NET Framework download location, you can specify either the .NET Framework download page or a site of your own. При размещении распространяемого пакета на своем сервере этот пакет должен представлять собой автономный установщик, а не веб-установщик.If you are placing the redistributable package on your own server, it must be the offline installer and not the web installer. Ссылка на веб-установщик может вести только на страницу скачивания .NET Framework.You can only link to the web installer on the .NET Framework download page. URL-адрес может также указывать диск, на котором распространяется приложение.The URL can also specify a disc on which your own app is being distributed.

  8. В диалоговом окне Страницы свойств выберите ОК.In the Property Pages dialog box, choose OK.

Развертывание InstallAwareInstallAware deployment

InstallAware позволяет создавать пакеты для приложения Windows (APPX), установщика Windows (MSI), машинного кода (EXE) и App-V (Application Virtualization) из одного источника.InstallAware builds Windows app (APPX), Windows Installer (MSI), Native Code (EXE), and App-V (Application Virtualization) packages from a single source. Вы можете легко добавить любую версию .NET Framework в установку. При необходимости настройте установку, изменив скрипты по умолчанию.Easily include any version of the .NET Framework in your setup, optionally customizing the installation by editing the default scripts. Например, InstallAware предварительно устанавливает сертификаты в Windows 7, без которых установка .NET Framework 4.7 завершается сбоем.For example, InstallAware pre-installs certificates on Windows 7, without which .NET Framework 4.7 setup fails. Дополнительные сведения об InstallAware см. на сайте InstallAware для установщика Windows.For more information on InstallAware, see the InstallAware for Windows Installer website.

Развертывание InstallShieldInstallShield deployment

Чтобы выбрать развертывание InstallShield и добавить зависимость от .NET Framework выполните в Visual Studio следующие действия.In Visual Studio, to choose InstallShield deployment and add a dependency on the .NET Framework:

  1. В строке меню Visual Studio выберите Файл, Создать, Проект.On the Visual Studio menu bar, choose File, New, Project.

  2. В левой области диалогового окна Новый проект выберите Другие типы проектов, Установка и развертывание, InstallShield LE.In the left pane of the New Project dialog box, choose Other Project Types, Setup and Deployment, InstallShield LE.

  3. В поле Имя введите имя для своего проекта и выберите ОК.In the Name box, type a name for your project, and then choose OK.

  4. Если вы впервые создаете проект установки и развертывания, выберите Go to InstallShield (Перейти к InstallShield) или Включение InstallShield Limited Edition, чтобы скачать InstallShield Limited Edition для вашей версии Microsoft Visual Studio.If you are creating a setup and deployment project for the first time, choose Go to InstallShield or Enable InstallShield Limited Edition to download InstallShield Limited Edition for your version of Microsoft Visual Studio. Перезапустите Visual Studio.Restart Visual Studio.

  5. Перейдите к мастеру Помощник по проектам и пункт Файлы приложения , чтобы добавить выходной элемент проекта.Go to Project Assistant wizard and choose Application Files to add the Project Output. С помощью этого мастера можно настроить и другие атрибуты проекта.You can configure other project attributes by using this wizard.

  6. Перейдите в окно Требования установки и выберите операционные системы и версию платформы .NET Framework, которую необходимо установить.Go to Installation Requirements and select the operating systems and the version of the .NET Framework you want to install.

  7. Откройте контекстное меню для проекта установки и выберите Сборка.Open the shortcut menu for your setup project and choose Build.

Развертывание с помощью Windows Installer XML (WiX)Windows Installer XML (WiX) deployment

Набор инструментов Windows Installer XML (WiX) собирает установочные пакеты Windows из исходного кода XML.The Windows Installer XML (WiX) toolset builds Windows installation packages from XML source code. WiX поддерживает среду командной строки, которая может быть интегрирована в процесс сборки для сборки пакетов установки MSI и MSM.WiX supports a command-line environment that can be integrated into your build processes to build MSI and MSM setup packages. С помощью WiX можно указать .NET Framework в качестве необходимого компонентаили создать формирователь цепочки для полного управления развертыванием .NET Framework.By using WiX, you can specify the .NET Framework as a prerequisite, or create a chainer to fully control the .NET Framework deployment experience. Дополнительные сведения о WiX см. на веб-сайте набора инструментов Windows Installer XML (WiX) .For more information about WiX, see the Windows Installer XML (WiX) toolset website.

Установка платформы .NET Framework вручнуюInstalling the .NET Framework manually

В некоторых случаях автоматически устанавливать .NET Framework вместе с приложением может быть нецелесообразно.In some situations, it might be impractical to automatically install the .NET Framework with your app. В этом случае можно обязать пользователей установить платформу .NET Framework самостоятельно.In that case, you can have users install the .NET Framework themselves. Распространяемый пакет доступен в двух пакетах.The redistributable package is available in two packages. В процессе установки дайте пользователям указания о том, как найти и установить .NET Framework.In your setup process, provide instructions for how users should locate and install the .NET Framework.

Привязка установки .NET Framework к установке приложенияChaining the .NET Framework installation to your app's setup

При создании для приложения собственной программы установки можно привязать процесс установки .NET Framework к процессу установки приложения (создать цепочку).If you're creating a custom setup program for your app, you can chain (include) the .NET Framework setup process in your app's setup process. При привязке существует два варианта пользовательского интерфейса для установки .NET Framework:Chaining provides two UI options for the .NET Framework installation:

  • использование пользовательского интерфейса по умолчанию, предоставляемого установщиком .NET Framework;Use the default UI provided by the .NET Framework installer.

  • создание собственного пользовательского интерфейса для установки .NET Framework для единообразия с программой установки приложения.Create a custom UI for the .NET Framework installation for consistency with your app's setup program.

Оба метода позволяют использовать как веб-установщик, так и автономный установщик.Both methods allow you to use either the web installer or the offline installer. У каждого пакета есть свои преимущества:Each package has its advantages:

  • при использовании веб-установщика процесс установки .NET Framework принимает решение, какой требуется установочный пакет, и загружает из Интернета и устанавливает только этот пакет;If you use the web installer, the .NET Framework setup process will decide which installation package is required, and download and install only that package from the web.

  • при использовании автономного установщика можно включить в распространяемый носитель полный набор пакетов установки .NET Framework, чтобы пользователям не нужно было во время установки загружать никакие дополнительные файлы из Интернета.If you use the offline installer, you can include the complete set of .NET Framework installation packages with your redistribution media so that your users don't have to download any additional files from the web during setup.

Привязка с использованием пользовательского интерфейса .NET Framework по умолчаниюChaining by using the default .NET Framework UI

Чтобы автоматически привязать процесс установки .NET Framework и дать установщику платформы .NET Framework возможность предоставить пользовательский интерфейс, добавьте в свою программу установки следующую команду:To silently chain the .NET Framework installation process and let the .NET Framework installer provide the UI, add the following command to your setup program:

<.NET Framework redistributable> /q /norestart /ChainingPackage <PackageName>

Например, если вы исполняете программу Contoso.exe и вам нужно автоматически установить автономный распространяемый пакет .NET Framework 4.5, используйте следующую команду:For example, if your executable program is Contoso.exe and you want to silently install the .NET Framework 4.5 offline redistributable package, use the command:

dotNetFx45_Full_x86_x64.exe /q /norestart /ChainingPackage Contoso

Можно использовать дополнительные параметры командной строки для настройки установки.You can use additional command-line options to customize the installation. Пример:For example:

  • Чтобы предоставить пользователю возможность закрыть работающие приложения .NET Framework для минимизации перезапусков системы, установите пассивный режим и используйте параметр /showrmui следующим образом:To provide a way for users to close running .NET Framework apps to minimize system restarts, set passive mode and use the /showrmui option as follows:

    dotNetFx45_Full_x86_x64.exe /norestart /passive /showrmui /ChainingPackage Contoso

    Эта команда позволяет диспетчеру перезапуска выводить окно сообщения, которое дает пользователям возможность закрыть приложения .NET Framework, прежде чем устанавливать платформу .NET Framework.This command allows Restart Manager to display a message box that gives users the opportunity to close .NET Framework apps before installing the .NET Framework.

  • При использовании веб-установщика можно использовать параметр /LCID для указания языкового пакета.If you're using the web installer, you can use the /LCID option to specify a language pack. Например, чтобы привязать веб-установщик .NET Framework 4.5 к программе установки Contoso и установить японский языковой пакет, добавьте в процесс установки приложения следующую команду:For example, to chain the .NET Framework 4.5 web installer to your Contoso setup program and install the Japanese language pack, add the following command to your app's setup process:

    dotNetFx45_Full_setup.exe /q /norestart /ChainingPackage Contoso /LCID 1041

    Если параметр /LCID опущен, программа установки установит языковой пакет, соответствующий параметру MUI пользователя.If you omit the /LCID option, setup will install the language pack that matches the user's MUI setting.

    Примечание

    Даты выпусков языковых пакетов могут быть разными.Different language packs may have different release dates. Если требуемый языковой пакет отсутствует в центре загрузки, программа установки установит .NET Framework без языкового пакета.If the language pack you specify is not available at the download center, setup will install the .NET Framework without the language pack. Если .NET Framework уже установлена на компьютере пользователя, программа установки установит только языковой пакет.If the .NET Framework is already installed on the user’s computer, the setup will install only the language pack.

Полный список параметров см. в подразделе Параметры командной строки .For a complete list of options, see the Command-Line Options section.

Стандартные коды возврата см. в подразделе Коды возврата .For common return codes, see the Return Codes section.

Привязка с использованием настраиваемого пользовательского интерфейсаChaining by Using a Custom UI

При наличии собственного пакета установки может иметь смысл автоматически запускать и отслеживать установку .NET Framework, отображая при этом собственное представление хода выполнения установки.If you have a custom setup package, you may want to silently launch and track the .NET Framework setup while showing your own view of the setup progress. В этом случае убедитесь, что в вашем коде предусмотрено следующее:If this is the case, make sure that your code covers the following:

  • Проверка требований к оборудованию и программному обеспечению для .NET Framework.Check for .NET Framework hardware and software requirements.

  • Определение наличия нужной версии .NET Framework на компьютере пользователя.Detect whether the correct version of the .NET Framework is already installed on the user’s computer.

    Важно!

    При определении наличия нужной версии платформы .NET Framework на компьютере следует проверить, установлена ли требуемая версия или более поздняя версия, а не установлена ли требуемая версия.In determining whether the correct version of the .NET Framework is already installed, you should check whether your target version or a later version is installed, not whether your target version is installed. Другими словами, следует определить следующее: раздел выпуска, полученный из реестра, больше или равен разделу выпуска требуемой версии, а не равен ли он разделу выпуска требуемой версии.In other words, you should evaluate whether the release key you retrieve from the registry is greater than or equal to the release key of your target version, not whether it equals the release key of your target version.

  • Определение наличия нужных языковых пакетов на компьютере пользователя.Detect whether the language packs are already installed on the user’s computer.

  • Если требуется контроль над развертыванием, запустите процесс установки .NET Framework в автоматическом режиме и отслеживайте его (см. статью Практическое руководство. Получение хода выполнения установщика .NET Framework 4.5).If you want to control the deployment, silently launch and track the .NET Framework setup process (see How to: Get Progress from the .NET Framework 4.5 Installer).

  • При развертывании автономного установщика привяжите языковые пакеты отдельно.If you’re deploying the offline installer, chain the language packs separately.

  • Настройка развертывания с помощью параметров командной строки.Customize deployment by using command-line options. Например, если при привязке веб-установщика .NET Framework требуется переопределить языковый пакет по умолчанию, используйте параметр /LCID , как описано в предыдущем подразделе.For example, if you’re chaining the .NET Framework web installer, but you want to override the default language pack, use the /LCID option, as described in the previous section.

  • Устранение неполадок.Troubleshoot.

Обнаружение .NET FrameworkDetecting the .NET Framework

Если установка выполнена успешно, установщик .NET Framework записывает разделы реестра.The .NET Framework installer writes registry keys when installation is successful. Можно узнать, установлена ли в системе .NET Framework 4.5 или более поздняя версия, проверив папку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full в реестре на наличие значения DWORD с именем Release.You can test whether .NET Framework 4.5 or later is installed by checking the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full folder in the registry for a DWORD value named Release. (Обратите внимание, что папка "NET Framework Setup" не начинается с точки.) Наличие такого ключа означает, что на компьютере установлена .NET Framework 4.5 или более поздняя версия платформы.(Note that "NET Framework Setup" doesn't begin with a period.) The existence of this key indicates that .NET Framework 4.5 or a later version has been installed on that computer. Значение Release показывает, какая версия .NET Framework установлена.The value of Release indicates which version of the .NET Framework is installed.

Важно!

При попытке определить наличие конкретной версии необходимо проверить значение, большее или равное значению ключевого слова release.You should check for a value greater than or equal to the release keyword value when attempting to detect whether a specific version is present.

Важно!

В следующей таблице перечислены ключи только для выпущенных версий платформы .NET Framework.The following table lists the keys of released versions of the .NET Framework only. В ней не приводятся ключи предварительных версий или выпусков.It doesn't list the keys of preview or pre-release versions.

VersionVersion Значение DWORD "Release"Value of the Release DWORD
.NET Framework 4.8, установленная в Windows 10 с обновлением за апрель 2019 г..NET Framework 4.8 installed on Windows 10 May 2019 Update 528040528040
.NET Framework 4.8, установленная во всех версиях ОС, за исключением обновления Windows 10 за апрель 2019 г..NET Framework 4.8 installed on all OS versions other than Windows 10 May 2019 Update 528049528049
Платформа .NET Framework 4.7.2, установленная в Windows 10 с обновлением за апрель 2018 г. и в Windows Server, версия 1803.NET Framework 4.7.2 installed on Windows 10 April 2018 Update and on Windows Server, version 1803 461808461808
Платформа .NET Framework 4.7.2, установленная на остальных версиях ОС, кроме Windows 10 с обновлением за апрель 2018 г. и Windows Server, версия 1803..NET Framework 4.7.2 installed on all OS versions other than Windows 10 April 2018 Update, and Windows Server, version 1803. Сюда также относится обновление Windows 10 за октябрь 2018 г.This includes Windows 10 October 2018 Update. 461814461814
Платформа .NET Framework 4.7.1, установленная в Windows 10 Fall Creators Update и в Windows Server, версия 1709.NET Framework 4.7.1 installed on Windows 10 Fall Creators Update and on Windows Server, version 1709 461308461308
Платформа .NET Framework 4.7.1, установленная на остальных версиях ОС, кроме Windows 10 Fall Creators Update и Windows Server, версия 1709.NET Framework 4.7.1 installed on all OS versions other than Windows 10 Fall Creators Update and Windows Server, version 1709 461310461310
.NET Framework 4.7 установлена в обновлении Windows 10 Creators Update.NET Framework 4.7 installed on Windows 10 Creators Update 460798460798
.NET Framework 4.7 установлена во всех версиях ОС, за исключением обновления Windows 10 Creators Update.NET Framework 4.7 installed on all OS versions other than Windows 10 Creators Update 460805460805
.NET Framework 4.6, установленная в выпусках Windows 10 Anniversary Edition и Windows Server 2016.NET Framework 4.6.2 installed on Windows 10 Anniversary Edition and on Windows Server 2016 394802394802
.NET Framework 4.5, установленная во всех версиях операционной системы, отличных от Windows 10 Anniversary Edition и Windows Server 2016.NET Framework 4.6.2 installed on all OS versions other than Windows 10 Anniversary Edition and Windows Server 2016 394806394806
.NET Framework 4.8, установленная в Windows 10 с обновлением за ноябрь.NET Framework 4.6.1 installed on Windows 10 November Update 394254394254
.NET Framework 4.6.1, установленная во всех версиях ОС, за исключением Windows 10 с обновлением за ноябрь.NET Framework 4.6.1 installed on all OS versions other than Windows 10 November Update 394271394271
.NET Framework 4.6, установленная в Windows 10.NET Framework 4.6 installed on Windows 10 393295393295
.NET Framework 4.6, установленная во всех версиях ОС, за исключением Windows 10.NET Framework 4.6 installed on all OS versions other than Windows 10 393297393297
.NET Framework 4.5.2.NET Framework 4.5.2 379893379893
Платформа .NET Framework 4.5.1, установленная с Windows 8.1 или Windows Server 2012 R2.NET Framework 4.5.1 installed with Windows 8.1 or Windows Server 2012 R2 378675378675
Установка .NET Framework 4.5.1 в Windows 8, Windows 7.NET Framework 4.5.1 installed on Windows 8, Windows 7 378758378758
.NET Framework 4,5.NET Framework 4.5 378389378389

Обнаружение языковых пакетовDetecting the language packs

Проверить, установлен ли указанный языковой пакет, можно, проверив папку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\LCID реестра на наличие значения DWORD с именем Release.You can test whether a specific language pack is installed by checking the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\LCID folder in the registry for a DWORD value named Release. (Обратите внимание, что папка "NET Framework Setup" не начинается с точки.) Параметр LCID задает код языка; список кодов см. на странице поддерживаемых языков.(Note that "NET Framework Setup" doesn't begin with a period.) LCID specifies a locale identifier; see supported languages for a list of these.

Например, чтобы проверить, установлен ли уже японский полный языковой пакет (LCID=1041), извлеките следующее именованное значение из реестра:For example, to detect whether the full Japanese language pack (LCID=1041) is installed, retrieve the following named value from the registry:

КлючKey HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\1041HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\1041
nameName ВыпускRelease
TypeType DWORDDWORD

Чтобы определить, установлен ли окончательный выпуск языкового пакета для определенной версии .NET Framework с 4.5 по 4.7.2, проверьте значение DWORD раздела RELEASE, описанное в предыдущем разделе (Обнаружение .NET Framework).To determine whether the final release version of a language pack is installed for a particular version of the .NET Framework from 4.5 through 4.7.2, check the value of the RELEASE key DWORD value described in the previous section, Detecting the .NET Framework.

Привязка языковых пакетов к установке приложенияChaining the language packs to your app setup

Платформа .NET Framework предоставляет набор автономных исполняемых файлов языковых пакетов, содержащих локализованные ресурсы для конкретных языков и региональных параметров.The .NET Framework provides a set of stand-alone language pack executable files that contain localized resources for specific cultures. Эти пакеты можно получить со следующих страниц скачивания .NET Framework:The language packs are available from the Download .NET Framework pages:

Важно!

Языковые пакеты не содержат компоненты платформы .NET Framework, необходимые для запуска приложения, поэтому перед установкой языкового пакета необходимо установить .NET Framework с помощью веб-установщика или автономного установщика.The language packs don't contain the .NET Framework components that are required to run an app; you must install the .NET Framework by using the web or offline installer before you install a language pack.

Начиная с .NET Framework 4.5.1, имена пакетов имеют вид NDP <version>-KB<number>-x86-x64-AllOS-<culture>.exe, где version — номер версии платформы .NET Framework, number — номер статьи базы знаний Майкрософт, а culture означает страну или регион.Starting with .NET Framework 4.5.1, the package names take the form NDP<version>-KB<number>-x86-x64-AllOS-<culture>.exe, where version is the version number of the .NET Framework, number is a Microsoft Knowledge Base article number, and culture specifies a country/region. Пример одного из этих пакетов — NDP452-KB2901907-x86-x64-AllOS-JPN.exe.An example of one of these packages is NDP452-KB2901907-x86-x64-AllOS-JPN.exe. Имена пакетов, перечислены в разделе Redistributable Packages ранее в этой статье.Package names are listed in the Redistributable Packages section earlier in this article.

Чтобы установить языковой пакет с помощью автономного установщика .NET Framework , необходимо привязать его к установке приложения.To install a language pack with the .NET Framework offline installer, you must chain it to your app's setup. Например, для развертывания автономного установщика .NET Framework 4.5.1 с японским языковым пакетом используйте следующую команду:For example, to deploy .NET Framework 4.5.1 offline installer with the Japanese language pack, use the following command:

NDP451-KB2858728-x86-x64-AllOS-JPN.exe /q /norestart /ChainingPackage <ProductName>

Привязывать языковые пакеты при использовании веб-установщика не обязательно: программа установки установит языковой пакет, соответствующий параметру MUI пользователя.You do not have to chain the language packs if you use the web installer; setup will install the language pack that matches the user's MUI setting. Если требуется установить другой язык, можно использовать параметр /LCID для задания языкового пакета.If you want to install a different language, you can use the /LCID option to specify a language pack.

Полный список параметров командной строки см. в подразделе Параметры командной строки .For a complete list of command-line options, see the Command-Line Options section.

Устранение неполадокTroubleshooting

Коды возвратаReturn codes

В следующей таблице перечислены наиболее распространенные коды возврата установщика распространяемого пакета .NET Framework.The following table lists the most common return codes for the .NET Framework redistributable installer. Коды возврата одинаковы для всех версий установщика.The return codes are the same for all versions of the installer. Ссылки на подробные сведения см. в следующем подразделе.For links to detailed information, see the next section.

Код возвратаReturn code ОписаниеDescription
00 Установка успешно завершена.Installation completed successfully.
16021602 Установка отменена пользователем.The user canceled installation.
16031603 Во время установки произошла неустранимая ошибка.A fatal error occurred during installation.
16411641 Для завершения установки необходима перезагрузка.A restart is required to complete the installation. Сообщение указывает на успешное завершение действия.This message indicates success.
30103010 Для завершения установки необходима перезагрузка.A restart is required to complete the installation. Сообщение указывает на успешное завершение действия.This message indicates success.
51005100 Компьютер пользователя не отвечает системным требованиям.The user's computer does not meet system requirements.

Коды ошибок загрузкиDownload error codes

Ознакомьтесь со следующими ресурсами:See the following content:

Другие коды ошибокOther error codes

Ознакомьтесь со следующими ресурсами:See the following content:

Удаление .NET FrameworkUninstalling the .NET Framework

Начиная с Windows 8, вы можете удалить .NET Framework 4.5 или более поздних версий в разделе включения или отключения компонентов Windows на панели управления.Starting with Windows 8, you can uninstall .NET Framework 4.5 or later versions by using Turn Windows features on and off in Control Panel. В более ранних версиях Windows платформу .NET Framework 4.5 или более поздних версий можно удалить с помощью пункта Установка и удаление программ на панели управления.In older versions of Windows, you can uninstall .NET Framework 4.5 or later versions by using Add or Remove Programs in Control Panel.

Важно!

Для Windows 7 и более ранних операционных систем при удалении .NET Framework версий 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 или 4.8 файлы .NET Framework 4.5 не восстанавливаются, а при удалении .NET Framework 4.5 не восстанавливаются файлы .NET Framework 4.For Windows 7 and earlier operating systems, uninstalling .NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, or 4.8 doesn't restore .NET Framework 4.5 files, and uninstalling .NET Framework 4.5 doesn't restore .NET Framework 4 files. Чтобы вернуться к более старой версии, необходимо переустановить платформу со всеми обновлениями.If you want to go back to the older version, you must reinstall it and any updates to it.

ПриложениеAppendix

Параметры командной строкиCommand-line options

В следующей таблице перечислены параметры, которые можно использовать при связывании распространяемого пакета .NET Framework 4.5 с программой установки приложения.The following table lists options that you can include when you chain the .NET Framework 4.5 redistributable to your app's setup.

ПараметрOption ОписаниеDescription
/CEIPConsent/CEIPConsent Перезаписывает поведение по умолчанию и отправляет анонимные сведения об установке в корпорацию Microsoft для совершенствования процедуры развертывания в будущем.Overwrites the default behavior and sends anonymous feedback to Microsoft to improve future deployment experiences. Этот параметр можно использовать, только если программа установки запрашивает согласие пользователя и только если пользователь разрешает отправлять анонимную статистку в корпорацию Microsoft.This option can be used only if the setup program prompts for consent and if the user grants permission to send anonymous feedback to Microsoft.
/chainingpackage packageName/chainingpackage packageName Указывает имя исполняемого файла, осуществляющего привязку.Specifies the name of the executable that is doing the chaining. Эти сведения отправляются в корпорацию Microsoft в качестве анонимной статистики для совершенствования процедуры развертывания в будущем.This information is sent to Microsoft as anonymous feedback to help improve future deployment experiences.

Если в имени пакета присутствуют пробелы, в качестве разделителей необходимо использовать двойные кавычки (например, /chainingpackage "Lucerne Publishing" ).If the package name includes spaces, use double quotation marks as delimiters; for example: /chainingpackage "Lucerne Publishing". Пример привязываемого пакета см. в разделе Получение сведений о ходе выполнения из пакета установки.For an example of a chaining package, see Getting Progress Information from an Installation Package.
/LCID LCID/LCID LCID

где параметр LCID задает код языка (список кодов см. на странице поддерживаемых языков).where LCID specifies a locale identifier (see supported languages)
Устанавливает языковой пакет, определенный параметром LCID , и обеспечивает принудительное отображение пользовательского интерфейса на этом языке (если не включен автоматический режим).Installs the language pack specified by LCID and forces the displayed UI to be shown in that language, unless quiet mode is set.

Для веб-установщика этот параметр обеспечивает установку (привязку) языкового пакета из Интернета.For the web installer, this option chain-installs the language package from the web. Примечание. Используйте этот параметр только с веб-установщиком.Note: Use this option only with the web installer.
/log file | folder/log file | folder Задает расположение файла журнала.Specifies the location of the log file. Значение по умолчанию — временная папка для процесса, а имя файла по умолчанию основано на пакете.The default is the temporary folder for the process, and the default file name is based on the package. Если файл имеет расширение .txt, создается текстовый журнал.If the file extension is .txt, a text log is produced. Если указано любое другое расширение или никакого расширения, создается журнал в формате HTML.If you specify any other extension or no extension, an HTML log is created.
/msioptions/msioptions Задает параметры для передачи элементам MSI и MSP; например: /msioptions "PROPERTY1='Value'".Specifies options to be passed for .msi and .msp items; for example: /msioptions "PROPERTY1='Value'".
/norestart/norestart Запрещает программе установки автоматически перезагружать компьютер.Prevents the setup program from rebooting automatically. При использовании этого параметра привязываемое приложение должно захватить код возврата и обработать перезагрузку (см. раздел Получение сведений о ходе выполнения из пакета установки).If you use this option, the chaining app has to capture the return code and handle rebooting (see Getting Progress Information from an Installation Package).
/passive/passive Задает пассивный режим.Sets passive mode. Отображает индикатор выполнения, чтобы показать, что установка выполняется, но не выводит никаких приглашений и сообщений об ошибках.Displays the progress bar to indicate that installation is in progress, but does not display any prompts or error messages to the user. В этом режиме, при объединении в цепочку с программой установки, привязываемый пакет должен обрабатывать коды возврата.In this mode, when chained by a setup program, the chaining package must handle return codes.
/pipe/pipe Создает канал связи, чтобы привязываемый пакет мог получать информацию о ходе выполнения.Creates a communication channel to enable a chaining package to get progress.
/promptrestart/promptrestart Только пассивный режим; если программе установки необходима перезагрузка, она выводит соответствующий запрос для пользователя.Passive mode only, if the setup program requires a restart, it prompts the user. При использовании этого параметра требуется вмешательство пользователя, если необходима перезагрузка.This option requires user interaction if a restart is required.
/q/q Включает автоматический режим.Sets quiet mode.
/repair/repair Включение функции исправления.Triggers the repair functionality.
/serialdownload/serialdownload Обеспечивает, что установка происходит только после загрузки пакета.Forces the installation to happen only after the package has been downloaded.
/showfinalerror/showfinalerror Задает пассивный режим.Sets passive mode. Отображает ошибки только в том случае, если установка не выполнена успешно.Displays errors only if the installation is not successful. При использовании этого параметра в случае ошибки установки требуется вмешательство пользователя.This option requires user interaction if the installation is not successful.
/showrmui/showrmui Используется только с параметром /passive .Used only with the /passive option. Выводит окно сообщения, в котором пользователю предлагается закрыть работающие в данный момент приложения .NET Framework.Displays a message box that prompts users to close .NET Framework apps that are currently running. Это окно сообщения ведет себя одинаково как в пассивном, так и не в пассивном режиме.This message box behaves the same in passive and non-passive mode.
/uninstall/uninstall Удаляет распространяемый пакет .NET Framework.Uninstalls the .NET Framework redistributable.

Поддерживаемые языкиSupported languages

В приведенной ниже таблице перечислены языковые пакеты .NET Framework, доступные для платформы .NET Framework 4.5 и более поздних версий.The following table lists .NET Framework language packs that are available for .NET Framework 4.5 and later versions.

LCIDLCID Язык — страна/регионLanguage – country/region cultureCulture
10251025 Арабский — Саудовская АравияArabic - Saudi Arabia arar
10281028 Китайский (традиционное письмо)Chinese – Traditional zh-Hantzh-Hant
10291029 ЧешскийCzech cscs
10301030 ДатскийDanish dada
10311031 Немецкий (Германия)German – Germany dede
10321032 ГреческийGreek elel
10351035 ФинскийFinnish fifi
10361036 Французский (Франция)French – France frfr
10371037 ИвритHebrew hehe
10381038 ВенгерскийHungarian huhu
10401040 Итальянский (Италия)Italian – Italy itit
10411041 ЯпонскийJapanese jaja
10421042 КорейскийKorean koko
10431043 Голландский (Нидерланды)Dutch – Netherlands nlnl
10441044 Норвежский (Букмол)Norwegian (Bokmål) Нетno
10451045 ПольскийPolish plpl
10461046 Португальский (Бразилия)Portuguese – Brazil pt-BRpt-BR
10491049 РусскийRussian ruru
10531053 ШведскийSwedish svsv
10551055 ТурецкийTurkish trtr
20522052 Китайский (упрощенное письмо)Chinese – Simplified zh-Hanszh-Hans
20702070 Португальский (Португалия)Portuguese – Portugal pt-PTpt-PT
30823082 Испанский (Испания, современная сортировка)Spanish - Spain (Modern Sort) eses

См. такжеSee also