HighTechTalks DotNet Forums  

Internet Explorer Ignoring supportedRuntime Directive

Dotnet Framework (CLR) microsoft.public.dotnet.framework.clr


Discuss Internet Explorer Ignoring supportedRuntime Directive in the Dotnet Framework (CLR) forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Jediah L
 
Posts: n/a

Default Internet Explorer Ignoring supportedRuntime Directive - 05-01-2006 , 03:50 PM






I have an html application that uses an embeded .Net user control - and has
specified the startup attribute for supportedRuntime for 1.1.4322 - inside
of a XML configuration file.

When I run this application it ignores the runtime directive and loads up
the 2.0 runtime - I have verified this with the Fusion Logger.

Here is the Log Entry:

*** Assembly Binder Log Entry (5/1/2006 @ 3:40:58 PM) ***

The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.

Assembly manager loaded from:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msco rwks.dll
Running under executable C:\WINDOWS\System32\mshta.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = UNUM\C7J4L
LOG: Where-ref bind. Location = http://navilinkd2/assemblies/Main.dll
LOG: Appbase = http://navilinkd2/
LOG: Initial PrivatePath = bin
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : (Unknown).
===
LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will
only be probed in default load context, like with Assembly.Load().
LOG: Using application configuration file: C:\Documents and
Settings\c7j4l\Local Settings\Temporary Internet
Files\Content.IE5\LSUSJBCK\AppConfig[1].xml
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\conf ig\machine.config.
LOG: Attempting download of new URL http://navilinkd2/assemblies/Main.dll.
LOG: Assembly download was successful. Attempting setup of file:
C:\Documents and Settings\c7j4l\Local Settings\Temporary Internet
Files\Content.IE5\FV13NP4W\Main[1].dll
LOG: Entering download cache setup phase.
LOG: Assembly Name is: Main, Version=3.3.1739.23226, Culture=neutral,
PublicKeyToken=null
LOG: Re-apply policy for where-ref bind.
LOG: Where-ref bind Codebase matches what is found in default context. Keep
the result in default context.
LOG: The post-policy assembly reference requires probing again.
LOG: Switch from LoadFrom context to default context.
LOG: Using application configuration file: C:\Documents and
Settings\c7j4l\Local Settings\Temporary Internet
Files\Content.IE5\LSUSJBCK\AppConfig[1].xml
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\conf ig\machine.config.
LOG: Policy not being applied to reference at this time (private, custom,
partial, or location-based assembly bind).
LOG: Attempting download of new URL http://navilinkd2/Main.DLL.
ERR: Downloaded file was not cached. The web server may be configured to
expire content immediately.
LOG: Attempting download of new URL http://navilinkd2/Main/Main.DLL.
ERR: Downloaded file was not cached. The web server may be configured to
expire content immediately.
LOG: Attempting download of new URL http://navilinkd2/bin/Main.DLL.
ERR: Downloaded file was not cached. The web server may be configured to
expire content immediately.
LOG: Attempting download of new URL http://navilinkd2/bin/Main/Main.DLL.
ERR: Downloaded file was not cached. The web server may be configured to
expire content immediately.
LOG: Attempting download of new URL http://navilinkd2/assemblies/Main.DLL.
LOG: Assembly download was successful. Attempting setup of file:
C:\Documents and Settings\c7j4l\Local Settings\Temporary Internet
Files\Content.IE5\KDMFC9AJ\Main[1].DLL
LOG: Entering download cache setup phase.
WRN: A duplicate assembly was found while copying the assembly item to the
cache.
LOG: Binding succeeds. Returns assembly from C:\Documents and
Settings\c7j4l\Local Settings\Application
Data\assembly\dl3\1BW8NQ4X.141\CDZJH791.AGL\e64e7f 7e\80d0c352_04abc401\Main.dll.
LOG: Assembly is loaded in default load context.



Here is the AppConfig value that I have entered - it is getting streamed to
the client - I have verified with the Fusion Logger.


- <startup>
<supportedRuntime version="v1.1.4322" />
</startup>

Here is something of interest I get in an attached debbuger:

(f20.53c): CLR exception - code e0434f4d (first chance)
(f20.53c): CLR exception - code e0434f4d (first chance)
(f20.53c): C++ EH exception - code e06d7363 (first chance)
(f20.53c): C++ EH exception - code e06d7363 (first chance)
(f20.53c): CLR exception - code e0434f4d (first chance)
(f20.53c): CLR exception - code e0434f4d (first chance)
(f20.53c): C++ EH exception - code e06d7363 (first chance)
(f20.53c): C++ EH exception - code e06d7363 (first chance)



Is there something else that I am missing?



The most intresting part is - if I run the app from a local web server -
instead of a remote web server - even though it loads up 2.0 - it doesn't
fail - but on the remote server it fails...




Reply With Quote
  #2  
Old   
Jediah L
 
Posts: n/a

Default Re: Internet Explorer Ignoring supportedRuntime Directive - 05-01-2006 , 06:49 PM






Ok - it seems that IE loads up 1.1 embeded user controls with the 2.0 loader
even if you specify a different value in the application configuration
file - that's a bit annoying.

The problem was the CASPOL - I didn't have the settings I needed for 2.0
(not knowing 2.0 was being used).




"Jediah L" <rife (AT) nospam (DOT) nospam> wrote

Quote:
I have an html application that uses an embeded .Net user control - and has
specified the startup attribute for supportedRuntime for 1.1.4322 - inside
of a XML configuration file.

When I run this application it ignores the runtime directive and loads up
the 2.0 runtime - I have verified this with the Fusion Logger.

Here is the Log Entry:

*** Assembly Binder Log Entry (5/1/2006 @ 3:40:58 PM) ***

The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.

Assembly manager loaded from:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msco rwks.dll
Running under executable C:\WINDOWS\System32\mshta.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = UNUM\C7J4L
LOG: Where-ref bind. Location = http://navilinkd2/assemblies/Main.dll
LOG: Appbase = http://navilinkd2/
LOG: Initial PrivatePath = bin
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : (Unknown).
===
LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image
will only be probed in default load context, like with Assembly.Load().
LOG: Using application configuration file: C:\Documents and
Settings\c7j4l\Local Settings\Temporary Internet
Files\Content.IE5\LSUSJBCK\AppConfig[1].xml
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\conf ig\machine.config.
LOG: Attempting download of new URL http://navilinkd2/assemblies/Main.dll.
LOG: Assembly download was successful. Attempting setup of file:
C:\Documents and Settings\c7j4l\Local Settings\Temporary Internet
Files\Content.IE5\FV13NP4W\Main[1].dll
LOG: Entering download cache setup phase.
LOG: Assembly Name is: Main, Version=3.3.1739.23226, Culture=neutral,
PublicKeyToken=null
LOG: Re-apply policy for where-ref bind.
LOG: Where-ref bind Codebase matches what is found in default context.
Keep the result in default context.
LOG: The post-policy assembly reference requires probing again.
LOG: Switch from LoadFrom context to default context.
LOG: Using application configuration file: C:\Documents and
Settings\c7j4l\Local Settings\Temporary Internet
Files\Content.IE5\LSUSJBCK\AppConfig[1].xml
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\conf ig\machine.config.
LOG: Policy not being applied to reference at this time (private, custom,
partial, or location-based assembly bind).
LOG: Attempting download of new URL http://navilinkd2/Main.DLL.
ERR: Downloaded file was not cached. The web server may be configured to
expire content immediately.
LOG: Attempting download of new URL http://navilinkd2/Main/Main.DLL.
ERR: Downloaded file was not cached. The web server may be configured to
expire content immediately.
LOG: Attempting download of new URL http://navilinkd2/bin/Main.DLL.
ERR: Downloaded file was not cached. The web server may be configured to
expire content immediately.
LOG: Attempting download of new URL http://navilinkd2/bin/Main/Main.DLL.
ERR: Downloaded file was not cached. The web server may be configured to
expire content immediately.
LOG: Attempting download of new URL http://navilinkd2/assemblies/Main.DLL.
LOG: Assembly download was successful. Attempting setup of file:
C:\Documents and Settings\c7j4l\Local Settings\Temporary Internet
Files\Content.IE5\KDMFC9AJ\Main[1].DLL
LOG: Entering download cache setup phase.
WRN: A duplicate assembly was found while copying the assembly item to the
cache.
LOG: Binding succeeds. Returns assembly from C:\Documents and
Settings\c7j4l\Local Settings\Application
Data\assembly\dl3\1BW8NQ4X.141\CDZJH791.AGL\e64e7f 7e\80d0c352_04abc401\Main.dll.
LOG: Assembly is loaded in default load context.



Here is the AppConfig value that I have entered - it is getting streamed
to the client - I have verified with the Fusion Logger.


- <startup
supportedRuntime version="v1.1.4322" /
/startup

Here is something of interest I get in an attached debbuger:

(f20.53c): CLR exception - code e0434f4d (first chance)
(f20.53c): CLR exception - code e0434f4d (first chance)
(f20.53c): C++ EH exception - code e06d7363 (first chance)
(f20.53c): C++ EH exception - code e06d7363 (first chance)
(f20.53c): CLR exception - code e0434f4d (first chance)
(f20.53c): CLR exception - code e0434f4d (first chance)
(f20.53c): C++ EH exception - code e06d7363 (first chance)
(f20.53c): C++ EH exception - code e06d7363 (first chance)



Is there something else that I am missing?



The most intresting part is - if I run the app from a local web server -
instead of a remote web server - even though it loads up 2.0 - it doesn't
fail - but on the remote server it fails...






Reply With Quote
  #3  
Old   
AT
 
Posts: n/a

Default Re: Internet Explorer Ignoring supportedRuntime Directive - 05-01-2006 , 11:50 PM



Hi Jediah,

Thanks for your post!

Normally, unmanaged host application will load the lastest version of CLR,
because unmanaged application lacks the information of .Net CLR version.
However, we can use iexplore.exe.config file to override this. Please refer
to the "Configuring Unmanaged Applications" section in the article below:
"Side-by-Side Execution of the .NET Framework"
http://msdn.microsoft.com/library/de...us/dnnetdep/ht
ml/sidexsidenet.asp

I am not sure why your setting fails in your scenario. I have some thought:
1. The iexplore.exe.config must be placed in the same directory with
iexplorer.exe
2. The version attribute in supportedRuntime element string must match the
installation folder name for the specified version of the .NET Framework.
This string is not interpreted. Do you miss the 'v' character in the
string? Below is the sample setting:
<configuration>
<startup>
<supportedRuntime version="v1.1.4322"/>
</startup>
</configuration>

Hope this helps!

Best regards,
Jeffrey Tan
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.


Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.