Программа регистрации IIS для ASP.NET (Aspnet_regiis.exe)

Средство регистрации IIS для ASP.NET (Aspnet_regiis.exe) используется для регистрации приложений ASP.NET в службах IIS. В этом разделе описываются параметры, синтаксис и другие сведения по использованию средства.

С помощью средства регистрации IIS для ASP.NET можно выполнять следующие задачи:

  • Регистрация установки ASP.NET платформы .NET Framework в IIS или удаление этой установки из IIS.

  • Создание нового пула приложений ASP.NET 4.

  • Отображение состояния всех установленных версий ASP.NET.

Важное примечаниеВажно

Версия Aspnet_regiis, входящая в состав .NET Framework 4, имеет новые функции и возможности, которые описаны в разделе Параметры. Однако эти возможности доступны только при установке .NET Framework 4 в операционной системе Windows Vista, Windows Server 2008 или Windows 7. При установке .NET Framework 4 на любую версию Windows XP или Windows Server 2003 это средство работает так же, как в версиях платформы .NET Framework до версии 3.5 включительно. Дополнительные сведения о работе Aspnet_regiis в Windows XP и в Windows Server 2003 см. на странице Средство регистрации IIS ASP.NET для .NET Framework версии 3.5 (страница может быть на английском языке).

.NET Framework 4 можно установить одновременно с предыдущими версиями .NET Framework на одном компьютере. Если на компьютере ранее были включены службы IIS, процесс установки платформы .NET Framework автоматически регистрирует ASP.NET 4 в IIS. Однако при установке .NET Framework 4 до включения IIS необходимо запустить программу регистрации IIS для ASP.NET, чтобы зарегистрировать платформу .NET Framework в IIS и создать пулы приложений, использующие .NET Framework 4.

Предупреждающее замечаниеВнимание

Сведения о поиске соответствующей версии Aspnet_regiis.exe см. в подразделе Поиск подходящей версии Aspnet_regiis.exe далее в этом документе.

aspnet_regiis [options]

Параметры i, ir, iru и enable — обычно единственные параметры, необходимые для регистрации приложений ASP.NET в IIS.

Параметр

Описание

-c

Устаревший параметр, который не применяется при запуске приложения в среде ASP.NET версии 4. Сведения о работе этого параметра с предыдущими версиями ASP.NET см. на странице Средство регистрации IIS ASP.NET для .NET Framework версии 3.5 (страница может быть на английском языке).

-disable

В IIS 6.0 и IIS 7.0 в классическом режиме этот параметр отключает расширение ASP.NET ISAPI. Эта команда не применяется в интегрированном режиме IIS 7.0.

Этот параметр можно сочетать только с параметрами -i, -ir или -r. Он недоступен с версиями IIS, предшествующими IIS 6.0.

-e

Удаляет клиентские скрипты для ASP.NET из подкаталогов aspnet_client всех каталогов узла IIS.

Удаляются только клиентские скрипты для версии ASP.NET, связанной с программой Aspnet_regiis.exe.

-ea

Удаляет клиентские скрипты для всех версий ASP.NET из подкаталогов aspnet_client всех каталогов узла IIS.

-enable

В 6.0 и IIS 7.0 в классическом режиме этот параметр включает расширение ASP.NET ISAPI. Эта команда не применяется в интегрированном режиме IIS 7.0.

Этот параметр можно сочетать только с параметрами -i, -ir или -r. Он не доступен с версиями IIS, предшествующими IIS 6.0, или с версиями ASP.NET, предшествующими ASP.NET версии 2.0.

-ga user

Предоставляет указанному пользователю или группе пользователей доступ к метабазе IIS и другим каталогам, используемым ASP.NET. Этот параметр обычно используется при создании настраиваемой учетной записи службы. Дополнительные сведения см. в разделе How to: Create a Service Account for an ASP.NET 2.0 Application.

Этот параметр недоступен с версиями ASP.NET, предшествующими ASP.NET 2.0.

