>>>One alternative to using the hard-coded path to the olb is to use the guid + the version number - for Word 2003, you use this:
>>>
>>>
>>>{00020905-0000-0000-C000-000000000046}#8.3
>>>
>>
>
Still doesn't work if I try it to instantiate a version older than the last one installed. >
>Where did I say that this was
not version specific?
UID is, of course, version specific. However, the setup for a later version of the office slaps the current one over the older installs, so calling the older one by UID doesn't work, and by class name brings up the last installed. Which is, of course, a bummer - I couldn't test for 11 on this machine even though I had it, because 12 was installed later. And vice versa - from what I read, the last one installed is the automation server, unless I'd want to hack the registry, or install/reinstall or regsvr32 every now and then.
> FWIW, I have a production app where the client is using both XP and 2003 and instantiating the handler using {00020905-0000-0000-C000-000000000046}#8.2 works just fine regardless of the version of Word.
Redirection? Or any other fancy name for a long case statement where it tries this thing than another until actually finding one that works?
I guess once in these lifetimes I'll finally get a chance to actually dig into the matter and see what are they really doing there - but I guess the exercise would be futile, as the observation would cause change. I.e. as soon as they got wind of someone actually understanding what they're actually doing, they'd switch to something else :).