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