При установке в операционной системе Windows Vista, Windows Server 2008 или Windows 7 этот параметр позволяет задать ACL для групп.

ПримечаниеПримечание
Версия Aspnet_regiis.exe, предусмотренная в ASP.NET 3.5 и более ранних версиях, при указании локального пользователя или группы дает сбой.

-i

Устанавливает ASP.NET 4 и обновляет существующие приложения для использования версии ASP.NET 4 пула приложений. Обновляет обработчики классического и интегрированного режимов IIS, а также сопоставления скриптов в метабазе IIS.

Этот параметр создает два пула приложений — ASP.NET v4.0 и ASP.NET v4.0 Classic. Пул приложений DefaultAppPool и пулы приложений Classic .NETAppPool настраиваются для версии .NET Framework 4 среды CLR.

32-разрядная версия Aspnet_regiis.exe добавляет в файл Applicationhost.config только 32-разрядные сопоставления скриптов. 64-разрядная версия Aspnet_regiis.exe добавляет в файл Applicationhost.config 32-разрядные и 64-разрядные сопоставления скриптов. Это делается потому, что в 64-разрядных версиях установок Windows Vista, Windows Server 2008 и Windows 7, в которых включены службы IIS 7.0, также включена поддержка WOW64.

ПримечаниеПримечание
В диалоговом окне Компоненты Windows операционной системы не выбран параметр для интеграции ASP.NET.(Этот параметр содержится в разделе Службы IIS.) В диалоговом окне Компоненты Windows отображается только состояние интеграции ASP.NET 2.0.Не отображает сведения о версии 4.

-ir

Устанавливает и регистрирует ASP.NET 4. Этот параметр аналогичен параметру -i, за исключением того, что он не приводит к изменению версии среды CLR, которая связана с любыми существующими пулами приложений.

-iru

Если ASP.NET в текущий момент не зарегистрирован с IIS, то выполняются задачи, описанные для -i.

Если предыдущая версия ASP.NET с IIS уже зарегистрирована с IIS, данный параметр выполняет задачи, описанные для -ir.

-k path

Этот параметр не поддерживается в Windows Vista, Windows Server 2008 или Windows 7.

Сведения о работе этого параметра в операционной системе Windows XP или Windows Server 2003 см. на странице Средство регистрации IIS ASP.NET для .NET Framework версии 3.5 (страница может быть на английском языке).

-kn path

Этот параметр не поддерживается в Windows Vista, Windows Server 2008 или Windows 7.

Сведения о работе этого параметра в операционной системе Windows XP или Windows Server 2003 см. на странице Средство регистрации IIS ASP.NET для .NET Framework версии 3.5 (страница может быть на английском языке).

-lk

Выводит список путей и версий для всех ключей метабазы IIS, сопоставленных с ASP.NET. Этот параметр не поддерживается в Windows Vista и более поздних версиях.

Ключи, наследующие сопоставления скриптов ASP.NET от родительского ключа, не отображаются.

-lv

Перечисляет состояния и пути установки для всех версий ASP.NET, установленных на компьютере.

-norestart

Этот параметр не поддерживается в Windows Vista, Windows Server 2008 или Windows 7.

Сведения о работе этого параметра в операционной системе Windows XP или Windows Server 2003 см. на странице Средство регистрации IIS ASP.NET для .NET Framework версии 3.5 (страница может быть на английском языке).

-r

Выполняет задачи, описанные для параметра -i, а также переключает все пулы приложений для использования среды CLR платформы .NET Framework 4.

-s path

Обновляет карты сценариев и назначения пулов приложений для конкретного приложения и всех под-приложений.

В случае некорневого веб-приложения (не W3SVC\ или W3SVC\ROOT) параметры пула приложений для этого веб-приложения и всех его дочерних приложений копируются в новый пул приложений с именем ASP.NET V4.0 имя_исходного_пула_приложений, а затем некорневое веб-приложение перемещается в новый пул приложений. Новый пул приложений имеет те же параметры, что и исходный пул приложений, за исключением того что копия сопоставляется со средой CLR .NET Framework 4 и имеет параметры ASP.NET 4.

