[mso] Re: Got it working (was anyone know about Excel clsids in the registry? Greg?)

  • From: "Greg Chapman" <greg@xxxxxxxxxxxxx>
  • To: <mso@xxxxxxxxxxxxx>
  • Date: Sat, 18 Oct 2003 02:50:37 -0500

Sorry I'm just now getting to seeing this! What you went through is bit of
a new twist on the old dll hell situation. When versions break what is
referred to as Binary Compatibility, a new CLSID is generated and all
previous versions are pointed to the newest version. However, newer
versions of software that are sent to look at the old version will do what
you experienced. The 2003 probably 'decremented' some classes from that
DLL and so couldn't find the proper entry point/export with which to work.

And none of the Office apps that are aware of the registry can blindly
grab a DLL from the shared folder. An entry must exist in the Shared key
on the registry as well as the CLSID pointers to the file for each
Class.Object reference.

An easy way to see how backward compatible calls are forwarded to the new
file and old version calls are protected is to look at the CLSID you were
dealing with here. I can see from looking at the reg on Dian's machine and
my own (mine doesn't have 2003 on it), that this key was added for office
9 (Office 2000) and was not incremented again for XP or 2003. 2003 sounds
like it doesn't even know about this Class at all. You can confirm this by
moving away from the InprocServer32 key (btw, that name implies this class
has a type library which allows a programmer to early bind to it)and look
at the Version and VersionIndependantID. Version is marked as 1.0 and the
VID is OWC.Spreadsheet. Ray was sending you down the correct path if you
were programming (set a reference to that Object.Class) but that won't
work for the kind of project you were working.

Here's a more typical way you can see compatibility at work (and it just
happens to be how I started learning how COM calls work and what the
registry is really for). The CLSID for Word.Basic is
000209FE-0000-0000-C000-000000000046

When you look at it, you'll see that the LocalServer32 value is the path
to Winword.exe with the /Automation switch. You'll also see that ProgID is
Word.Basic.(yourversionhere, mine is 9). The Version Independent ID is
Word.Basic. If you now scroll down the list to
HKEY_CLASSES_ROOT\Word.Basic, you'll see that there are probably 3-4 keys
here. Word.Basic, Word.Basic.8 and Word.Basic.9 . If you expand
Word.Basic, you'll see that there's a CLSID entry which points us back
where we started, and a CurVer entry. And the value or CurVer will match
your newest version of Word. That's how these Classes are normally
incremented and how you can guarantee that double clicking on a Doc file
always opens this or that version of Word. Ideally, the same would have
been true of your OWC.Spreadsheet.

Whew!! Got that?

Greg



-----Original Message-----
From: mso-bounce@xxxxxxxxxxxxx [mailto:mso-bounce@xxxxxxxxxxxxx] On Behalf
Of Linda F. Johnson
Sent: Saturday, October 18, 2003 1:41 AM
To: mso@xxxxxxxxxxxxx
Subject: [mso] Got it working (was anyone know about Excel clsids in the
registry? Greg?)


OK...I finally figured it out.  I had to import that msowc.dll from my old
computer and add it to the web components folder in my new computer.  For
some reason, with Excel 2003, it wasn't recognizing the dll if I just put
it in the Office folder like the other dlls....I don't know why, but just
moving it to the Microsoft Shared/Web Components folder, then pointing the
clsid key to that, fixed it.  I can finally see that interactive
spreadsheet on my webpage now on ALL of my machines

But, I'm wondering how good this web conversion stuff is in these programs
if this is what it takes to make them work...as if I'm going to tell
visitors to my website "well, if you use Office 2003 and want to see this
interactive spreadsheet, all you have to do is find a machine with an
older version of Office and snag this dll file and put it here and go into
the registry and snatch these keys, then edit them this way and you will
be able to see it" LOL

Who knows why this stuff works...all I know is I started messing around
with this at around 8pm and it's now 2:30am and it's finally working...but
I've probably got the only Excel 2003 machine in tarnation that can see it
LOL



Linda F. Johnson, M.A., MOS
Linda's Computer Stop
http://personal-computer-tutor.com
Free e-Books, Newsletter, and tutorials


-----Original Message-----
From: mso-bounce@xxxxxxxxxxxxx [mailto:mso-bounce@xxxxxxxxxxxxx] On Behalf
Of Ray Blake
Sent: Saturday, October 18, 2003 2:03 AM
To: mso@xxxxxxxxxxxxx
Subject: [mso] Re: anyone know about Excel clsids in the registry? Greg?

Tools - References. Just see that what you expect to be ticked is ticked.
I remember getting in a terrible pickle when I used the ActiveX calendar
control in XP and couldn't get any life out of it when I put it onto an
Excel 2000 machine, which has an earlier (incompatible!) version of that
control. Took a day and a full reinstall to sort that one out!

Ray



*************************************************************
You are receiving this mail because you subscribed to mso@xxxxxxxxxxxxx or
MicrosoftOffice@xxxxxxxxxxxxxxxx

To send mail to the group, simply address it to mso@xxxxxxxxxxxxx

To Unsubscribe from this group, send an email to
mso-request@xxxxxxxxxxxxx with the word "unsubscribe" (without the quotes)
in the subject line.

Or, visit the group's homepage and use the dropdown menu.  This will also
allow you to change your email settings to digest or vacation (no mail).
//www.freelists.org/webpage/mso

To be able to use the files section for sharing files with the group, send
a request to mso-moderators@xxxxxxxxxxxxx and you will be sent an
invitation with instructions.  Once you are a member of the files group,
you can go here to upload/download files:
http://www.smartgroups.com/vault/msofiles
*************************************************************

*************************************************************
You are receiving this mail because you subscribed to mso@xxxxxxxxxxxxx or 
MicrosoftOffice@xxxxxxxxxxxxxxxx

To send mail to the group, simply address it to mso@xxxxxxxxxxxxx

To Unsubscribe from this group, send an email to 
mso-request@xxxxxxxxxxxxx with the word "unsubscribe" (without the quotes) in 
the subject line.

Or, visit the group's homepage and use the dropdown menu.  This will also allow 
you to change your email settings to digest or vacation (no mail).
//www.freelists.org/webpage/mso

To be able to use the files section for sharing files with the group, send a 
request to mso-moderators@xxxxxxxxxxxxx and you will be sent an invitation with 
instructions.  Once you are a member of the files group, you can go here to 
upload/download files:
http://www.smartgroups.com/vault/msofiles
*************************************************************

Other related posts: