I need to override some settings for .NET components hosted inside Internet Explorer. I’ve created an iexplore.exe.config file and placed it in c:\program files\internet explorer.
Below is the config file:
<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>
Unfortunately, this seems to be completely ignored by IE. Even if I put invalid text in the file, no errors are logged.
This same configuration works perfectly if I added it to the machine.config, but I wanted to limit my overrides to IE if possible.
I tried enabling the IEHostLogFile (see: http://support.microsoft.com/kb/313892), and this gave me some interesting entries. It suggests that a remote configuration file is being loaded:
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 examined that config file, and it doesn’t override the system.net section, so I should still be able to provide my overrides. I could try modifying that file, but this solution wouldn’t work for me as I don’t want everybody who uses this application to be affected, just specific machines.
Ideas?
Maybe it helps when you put the following in your hostig websites head:
Checkout the following link. pretty old thou, but maybe this hasnt changed:
http://msdn.microsoft.com/en-us/library/aa719757(vs.71).aspx
If this solves the issue, you could think about how to include this only for certain machines.