Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsWindows VistaWindows XPWindows MeWindows 98Windows 95Virtual PCInternet ExplorerOutlook ExpressWindows MediaSecurity
Related Topics
MS Server ProductsMS OfficePC HardwareMore Topics ...

Windows Forum / Internet Explorer / General Topics / June 2008

Tip: Looking for answers? Try searching our database.

IE load incorrect dll in ActiveX package

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Justin_Fang - 10 Jun 2008 08:01 GMT
Dear all,

I have a problem with IE behavior when loading dll in ActiveX
control.

The scenario is
1. Open IE load a ActiveX control including a.ocx and a.dll
2. Change IE URL to load another ActiveX control including b.ocx and
NEW "a.dll"

I find that when IE load 2nd ActiveX control, it will load b.ocx and
OLD a.dll.

If I open a new IE and load 2nd ActiveX, it will load correct a.dll.
Is this correct IE behavior? Can I aviod it?

Thanks,
Justin
rob^_^ - 10 Jun 2008 10:40 GMT
Hi,

Check your codebase values and what is in each cab.

Are all controls and versions signed?

Regards.

> Dear all,
>
[quoted text clipped - 14 lines]
> Thanks,
> Justin
Justin_Fang - 10 Jun 2008 12:02 GMT
Hi,

Thanks for your reply.

Could you please explain the detail procedure?
Do you mean that I need to add version info (add rc file) in each dll
file?
What do you mean by "codebase values"? The FileVersion value in inf
file for each cab?

If the dll has version info, IE will try to check the dll version?

I signed the cab file with our signature. Is it correct?

Thanks,
Justin
rob^_^ - 10 Jun 2008 20:38 GMT
Hi Justin,

Here is the link to the doco.... Its quite old but still applies.

http://msdn.microsoft.com/en-us/library/ms974288.aspx

A sample object tag

<OBJECT
  classid="clsid:F651BF93-239B-11D0-8908-00A0C90395F4"
  id=ShapeLabel
  codebase="ControlDemo.CAB#version=1,0,0,1">
</OBJECT>

note the codebase value

Regards.

> Hi,
>
[quoted text clipped - 12 lines]
> Thanks,
> Justin
Justin_Fang - 11 Jun 2008 04:15 GMT
I read this link before. but it can not solve my problem.

I have two cab and they work properly if I open TWO IE to install and
launch them.

My probelm is
Cab1 has a.ocx and a.dll.
Cab2 has b.ocx and a.dll.
They both have a.dll, but both a.dll have different function.

I found that if I open ONE IE to open cab1, it works fine.
And than I just change URL of the same IE instance to open cab2. It
will load the a.dll in cab1.
I think it is because that the same IE instance will check directory
of cab1 first and load a.dll.
Is it possible to ask IE to load the a.dll in cab2?

Thanks.
rob^_^ - 11 Jun 2008 12:44 GMT
Hi,

It seems as though it is a dependency problem. What permissions are your
giving Cab2. Overwrite if file exists for a.dll?

Use ProcessMon to see if values are written to this key in the HKCU root of
the Registry

Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup

If a.dll is a COM interface you should see the CLSID of the dll and the
ActiveX being written to this key. There may be other undocumented keys that
are being written to. I know that the above key is used for COM objects with
an ImplementedCategories value.

I can't imagine any workaround other than splitting a.dll into two separate
interfaces or maybe encapsulating the dll's within the respective ocx.

Regards.

> I read this link before. but it can not solve my problem.
>
[quoted text clipped - 14 lines]
>
> Thanks.
Justin_Fang - 12 Jun 2008 03:49 GMT
Dear Rob,

Thanks for your reply.
Our dll is a PURE dll file and just export some funcitons, not a COM
implementation.

I am now guessing that when IE load Cab1, it will CACHE the PATH of
a.dll.
When I use the same IE instance to load Cab2, it will find the a.dll
in Cab1.

I am looking for a way to prove it and clean the cache.
If I fail, I will try to rename the a.dll in Cab2, which is workaround
and I don't hope to do it.

Thanks,
Justin
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.