Если новый пул приложений ASP.NET V4.0 имя_исходного_пула_приложений уже существует, этап создания и клонирования пула приложений пропускается. Вместо этого Aspnet_regiis.exe использует существующий пул приложений с применением среды CLR платформы .NET Framework 4, но не вносит никаких других изменений. Затем средство перемещает указанное приложение и его под-приложения в соответствующую копию пула приложений. Существующие параметры пула приложений, остаются без изменений.

Если указанное приложение является корневым веб-узлом (W3SVC\ или W3SVC\ROOT), то Aspnet_regiis.exe обновляет все пулы приложений для использования среды CLR платформы .NET Framework 4 и ASP.NET 4.

-sn path

Выполняет задачи, описанные для параметра -s, за исключением того, что параметр -sn не является рекурсивным. Обновляет карты сценариев и назначения пулов приложений для конкретного приложения. Дочерние приложения не изменены.

Если указанное приложение является корневым (W3SVC\ или W3SVC\ROOT), Aspnet_regiis.exe изменяет пулы приложений DefaultAppPool, Classic .NET AppPool, ASP.NET V4.0 и ASP.NET  V4.0 Classic" для использования среды CLR платформы .NET Framework 4 и ASP.NET 4.

-u

В случае удаления установки оставляются две версии 4 пулов приложений, а также любые приложения, существовавшие в двух версиях четырех пулов приложений.

Этот параметр также удаляет атрибут managedRuntimeVersion у пулов приложений, которые были сопоставлены со средой CLR платформы .NET Framework 4. Это приведет к возврату пулов приложений к значению IIS 7.0 для среды выполнения по умолчанию, равному 2.0 в Windows Vista, Windows Server 2008 и Windows 7.

Этот параметр удаляет все явные сопоставления обработчика и модуля версии 4. Также удаляются все сопоставления сценариев (32-разрядные и 64-разрядные), независимо от того, используется ли 32-разрядная или 64-разрядная версия Aspnet_regiis.exe.

-ua

В случае удаления установки оставляется две версии 4 пулов приложений, а также оставляются любые приложения, бывшие в двух версиях 4 пулов приложений.

Этот параметр удаляет все регистрации ASP.NET (версий 2.0 и 4) из файла Applicationhost.config. Также удаляются все сопоставления сценариев (32-разрядные и 64-разрядные), независимо от того, используется ли 32-разрядная или 64-разрядная версия Aspnet_regiis.exe.

Существующие пулы приложений по-прежнему будут связаны с платформой .NET Framework 2.0, поскольку это значение по умолчанию для атрибута managedRuntimeVersion.

-?

Отображает синтаксис команд и параметры средства регистрации IIS для ASP.NET.

Параметры конфигурации

Параметр

Описание

-config+

Включает удаленный доступ к конфигурации ASP.NET.

-config-

Отключает удаленный доступ к конфигурации ASP.NET.

-pa учетная запись контейнера

Предоставляет учетной записи account заданного пользователя или группы пользователей доступ к заданному контейнеру ключей. Этот параметр может иметь следующие модификаторы:

  • -pku   Заменяет контейнер компьютера, используемый по умолчанию, пользовательским контейнером.

  • -csp provider   Задает используемый поставщик контейнера.

  • -full   Задает, что должен быть добавлен полный доступ (по умолчанию имеется доступ только на чтение).

-pc контейнер

Создает пару ключей "открытый/закрытый" RSA в заданном контейнере. Этот параметр может иметь следующие модификаторы:

  • -size keySize   Задает размер ключа. Значение по умолчанию — 2048 байт.

  • -pku   Заменяет пользовательский контейнер на используемый по умолчанию контейнер ключа.

  • -exp   Задает, что для закрытых ключей должна быть предусмотрена возможность экспорта.

  • -csp provider   Задает используемый поставщик контейнера.

