Aplicativo ASP.NET hospedado no IIS7 que ignora erros personalizados e volta a erros do IIS

Eu tenho um aplicativo Web ASP.NET 4.0 de formulários da Web C # que usa o Roteamento para URLs por algum motivo, erros personalizados definidos na seção system.web do meu web.config é totalmente ignorada e causa erros nos IIS.

Isso é totalmente ignorado

  <system.web>
    <customErrors mode="On">
      <error statusCode="500" redirect="~/Error" />
      <error statusCode="404" redirect="~/404" />
      <error statusCode="403" redirect="~/Error" />
    </customErrors>
  </system.web>

Esta parte assume

  <system.webServer>
    <httpErrors>
      <!--<clear />-->
      <remove statusCode="500" subStatusCode="-1" />
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" subStatusCode="-1" path="/App1/404" responseMode="Redirect" />
      <error statusCode="500" prefixLanguageFilePath="" path="/App1/Error" responseMode="Redirect" />
    </httpErrors>
  </system.webServer>

Isso seria um pequeno inconveniente, exceto pelo fato de ele voltar ao nativo do IIS, em vez do meu aplicativo, evitar completamente o Elmah, registrando corretamente minhas exceções 404.

Editar: Apenas para evitar sugestões, adicionei apenas a configuração httpErrors depois que o customErrors parou de funcionar para que eu tivesse qualquer coisa.

questionAnswers(4)

yourAnswerToTheQuestion