Discussion:
VB Add-In dependencies
(too old to reply)
Kevin Provance
2008-03-23 22:35:24 UTC
Permalink
Okay...I can seem to find anything on Google about this.

Been writing a VB add-in...no big deal.

However, it seems that to run the actual add-in, one needs to have all the
dependencies used in creating the add-in...also nothing new or abnormal.

Here is the problem I ran into: On my primary dev machine, the Microsoft
Office 10.0 Object Library (Office XP) is referenced for all the CommandBar
stuff. When I went to test on my Vista box, the damned thing wouldn't run.
Apparently not having Office XP installed on the other machine made a bit of
a difference. Since the file is not redistributable I thought maybe I
should be using the version of the Office Object Library that would be found
on most developers machine. Thing is, I have no idea what that version
would be since it's clearned not installed on either my computers.

Is there an Office Object Library that is installed (or supposed to be) on
computers of VB developers? Put another way, is some version of this file
installed with VB 6? Obviously I cannot depend on other VB developers
having Office XP installed to run my add-in, so methinks I should be
developing with a lower version. Right?

I'll keep Googling..but if anyone knows the solution for this...please
share. :-)

Thanks

- Kev
Steve Gerrard
2008-03-23 22:54:56 UTC
Permalink
Post by Kevin Provance
Is there an Office Object Library that is installed (or supposed to
be) on computers of VB developers? Put another way, is some version
of this file installed with VB 6? Obviously I cannot depend on other
VB developers having Office XP installed to run my add-in, so
methinks I should be developing with a lower version. Right?
AFAIK, it is quite possible to have VB6 and not have any Office components at
all.

Can't you do toolbars in the AddIn library without using Office commandbars?
Kevin Provance
2008-03-23 23:05:13 UTC
Permalink
The CommandBar class is part of the Office library. If it's available
someplace other than an Office Object library DLL, I'd be interested to know
what it is.

"Steve Gerrard" <***@comcast.net> wrote in message news:***@comcast.com...
| Kevin Provance wrote:
| >
| > Is there an Office Object Library that is installed (or supposed to
| > be) on computers of VB developers? Put another way, is some version
| > of this file installed with VB 6? Obviously I cannot depend on other
| > VB developers having Office XP installed to run my add-in, so
| > methinks I should be developing with a lower version. Right?
| >
|
| AFAIK, it is quite possible to have VB6 and not have any Office components
at
| all.
|
| Can't you do toolbars in the AddIn library without using Office
commandbars?
|
|
Kevin Provance
2008-03-24 00:34:41 UTC
Permalink
I think I found the answer to my own question (as is normally the case after
making a post such as this).

I went searching through the VB6 CD and found the original add-in template
(mine has been modded several times over) and it seems the original
reference to the Office Object Library is in fact a file called MSO97RT.DLL
which resides in %COMMON FILES%\Microsoft Shared\VBA. This file, according
to the DLL Help Database is installed with Visual Basic/Studio 6.0.

So...there it is. :-)


"Kevin Provance" <***@tpasoft.com> wrote in message news:***@TK2MSFTNGP03.phx.gbl...
| Okay...I can seem to find anything on Google about this.
|
| Been writing a VB add-in...no big deal.
|
| However, it seems that to run the actual add-in, one needs to have all the
| dependencies used in creating the add-in...also nothing new or abnormal.
|
| Here is the problem I ran into: On my primary dev machine, the Microsoft
| Office 10.0 Object Library (Office XP) is referenced for all the
CommandBar
| stuff. When I went to test on my Vista box, the damned thing wouldn't
run.
| Apparently not having Office XP installed on the other machine made a bit
of
| a difference. Since the file is not redistributable I thought maybe I
| should be using the version of the Office Object Library that would be
found
| on most developers machine. Thing is, I have no idea what that version
| would be since it's clearned not installed on either my computers.
|
| Is there an Office Object Library that is installed (or supposed to be) on
| computers of VB developers? Put another way, is some version of this file
| installed with VB 6? Obviously I cannot depend on other VB developers
| having Office XP installed to run my add-in, so methinks I should be
| developing with a lower version. Right?
|
| I'll keep Googling..but if anyone knows the solution for this...please
| share. :-)
|
| Thanks
|
| - Kev
|
|
Henning
2008-03-24 01:30:31 UTC
Permalink
Thanks for telling, might be invaluable to remeber som time. Saved the
posting in the 'good stuff to know' map.