-pd раздел

Расшифровывает раздел конфигурации. Этот аргумент может принимать следующие параметры:

  • -app virtualPath   Задает, что шифрование должно выполняться на уровне включенного пути.

  • -location subPath   Задает подкаталог для расшифровки.

  • -pkm   Определяет, что вместо файла Web.config должен быть расшифрован файл Machine.config.

-pdf раздел webApplicationDirectory

Расшифровывает заданный раздел конфигурации файла Web.config в заданном физическом (не виртуальном) каталоге.

-pe раздел

Шифрует указанный раздел конфигурации. Этот параметр может иметь следующие модификаторы:

  • -prov provider   Определяет используемый поставщик функций шифрования.

  • -app virtualPath    Определяет, что шифрование должно выполняться на уровне включенного пути.

  • -location subPath   Определяет подкаталог для шифрования.

  • -pkm   Определяет, что вместо файла Web.config должен шифроваться файл Machine.config.

-pef section webApplicationDirectory

Шифрует заданный раздел конфигурации файла Web.config в заданном физическом (не виртуальном) каталоге.

-pi файл контейнера

Импортирует пару ключей "открытый/закрытый" RSA в контейнер, заданный параметром container, из заданного XML-файла file. Этот параметр может иметь следующие модификаторы:

  • -pku   Заменяет контейнер компьютера, используемый по умолчанию, пользовательским контейнером.

  • -exp   Определяет, что закрытые ключи могут быть экспортированы.

  • -csp provider   Задает используемый поставщик контейнера.

-pr учетная запись контейнера

Запрещает учетной записи account заданного пользователя или группы пользователей доступ к заданному контейнеру ключей. Этот параметр может иметь следующие модификаторы:

  • -pku   Заменяет контейнер компьютера, используемый по умолчанию, пользовательским контейнером.

  • -csp provider   Задает используемый поставщик контейнера.

-px файл контейнера

Экспортирует пару ключей "открытый/закрытый" RSA из заданного контейнера в заданный XML-файл. Этот параметр может иметь следующие модификаторы:

  • -pku   Заменяет контейнер компьютера, используемый по умолчанию, пользовательским контейнером.

  • -csp provider   Задает используемый поставщик контейнера.

-pz контейнер

Удаляет заданный контейнер ключей. Этот параметр может иметь следующий модификатор:

  • -pku   Заменяет контейнер компьютера, используемый по умолчанию, пользовательским контейнером.

Сосуществование на компьютере нескольких установленных версий ASP.NET называется параллельным выполнением версий ASP.NET. В этом сценарии необходимо настроить IIS, чтобы указать, какая версия ISAPI ASP.NET (aspnet_isapi.dll) должна обрабатывать страницу в приложении ASP.NET. В IIS 7.0, как в классическом, так и в интегрированном режиме, версия среды CLR, установленная для пула приложений, определяет, какая версия ASP.NET и какие связанные версии среды CLR используются для выполнения приложения. В IIS 6.0 сопоставление обработчика сценариев используется для связывания приложения с конкретной версией ISAPI ASP.NET, и версия ISAPI в свою очередь определяет, какая версия среды CLR используется для запуска приложения.

Существуют 32- и 64-разрядные версии Aspnet_regiis.exe. Для Windows Vista и Windows Server 2008 можно запустить 32-разрядную версию данного средства на 64-разрядной установке IIS. Это позволяет запускать смешанные 32-разрядные и 64-разрядные рабочие процессы на одной и той же 64-разрядной системе. В следующей таблице перечислены особые случаи и ограничения, применяемые при запуске 32-разрядной версии данного средства на 64-разрядной версии IIS.

Версия IIS

Особые случаи для 32-разрядных версий программы Aspnet_regiis.exe

6.0

