2012-02-16 16 views
7

Necesito anular algunas configuraciones para componentes .NET alojados dentro de Internet Explorer. Creé un archivo iexplore.exe.config y lo coloqué en c: \ program files \ internet explorer.iexplore.exe.config se ignora

A continuación se muestra el archivo de configuración:

<configuration> 
    <system.net> 
     <webRequestModules> 
      <remove prefix="http:"/> 
      <remove prefix="https:"/> 
      <add prefix="http:" type="MyHttpRequestCreator, MyRequestModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bee8bd1bab54ad99" /> 
      <add prefix="https:" type="MyHttpRequestCreator, MyRequestModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bee8bd1bab54ad99" /> 
     </webRequestModules> 
    </system.net> 
</configuration> 

Desafortunadamente, esto parece ser completamente ignorado por el IE. Aunque coloque texto no válido en el archivo, no se registran errores.

Esta misma configuración funciona perfectamente si la agregué a machine.config, pero quería limitar mis reemplazos a IE, si es posible.

Intenté habilitar IEHostLogFile (ver: http://support.microsoft.com/kb/313892), y esto me dio algunas entradas interesantes. Se indica que un archivo de configuración remota está siendo cargado:

Microsoft.IE.SecureFactory: Added configuration file: DotNetConfig.xml 
Microsoft.IE.SecureFactory: Application base: http://someserver/dotnet/ 
Microsoft.IE.SecureFactory: Private Bin Path: bin 
Microsoft.IE.IDKey: Created key 
Microsoft.IE.SecureFactory: Trying to create instance of type http://someserver/dotnet/ 
SomeApp.DLL#SomeApp.SomeClass 
... 

I examinó ese archivo de configuración, y no anula la sección system.net, por lo que todavía debe ser capaz de proporcionar mis anulaciones. Podría intentar modificar ese archivo, pero esta solución no me funcionaría porque no quiero todo el mundo que utiliza esta aplicación para ser afectada, solo máquinas específicas.

Ideas?

+0

¿Está comprobando ... sistema operativo x86 o x64? (Solo porque si es x64, es probable que realmente desee colocarlo en 'C: \ Archivos de programa (x86) \ Internet Explorer') – JimmiTh

+0

Mi prueba ha estado en máquinas x86 y x64, y he colocado el config en ambas ubicaciones en la máquina x64, solo para estar seguro. El IE predeterminado es de 32 bits, y ese es el que estoy lanzando, pero estaba apuñalando la oscuridad en ese punto. – RMD

Respuesta

2

Tal vez ayuda cuando se pone lo siguiente en su cabeza sitios web hostig:

<link rel="Configuration" href="your.config"/> 

Pedido el siguiente enlace. tú bastante viejo, pero tal vez esto ya no haya cambiado:

http://msdn.microsoft.com/en-us/library/aa719757(vs.71).aspx

Si esto resuelve el problema, podría pensar en la forma de incluir esto sólo para ciertas máquinas.

+0

Sugerencia interesante, pero desafortunadamente no soy el propietario del sitio o sitios web objetivo. – RMD

+0

+1, no creo que IE use iexplore.exe.config: http://msdn.microsoft.com/en-us/library/1xtk877y.aspx – Joe

+0

Sascha parece ser correcto, a pesar de cierta documentación engañosa de Microsoft. – RMD

0

This article notes que:

Si una aplicación alojada en Internet Explorer tiene un archivo de configuración , la ubicación de este archivo se especifica en una etiqueta con el siguiente sintaxis:

<link rel="ConfigurationFileName" href="location">

En esta etiqueta, la ubicación es una URL para el archivo de configuración. Esto establece la base de la aplicación. El archivo de configuración debe estar ubicado en el mismo sitio web que la aplicación.

también, por favor vistazo a la respuesta de Dan Hickman en this thread. Se proporcionan instrucciones similares here (consulte en la sección 'Cómo incrustar controles'). Todos ellos proporcionan permisos de acceso apropiados.