Home All Groups Group Topic Archive Search About

IE Hosted control behaving differently on Win2K vs WinXP

Author
23 May 2006 1:17 AM
Gary F.
Now here's a meatloaf scenario:

Environment 1: WinXP (latest sp, fixes), IE 6 sp2, .NET 2.0, hosted
control using some COM components

Environment 2: Win2K (latest sp, fixes), IE 6 sp1 (sp2 not avail), .NET
2.0, hosted control using COM components

The COM component is a 3rd-party audio control and who's source is not
available to me. I know that it uses threads within. I don't know if it
has any static activity at load/unload time.

In Env2, IE loads the control perfectly. The control behaves perfectly.
Via F5, I can refresh the page and the control works as expected.

In Env1, IE loads the control perfectly. It behaves perfectly. But I
cannot refresh the control w/o issue. After the refresh, the control
indicates that the recording device is not available for use. Without
access to the source code, one way that I know that this can occur is
if 2 or more controls are up at the same time - one has access the
others do not.

This lead me to think that maybe in Env1 IE6sp1 isn't properly
unloading the .NET app domains upon refresh. If I create 2 distinct
IEXPLORER instances in Env1, then all works well as long as I don't
refresh either one.

I'm guessing Refresh in Win2K for IE6sp1 is different than in WinXP,
IE6sp2 with respect to IE hosted controls.

My mananged code has calls to FinalReleaseComObject() for the COM
objects that I'm using, with the exception of a 3rd-party ActiveX
control (which doesn't have any bearing because I've tried ripping it
out to no avail). I'm assuming that all COM originated memory arrays
(via System.Array) are released and destroyed by the GC.

I've inspected Fusion output in both scenarios. They seem identical.

I've turned on IEHost debugging. The only issue I see, which occurs in
both environments, at refresh is a complaint for a *.resource file
which I don't have. I don't think that should cause a problem.

Anyone have any similar experiences?
Anyone have any workaround suggestions?

This is driving me crazy!

Gary F.

AddThis Social Bookmark Button