Можно запустить 32-разрядную версию Aspnet_regiis.exe в 64-разрядной версии IIS 6.0 на Windows Server 2003 со следующими ограничениями:

  • 32-разрядная версия работает, только если служба IIS настроена для работы в 32-разрядном режиме.

  • 64-разрядная версия работает, только если служба IIS настроена для работы в 64-разрядном режиме.

7.0

В Windows Vista, Windows Server 2008 и Windows 7 при запуске 32-разрядной версии Aspnet_regiis.exe в IIS 7 средство не устанавливает автоматически атрибут enable32BitAppOnWin64 элемента applicationPools. В установке по умолчанию 64-разрядной операционной системы с включенной возможностью Windows on Windows 64 можно использовать 32-разрядную версию Aspnet_regiis.exe для настройки служб IIS 7, но не удастся запустить какое-либо 32-разрядное приложение, если явно не изменить атрибут enable32BitAppOnWin64, чтобы разрешить выполнение приложения в Windows on Windows 64. Дополнительные сведения о параметрах конфигурации IIS 7.0 см. в документации по элементу applicationPools в файле Applicationhost.config.

Средство регистрации IIS для ASP.NET обычно используется с параметром -s или -sn, чтобы восстановить сопоставление приложения ASP.NET с версией .NET Framework , с которой оно связано. Параметр -s применяется для обновления приложения в указанном корневом каталоге приложения и всех его подкаталогах. Если не нужно обновлять приложения, расположенные в подкаталогах, задайте параметр -sn.

ПримечаниеПримечание

Параметр path ссылается на корневой каталог приложения, а не на физический путь. Например, W3SVC/1/ROOT/SampleApp1.

Средство регистрации IIS для ASP.NET можно также использовать для просмотра сведений о ASP.NET. Чтобы перечислить состояния и пути установки для всех версий ASP.NET, установленных на компьютере, используется параметр -lv.

Параметр -norestart предотвращает перезапуск службы публикации в Интернете после установки или обновления сопоставлений скриптов ASP.NET. Этот параметр следует использовать, если при запуске нескольких веб-сайтов в IIS, расположенных в разных пулах приложений, перезапуск всех приложений нежелателен.

Любые изменения, сделанные с помощью вкладки ASP.NET консольного приложения служб IIS, также вызывают перезапуск всех пулов приложений. Если нужно изменить версию ASP.NET, используемую приложением, не вызывая перезапуск всех пулов приложений, выполните следующие две команды для изменения версии.

aspnet_regiis -s w3svc/<instance>/root -norestart
iisapp /a <app pool> /r

Средство регистрации IIS для ASP.NET может также использоваться для установки и удаления связанной версии ASP.NET. Параметр -i используется для установки ASP.NET и обновления сопоставлений скриптов для всех существующих приложений ASP.NET. Параметр -ir используется для установки ASP.NET без обновления сопоставлений скриптов. Для удаления версии ASP.NET, связанной с этим средством, используется параметр -u. Чтобы удалить с компьютера все версии ASP.NET, используйте параметр -ua.

Средство регистрации IIS для ASP.NET можно также использовать для просмотра сведений о ASP.NET. Чтобы перечислить состояния и пути установки для всех версий ASP.NET, установленных на компьютере, используется параметр -lv. Чтобы просмотреть пути ко всем ключам метабазы IIS, где сопоставляется ASP.NET, используйте параметр -lk.

Средство Aspnet_regiis.exe можно использовать для установки и удаления системного клиентского скрипта, например скрипта для клиентской проверки. Параметр -c используется для установки клиентского скрипта для версии ASP.NET, связанной с этим средством. (Скрипт устанавливается в подкаталоге Aspnet_client каждого каталога веб-сайтов IIS.) Для удаления клиентского скрипта для версии ASP.NET, связанной с этим средством, используется параметр -e. Для удаления клиентского скрипта для всех установленных версий ASP.NET используется параметр -ea.