/Henning
Post by Kevin Provance
I think I found the answer to my own question (as is normally the case after
making a post such as this).
I went searching through the VB6 CD and found the original add-in template
(mine has been modded several times over) and it seems the original
reference to the Office Object Library is in fact a file called MSO97RT.DLL
which resides in %COMMON FILES%\Microsoft Shared\VBA. This file, according
to the DLL Help Database is installed with Visual Basic/Studio 6.0.
So...there it is. :-)
| Okay...I can seem to find anything on Google about this.
|
| Been writing a VB add-in...no big deal.
|
| However, it seems that to run the actual add-in, one needs to have all the
| dependencies used in creating the add-in...also nothing new or abnormal.
|
| Here is the problem I ran into: On my primary dev machine, the Microsoft
| Office 10.0 Object Library (Office XP) is referenced for all the
CommandBar
| stuff. When I went to test on my Vista box, the damned thing wouldn't
run.
| Apparently not having Office XP installed on the other machine made a bit
of
| a difference. Since the file is not redistributable I thought maybe I
| should be using the version of the Office Object Library that would be
found
| on most developers machine. Thing is, I have no idea what that version
| would be since it's clearned not installed on either my computers.
|
| Is there an Office Object Library that is installed (or supposed to be) on
| computers of VB developers? Put another way, is some version of this file
| installed with VB 6? Obviously I cannot depend on other VB developers
| having Office XP installed to run my add-in, so methinks I should be
| developing with a lower version. Right?
|
| I'll keep Googling..but if anyone knows the solution for this...please
| share. :-)
|
| Thanks
|
| - Kev
|
|
Ralph
2008-03-24 01:42:39 UTC
Permalink
Post by Kevin Provance
I think I found the answer to my own question (as is normally the case after
making a post such as this).
I went searching through the VB6 CD and found the original add-in template
(mine has been modded several times over) and it seems the original
reference to the Office Object Library is in fact a file called MSO97RT.DLL
which resides in %COMMON FILES%\Microsoft Shared\VBA. This file, according
to the DLL Help Database is installed with Visual Basic/Studio 6.0.
So...there it is. :-)
Not the same animal. That dll was used to provide a "runtime" for Office
Development, hence the "RT" in the name. IIRC it was only used for creating
stand-alone MSAccess applications. But I might be wrong. That was very long
time ago.

I'm sure there must be some link laying around somewhere. Anyway I don't
think it provides any of the functionality you are referring to.

-ralph
Kevin Provance
2008-03-24 02:10:35 UTC
Permalink
It does provide that functionality (I'm sorry Ralph, I hate disagreeing with
you). I already put it through the paces with my add-in project and it's
running perfectly. As I noted before, the orignal add-in template
references this file. However, if one has some flavour of office installed,
the project automatically uses the reference for the installed version. The
problem is because the newer versions of the office object library doesn't
keep compatibility with older versions of itself, the add-in will fail if
compiled with a newer version of the office object library. I've run
several tests to confirm this.

"Ralph" <***@yahoo.com> wrote in message news:***@TK2MSFTNGP03.phx.gbl...
|
| "Kevin Provance" <***@tpasoft.com> wrote in message
| news:***@TK2MSFTNGP02.phx.gbl...
| > I think I found the answer to my own question (as is normally the case
| after
| > making a post such as this).
| >
| > I went searching through the VB6 CD and found the original add-in
template
| > (mine has been modded several times over) and it seems the original
| > reference to the Office Object Library is in fact a file called
| MSO97RT.DLL
| > which resides in %COMMON FILES%\Microsoft Shared\VBA. This file,
| according
| > to the DLL Help Database is installed with Visual Basic/Studio 6.0.
| >
| > So...there it is. :-)
| >
|
| Not the same animal. That dll was used to provide a "runtime" for Office
| Development, hence the "RT" in the name. IIRC it was only used for
creating
| stand-alone MSAccess applications. But I might be wrong. That was very
long
| time ago.
|
| I'm sure there must be some link laying around somewhere. Anyway I don't
| think it provides any of the functionality you are referring to.
|
| -ralph
|
|
-mhd
2008-03-24 01:11:31 UTC
Permalink
Post by Kevin Provance
I thought maybe I
should be using the version of the Office Object Library that would be found
on most developers machine. Thing is, I have no idea what that version
would be since it's clearned not installed on either my computers.
Are you late binding or specifically referring to one version of the
outlook object?

-mhd
Kevin Provance
2008-03-24 01:41:32 UTC
Permalink
Reference. Late binding may have its purposes, but I cannot stand it.

