Я создал веб-приложение ASP.NET с Visual Studio 2008 и целевой платформой версии 2.0.Я создал проект Web Setup, чтобы развернуть его на нескольких целевых ОС.
Для проекта установки я написал пользовательское действие, которое выполняется при событии «OnCommitting».Это настраиваемое действие добавляет сопоставление сценария с подстановочными знаками для маршрутизации всех запросов через механизм ASP.NET.
FileMon предполагает, что при создании файла в следующем каталоге произошла ошибка:C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files
Учетная запись пользователя, которая пыталась выполнить это действие, была IWAM_,
Проблема заключается в том, что после запуска этой установки, если я пытаюсь получить доступ к любому URL-адресу на недавно установленном сайте, я получаю сообщение об ошибке:
Ошибка сервера в приложении '/ myapp'.
Не удалось получить доступ к метабазе IIS.
Описание: Произошло необработанное исключение во время выполнения текущего веб-запроса.Просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Web.Hosting.HostingEnvironmentException: Не удалось получить доступ к метабазе IIS.
Учетная запись процесса, используемая для запуска ASP.NET, должна иметь доступ для чтения к метабазе IIS (например, IIS: // имя_сервера / W3SVC).Для получения информации об изменении разрешений метабазы см. http://support.microsoft.com/?kbid=267904.
Ошибка источника:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Я уже пробовал эти варианты после 2 дней поиска в Google:
- Запустите aspnet_regiis -i
- Запустите aspnet_regiis -ga \ ASPNET
- Запустите aspnet_regiis -u, а затем aspnet_regiis -i
На данный момент у меня работает вариант 3, но я хочу избегать его использования, поскольку мое веб-приложение будет развернуто на компьютере, на котором уже может быть размещено какое-то другое приложение в IIS, и я не хочу мешать этим приложениям.
Может кто-нибудь предложить мне обходной путь для этого?
Кстати, в моей нынешней системе установлены .Net framework 3.5 и VS2008, установленные на Win XP SP3 и IIS 5.1.
Спасибо,Vamyip