Если при использовании олицетворения у учетной записи олицетворения отсутствует доступ на чтение к метабазе IIS, то при попытке доступа к DirectoryEntry возникает исключение COMException с сообщением "Доступ запрещен". Это может произойти, когда в корневом каталоге приложения существует подкаталог Code. Эта ошибка также может произойти, когда приложение сопоставляется с общей папкой UNC и у учетной записи UNC отсутствует доступ на чтение к метабазе. В обоих случаях проблема решается путем запуска средства регистрации IIS для ASP.NET с параметром -ga пользователь для олицетворения или учетной записи UNC.

Дополнительные сведения о сопоставлениях скриптов и корневых путей приложений см. в документации по IIS на веб-сайте корпорации Майкрософт.

Следующая команда устанавливает версию ASP.NET, связанную с используемой версией средства регистрации IIS для ASP.NET, и обновляет существующие приложения ASP.NET. В IIS 6.0 эта команда обновляет сопоставления скриптов существующих приложений ASP.NET, которые в данный момент сопоставлены с более ранней версией ASP.NET. В IIS 7.0 эта команда обновляет обработчики классического и интегрированного режимов в метабазе IIS. Она также переключает пулы приложений DefaultAppPool и Classic  .NET AppPool для использования среды CLR платформы .NET Framework 4.

aspnet_regiis -i

Следующая команда устанавливает версию ASP.NET, связанную с данным средством, не обновляя существующие приложения. В IIS 7.0 эта команда не обновляет версию платформы .NET Framework, связанную с пулами приложений DefaultAppPool и Classic .NET AppPool.

aspnet_regiis -ir

Следующая команда отображает состояния и пути установки для всех версий ASP.NET, установленных на компьютере.

aspnet_regiis -lv

Следующая команда обновляет веб-приложение и все его дочерние приложения для использования версии ASP.NET, связанной с данным средством. В IIS 6.0 сопоставления скриптов обновляются. В IIS 7.0 приложение сопоставляется с новым пулом приложений.

aspnet_regiis -s W3SVC/1/ROOT/SampleApp1

Следующая команда выполняет те же функции, что и команда -s, за исключением того что не влияет на приложения в подкаталогах.

aspnet_regiis -sn W3SVC/1/ROOT/SampleApp1

Следующая команда предоставляет указанным учетным записям пользователей или групп доступ к метабазе IIS и другим каталогам, используемым ASP.NET.

aspnet_regiis -ga MyUserGroup W3SVC/1/ROOT/SampleApp1

Aspnet_regiis.exe устанавливается в каталог Microsoft .NET Framework. Если на компьютере одновременно работает несколько версий .NET Framework, можно установить несколько версий программы. В следующей таблице перечислены расположения, в которых устанавливается эта программа для различных версий .NET Framework.

Версия платформы .NET Framework

Расположение файла Aspnet_regiis.exe

.NET Framework версии 1

%windir%\.NET\Framework\v1.0.3705

.NET Framework версии 1.1

%windir%\Microsoft.NET\Framework\v1.1.4322

.NET Framework версии 2.0, версии 3.0 и версии 3.5 (32-разрядные системы)

%windir%\Microsoft.NET\Framework\v2.0.50727

.NET Framework версии 2.0, версии 3.0 и версии 3.5 (64-разрядные системы)

%windir%\Microsoft.NET\Framework64\v2.0.50727

Платформа .NET Framework версии 4 (32-разрядные системы)

%windir%\Microsoft.NET\Framework\v4.0.30319

Платформа .NET Framework версии 4 (64-разрядные системы)

%windir%\Microsoft.NET\Framework64\v4.0.30319

Каталоги для .NET Framework версий 3.0 и 3.5 не имеют копии этого средства. Дополнительные сведения см. в записи How to set an IIS Application or AppPool to use ASP.NET 3.5 rather than 2.0 в блоге Скотта Хансельмана.

Показ: