El módulo tiene una condición previa no válida

Microsoft.Windows.InternetInformationServices.6.2.Module.has.an.invalid.precondition (Rule)

Knowledge Base article:

Resumen

Internet Information Services (IIS) 8 permite a los desarrolladores configurar con facilidad módulos nativos y de código administrado que procesan las solicitudes realizadas al servidor web. Para que los procesos de trabajo los carguen, los módulos tienen que estar configurados correctamente. Una configuración adecuada del módulo requiere que este tenga un nombre exclusivo y un tipo o una ruta válidos. Los módulos administrados pueden especificar si solo se invocan para solicitudes a aplicaciones ASP.NET o controladores administrados. Cuando se especifique, esta configuración puede optimizar el rendimiento.

Soluciones

Corregir las condiciones previas de un módulo

Las entradas de módulo tienen un atributo de condición previa opcional que contiene las condiciones para la carga del módulo. Por ejemplo, la condición previa puede especificar que IIS cargue el módulo solo para los grupos de aplicaciones que se ejecuten en modo integrado, solo para grupos de aplicaciones que se ejecuten en modo ISAPI o solo para grupos de aplicaciones que utilicen la versión de .NET Framework especificada. Esta última configuración posibilita la utilización de versiones independientes de módulos de motor administrados para grupos de aplicaciones que utilicen distintas versiones de tiempo de ejecución de CLR.

Este es un ejemplo de la sección globalModules del archivo ApplicationHost.config de una entrada de módulo que tiene un atributo preCondition:

<globalModules>

     <add name="ManagedEngine"

           image="%Windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll"

           preCondition="integratedMode,runtimeVersionv2.0,bitness32"

      />

<globalModules>

Antes de cargar los módulos, el servidor valora la condición previa si esta está presente en la configuración. Si alguna de estas condiciones previas de carga devuelve False, el módulo no se carga.

Para solucionar este problema:

Hacer una copia de seguridad del archivo ApplicationHost.config

Para hacer una copia de seguridad del archivo ApplicationHost.config:

Se creará un directorio con el nombre de la copia de seguridad que haya especificado en el directorio %Windir%\system32\inetsrv\backup. Si no especifica un nombre, Appcmd.exe creará un nombre de directorio de manera automática con la fecha y la hora actuales.

Buscar la entrada de módulo en el archivo ApplicationHost.config

Para buscar la entrada de módulo en el archivo ApplicationHost.config:

Para obtener más información sobre la sección globalModules, consulte la documentación sobre IIS 8: agregar elemento para globalModules (esquema de configuración de IIS).

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.6.2.WebServer
CategoryAlert
EnabledTrue
Event_ID2296
Event SourceMicrosoft-Windows-IIS-W3SVC-WP
Alert GenerateFalse
RemotableTrue
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
WA WriteAction Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription Default

Source Code:

<Rule ID="Microsoft.Windows.InternetInformationServices.6.2.Module.has.an.invalid.precondition" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.6.2.WebServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-IIS-W3SVC-WP</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2296</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.6.2.Module.has.an.invalid.precondition.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>