I switched my reference over to the MSO97RT.DLL. I really don't need all
the bells and whistles in the newer version, so it all works out.

- Kev
Post by Kevin Provance
I thought maybe I
should be using the version of the Office Object Library that would be found
on most developers machine. Thing is, I have no idea what that version
would be since it's clearned not installed on either my computers.
Are you late binding or specifically referring to one version of the
outlook object?

-mhd
Ralph
2008-03-24 02:06:05 UTC
Permalink
Post by Kevin Provance
Reference. Late binding may have its purposes, but I cannot stand it.
I switched my reference over to the MSO97RT.DLL. I really don't need all
the bells and whistles in the newer version, so it all works out.
- Kev
That is a major surprise to me, but logical now that I think about it. A
'command bar' would have to be supported to make a 'stand-alone' look right.

-ralph
Steve Gerrard
2008-03-24 02:33:43 UTC
Permalink
Post by Ralph
Post by Kevin Provance
Reference. Late binding may have its purposes, but I cannot stand it.
I switched my reference over to the MSO97RT.DLL. I really don't
need all the bells and whistles in the newer version, so it all
works out.
- Kev
That is a major surprise to me, but logical now that I think about
it. A 'command bar' would have to be supported to make a
'stand-alone' look right.
-ralph
I am also a little surprised. While I would expect to be able to put some kind
of toolbar in an addin, I would not expect that to require an Office runtime.
Does the VB6 IDE itself use that, I wonder?

You learn something new every year...

Steve
Kevin Provance
2008-03-24 03:40:06 UTC
Permalink
The answer to that would be, yes. I used Spy++ to look at the classnames of
the VB toolbars, the built in ones, and they have a class name of
msoCommandBar. It seems the entire toolbar structure for VB is based on
Office objects. I verified this by using Process Explorer to see which
components VB6.exe had loaded. MSO97RT.DLL was one of them. I am guessing
that RT standard for runtime. Kinda like a file a developers file to create
office like interfaces without the actual office functionality (ie - no
spell check or other neat features). Just what we need to do toolbars and
the like.

Seems we all learned something new this year. Or in my case...today. <g>

- Kev


"Steve Gerrard" <***@comcast.net> wrote in message news:TPWdnWg5D-***@comcast.com...
| Ralph wrote:
| > "Kevin Provance" <***@tpasoft.com> wrote in message
| > news:Og$***@TK2MSFTNGP02.phx.gbl...
| >> Reference. Late binding may have its purposes, but I cannot stand
| >> it.
| >>
| >> I switched my reference over to the MSO97RT.DLL. I really don't
| >> need all the bells and whistles in the newer version, so it all
| >> works out.
| >>
| >> - Kev
| >>
| >
| >
| > That is a major surprise to me, but logical now that I think about
| > it. A 'command bar' would have to be supported to make a
| > 'stand-alone' look right.
| >
| > -ralph
|
| I am also a little surprised. While I would expect to be able to put some
kind
| of toolbar in an addin, I would not expect that to require an Office
runtime.
| Does the VB6 IDE itself use that, I wonder?
|
| You learn something new every year...
|
| Steve
|
|
Steve Gerrard
2008-03-24 03:52:22 UTC
Permalink
Post by Kevin Provance
The answer to that would be, yes. I used Spy++ to look at the
classnames of the VB toolbars, the built in ones, and they have a
class name of msoCommandBar. It seems the entire toolbar structure
for VB is based on Office objects. I verified this by using Process
Explorer to see which components VB6.exe had loaded. MSO97RT.DLL was
one of them. I am guessing that RT standard for runtime. Kinda like
a file a developers file to create office like interfaces without the
actual office functionality (ie - no spell check or other neat
features). Just what we need to do toolbars and the like.
Seems we all learned something new this year. Or in my case...today.
<g>
Interesting! Nice sleuthing work, too.
Ken Halter
2008-03-24 15:32:24 UTC
Permalink
Post by Steve Gerrard
Post by Kevin Provance
Seems we all learned something new this year. Or in my case...today.
<g>
Interesting! Nice sleuthing work, too.
fwiw, it's the act of placing icons on those ancient toolbars that causes
the "why does VB clear my clipboard on startup" problems.. which is why my
addin has no graphics (no one looks at the icons for long, anyway)
--
Ken Halter - MS-MVP-VB - Please keep all discussions in the groups..
In Loving Memory - http://www.vbsight.com/Remembrance.htm
Loading...