Is including Excel9.olb in the installation files necessary?

I made an Inno installer script for a program that automates Excel, 
based on my P&D setup.lst, which includes the Excel object library:

[Setup1 Files]
.....
File8=@EXCEL9.OLB,$(WinSysPath),,$(Shared),3/19/99 10:00:32 
PM,638976,9.0.0.2719

I read here that this file is installed with Excel when part of Office 2000:

"File Description: Microsoft Office 2000 component".

http://www.bleepingcomputer.com/filedb/excel9.olb-22355.html
---

This MS page verified that, and mentioned a new location of the object 
library in Office 2002-3:

"...If you are automating Microsoft Excel 2000, choose Microsoft Excel 
9.0 Object Library for which the default location is the C:\Program 
Files\Microsoft Office\Office\Excel9.olb.
If you are automating Microsoft Excel 2002 and Microsoft Office Excel 
2003, the object library is embedded in the file Excel.exe. ..."

http://support.microsoft.com/kb/178749
---

It sounds like every Office installation that includes Excel includes an 
Excel object library file. Is it necessary to include the olb my P&D 
Wizard included when installing a program that automates Excel? It seems 
redundant. Installing it on a machine that doesn't have Excel doesn't 
seem like it will accomplish anything, except maybe allowing you to trap 
an error telling you Excel is not installed with a more specific error 
number. Can I safely remove this file from the installer no matter what 
version of Office, or what OS (XP or later)?

Mike
0
Mike
9/10/2010 4:19:10 AM
vb.general.discussion 1016 articles. 0 followers. Follow

17 Replies
1746 Views

Similar Articles

[PageSpeed] 20

On Thu, 09 Sep 2010 21:19:10 -0700, Mike S <mscir@yahoo.com> wrote:
  
>Is it necessary to include the olb my P&D 
>Wizard included when installing a program 

No.  It's just a pointer file or something similar.  We had a big
discussion on this a short while ago that I likely initiated that
explained all this but I can't find the discussion right now.

>that automates Excel? 

And you likely can't legally redistribute it anyhow.

Finally are you sure you even want to reference it?  What happens if
the user has a different version of Excel?   Or Excel isn't installed
at all?   In the Access world I point folks to the following article
on late binding and it should stil be quite relevant to VB6.

"Late Binding in Microsoft Access" page at
http://www.granite.ab.ca/access/latebinding.htm

Tony
-- 
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
For a convenient utility to keep your users FEs and other files 
  updated see http://www.autofeupdater.com/
0
Tony
9/10/2010 5:00:34 AM
On 9/9/2010 10:00 PM, Tony Toews wrote:
> On Thu, 09 Sep 2010 21:19:10 -0700, Mike S<mscir@yahoo.com>  wrote:

>> Is it necessary to include the olb my P&D
>> Wizard included when installing a program

> No.  It's just a pointer file or something similar.  We had a big
> discussion on this a short while ago that I likely initiated that
> explained all this but I can't find the discussion right now.
>> that automates Excel?

> And you likely can't legally redistribute it anyhow.
> Finally are you sure you even want to reference it?  What happens if
> the user has a different version of Excel?   Or Excel isn't installed
> at all?   In the Access world I point folks to the following article
> on late binding and it should stil be quite relevant to VB6.
> "Late Binding in Microsoft Access" page at
> http://www.granite.ab.ca/access/latebinding.htm
> Tony

Thanks very much, this sounds perfect, I'll try this and see how it works.

Mike
0
Mike
9/10/2010 5:40:18 AM
On 10/09/2010 05:19, Mike S wrote:
> I made an Inno installer script for a program that automates Excel,
> based on my P&D setup.lst, which includes the Excel object library:

Did you not like my answer in the Inno groups? :)
I'd already said you can't distribute it and you acknowledged it...

-- 
Dee Earley (dee.earley@icode.co.uk)
i-Catcher Development Team

iCode Systems

(Replies direct to my email address will be ignored.
Please reply to the group.)
0
Dee
9/10/2010 8:14:47 AM
On 9/10/2010 1:14 AM, Dee Earley wrote:
> On 10/09/2010 05:19, Mike S wrote:
>> I made an Inno installer script for a program that automates Excel,
>> based on my P&D setup.lst, which includes the Excel object library:
>
> Did you not like my answer in the Inno groups? :)
> I'd already said you can't distribute it and you acknowledged it...

I read your post, and with all due respect, while you expressed an 
opinion you gave no sources, so I did a little looking around with 
Google, and came here to find out what I could learn. The answer I got 
here was extremely helpful and just what I needed. I was fortunate 
enough to benefit from a discussion by some very talented programmers 
that I didn't even participate in. I think I understand the situation a 
lot better now, so I can automate Excel, and avoid distributing one file 
unnecessarily and potentially illegally. You may recall that the same 
newsgroup also had a reply strongly recommending I contact MS to resolve 
that issue. I consider myself fortunate to have received a better 
understanding of the problem, and a solution, without dealing with any 
phone support.

0
Mike
9/10/2010 8:43:24 AM
"Mike S" <mscir@yahoo.com> wrote in message 
news:i6cr3c$q97$1@news.eternal-september.org...
:
: I read your post, and with all due respect, while you expressed an
: opinion you gave no sources, so I did a little looking around with
: Google, and came here to find out what I could learn. The answer I got
: here was extremely helpful and just what I needed. I was fortunate
: enough to benefit from a discussion by some very talented programmers
: that I didn't even participate in. I think I understand the situation a
: lot better now, so I can automate Excel, and avoid distributing one file
: unnecessarily and potentially illegally. You may recall that the same
: newsgroup also had a reply strongly recommending I contact MS to resolve
: that issue. I consider myself fortunate to have received a better
: understanding of the problem, and a solution, without dealing with any
: phone support.

There is no "potentially illegal" about it.  One of the many license 
agreements specifically says you cannot.  I do not recall which as it's been 
sometime since I played around with office components, but I do recall 
seeing the text specifically in my research. 

0
Kevin
9/10/2010 12:38:09 PM
> And you likely can't legally redistribute it anyhow.

This is definitely a NO-NO!

>
> Finally are you sure you even want to reference it?  What happens if
> the user has a different version of Excel?

Whatever version of
excel you ref in your project, it will be updated to whatever version 
is running on the user's machine. It's just considered good practice in 
the Excel programming world to always develop for the earliest version 
you expect users to use.

> Or Excel isn't installed at all?

You will get a MISSING! flag in the refs dialog. It's always good to 
test (using CreateObject) if the target machine has Excel installed, 
whether or not you use early binding for development. Just don't 
execute the code if Excel is not installed, and display a notification 
to the user of the requirement for Excel to be installed.

Here's one of several test functions I use for checking installation of 
required MSO apps. I have one for each MSO app I'd be inclined to 
automate.

Public Function bExcelAvailable() As Boolean
' Determines whether Excel is available for automation on the computer.
  Dim xlApp As Object

  'Attempt to start an instance of Excel.
  On Error Resume Next
  Set xlApp = CreateObject("Excel.Application")
  On Error GoTo 0
  'Return the result of the test.
  bExcelAvailable = (Not xlApp Is Nothing)
  Set xlApp = Nothing
End Function  'bExcelAvailable()

So in my code I'd make anything that requires Excel to be installed 
conditional on the return of the test function:

  If bExcelAvailable Then
    'do stuff
  Else
    NotifyAutomationFailure
  End If

Sub NotifyAutomationFailure()
  Dim sMsg As String
  sMsg = "This application requires Excel to be installed on your 
computer."
  sMsg = sMsg & vbCrLf
  sMsg = sMsg & "Excel failed to start. This application can not 
continue!"
  MsgBox sMsg, vbCritical, "Startup Failure!"
End Sub

HTH

-- 
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


0
GS
9/10/2010 5:26:56 PM
On 9/10/2010 10:26 AM, GS wrote:
>> And you likely can't legally redistribute it anyhow.
>
> This is definitely a NO-NO!
>
>>
>> Finally are you sure you even want to reference it? What happens if
>> the user has a different version of Excel?
>
> Whatever version of
> excel you ref in your project, it will be updated to whatever version is
> running on the user's machine. It's just considered good practice in the
> Excel programming world to always develop for the earliest version you
> expect users to use.
>
>> Or Excel isn't installed at all?
>
> You will get a MISSING! flag in the refs dialog. It's always good to
> test (using CreateObject) if the target machine has Excel installed,
> whether or not you use early binding for development. Just don't execute
> the code if Excel is not installed, and display a notification to the
> user of the requirement for Excel to be installed.
>
> Here's one of several test functions I use for checking installation of
> required MSO apps. I have one for each MSO app I'd be inclined to automate.
>
> Public Function bExcelAvailable() As Boolean
> ' Determines whether Excel is available for automation on the computer.
> Dim xlApp As Object
>
> 'Attempt to start an instance of Excel.
> On Error Resume Next
> Set xlApp = CreateObject("Excel.Application")
> On Error GoTo 0
> 'Return the result of the test.
> bExcelAvailable = (Not xlApp Is Nothing)
> Set xlApp = Nothing
> End Function 'bExcelAvailable()
>
> So in my code I'd make anything that requires Excel to be installed
> conditional on the return of the test function:
>
> If bExcelAvailable Then
> 'do stuff
> Else
> NotifyAutomationFailure
> End If
>
> Sub NotifyAutomationFailure()
> Dim sMsg As String
> sMsg = "This application requires Excel to be installed on your computer."
> sMsg = sMsg & vbCrLf
> sMsg = sMsg & "Excel failed to start. This application can not continue!"
> MsgBox sMsg, vbCritical, "Startup Failure!"
> End Sub
>
> HTH

I am using the approach Tony Toews suggested, "Late Binding in Microsoft 
Access" http://www.granite.ab.ca/access/latebinding.htm
Apparently I was not clear enough, the olb file is now removed from the 
installer. The late binding worked on Excel 2000.
Thanks Again Tony.


0
Mike
9/10/2010 8:00:20 PM
On Fri, 10 Sep 2010 13:26:56 -0400, GS <gesansom@netscape.net> wrote:
  
>> Finally are you sure you even want to reference it?  What happens if
>> the user has a different version of Excel?
>
>Whatever version of
>excel you ref in your project, it will be updated to whatever version 
>is running on the user's machine. 

That's not been my experience in the Access world.

>It's just considered good practice in 
>the Excel programming world to always develop for the earliest version 
>you expect users to use.

And Word and whatever else.

Tony
-- 
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
For a convenient utility to keep your users FEs and other files 
  updated see http://www.autofeupdater.com/
0
Tony
9/10/2010 8:42:46 PM
Tony Toews formulated the question :
> On Fri, 10 Sep 2010 13:26:56 -0400, GS <gesansom@netscape.net> wrote:
>   
>>> Finally are you sure you even want to reference it?  What happens if
>>> the user has a different version of Excel?
>> 
>> Whatever version of
>> excel you ref in your project, it will be updated to whatever version 
>> is running on the user's machine. 
>
> That's not been my experience in the Access world.

Apparently, some MSO apps behave differently. I've never had a need to 
automate Access but I here the version ref is critical.

Outlook is a single-instance only app and so its test (and automation) 
needs to be handled a bit different.

The test function example I posted was for Excel, but they all also 
grab version info (removed for brevity) into global vars for each MSO 
app so I know what's been installed.

In most cases, my apps will always contain version-specific code and so 
it's mandatory they be version aware!


>
>> It's just considered good practice in 
>> the Excel programming world to always develop for the earliest version 
>> you expect users to use.
>
> And Word and whatever else.

Well, of course...<g>

>
> Tony

-- 
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


0
GS
9/10/2010 9:50:16 PM
On Fri, 10 Sep 2010 17:50:16 -0400, GS <gesansom@netscape.net> wrote:
  
>>> Whatever version of
>>> excel you ref in your project, it will be updated to whatever version 
>>> is running on the user's machine. 
>>
>> That's not been my experience in the Access world.
>
>Apparently, some MSO apps behave differently. I've never had a need to 
>automate Access but I here the version ref is critical.

I shoud've been more specific.  I meant Access as the programming
environment referencing Excel, Word or Outlook.   In the Access world
if you had a different version of Excel, Word or Outlook than the
users then the Access app would fall over with wierd VBA errors long
before it even attempted to run your Excel, Word or Outlook specific
code.

>In most cases, my apps will always contain version-specific code and so 
>it's mandatory they be version aware!

Ah, whereas I kept my code to be very simplish and generic. It likely
could've worked in Office 97 without any changes.

>>> It's just considered good practice in 
>>> the Excel programming world to always develop for the earliest version 
>>> you expect users to use.
>>
>> And Word and whatever else.
>
>Well, of course...<g>

You know that but lurkers might not.

Tony
-- 
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
For a convenient utility to keep your users FEs and other files 
  updated see http://www.autofeupdater.com/
0
Tony
9/11/2010 12:13:04 AM
Thanks for that input! ..much appreciated.

So then, I suspect you work with Access the same way I work with Excel 
as my base platform, automating the other MSO apps as/when required. In 
my case, my frontloader VB6.exe will test for all MSO apps required by 
my COMAddin app before creating its instance of Excel. Only when all 
startup requirements are met will I actually create the Excel instance 
I'll use, and then load the COMAddin.

In cases where clients don't use MSO I use a VB6.exe with Farpoint's 
Spread, an awesome control which totally eliminates any dependancy on 
Excel.

I don't have much experience with Access beyond building basic 
databases to use with my apps when appropriate. I'm looking at using 
SQLite with Olaf's dhRichClient components as an alternative. I just 
don't get a lot of requests for database structures beyond what can be 
done with plain text files and ADO.<g>

Kind regards,

-- 
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


0
GS
9/11/2010 4:12:29 AM
On Sat, 11 Sep 2010 00:12:29 -0400, GS <gesansom@netscape.net> wrote:
  
>Thanks for that input! ..much appreciated.
>
>So then, I suspect you work with Access the same way I work with Excel 
>as my base platform, automating the other MSO apps as/when required. 

Pretty much.  Although I've been doing a lot of work in VB6 this last
year.

>In 
>my case, my frontloader VB6.exe will test for all MSO apps required by 
>my COMAddin app before creating its instance of Excel. Only when all 
>startup requirements are met will I actually create the Excel instance 
>I'll use, and then load the COMAddin.

Whereas I'm working on my Auto FE Updater which is a utility for use
by Access developers.  So it too is a "front end" although with a very
different role in life.

Tony
-- 
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
For a convenient utility to keep your users FEs and other files 
  updated see http://www.autofeupdater.com/
0
Tony
9/11/2010 8:15:52 PM
Tony Toews explained on 9/11/2010 :
> On Sat, 11 Sep 2010 00:12:29 -0400, GS <gesansom@netscape.net> wrote:
>   
>> Thanks for that input! ..much appreciated.
>> 
>> So then, I suspect you work with Access the same way I work with Excel 
>> as my base platform, automating the other MSO apps as/when required. 
>
> Pretty much.  Although I've been doing a lot of work in VB6 this last
> year.

That's probably a good thing, especially if Access supports COMAddins. 
I found this about the only way to obtain any reasonable level of code 
security. Also, VB6 offers much better advantages over working with 
VBA<IMO>.

Seems, though, that you've been around longer than that. Your posts 
certainly have been appreciated!<g>

>
>> In 
>> my case, my frontloader VB6.exe will test for all MSO apps required by 
>> my COMAddin app before creating its instance of Excel. Only when all 
>> startup requirements are met will I actually create the Excel instance 
>> I'll use, and then load the COMAddin.
>
> Whereas I'm working on my Auto FE Updater which is a utility for use
> by Access developers.  So it too is a "front end" although with a very
> different role in life.

I can't imagine what that would be where Access is concerned. Most of 
my solutions are user-defined task specific utilities that provide 
custom analysis of existing database data. Thus, that part is already 
in place for the most part, just requiring field mapping to integrate 
with my app.

I use a frontloader for multiple purposes, mostly to qualify if startup 
will happen. It's a good place to do a bunch of stuff that's common to 
every app but doesn't really need to be compiled internally with the 
app.exe. I'm referring to checking if required files exist, access 
permissions haven't changed, Excel is installed, license validation, 
and if all is well then workspace setup. (I pretty much like to use 
dictator type configurations so my users aren't distracted with all the 
unused features of Excel. I try to take this as far as possible so it 
doesn't even seem like my users are working in Excel)
>
> Tony

-- 
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


0
GS
9/11/2010 8:57:49 PM
On Sat, 11 Sep 2010 16:57:49 -0400, GS <gesansom@netscape.net> wrote:
  
>> Pretty much.  Although I've been doing a lot of work in VB6 this last
>> year.
>
>That's probably a good thing, especially if Access supports COMAddins. 

That whole bit about COMAddins I know nothing about.

>I found this about the only way to obtain any reasonable level of code 
>security. 

There's only one outfit who stated they can retreive the code, without
comments of course, from an Access MDE.

>Also, VB6 offers much better advantages over working with 
>VBA<IMO>.

Actually Access is a better GUI for desiging forms than VB6.  The GUI
editor is much more refined with lots of little tweaks.  For example
if you accidentally move a control in Access Ctrl+Z will put it back.
Not so in VB6.  

But I wanted to use VB simply because it was a standalone utility and
didn't require anything else.  Mind you that was ten years ago so I've
forgotten the exact reasons.   I suspect part of the reason was simply
to play, err program, in a different environment.

>Seems, though, that you've been around longer than that. Your posts 
>certainly have been appreciated!<g>

In this newsgroup I haven't been doing too much posting before about a
year ago.  However there are a *lot* of similarities between VB6 and
VBA.  Indeed there's an obscure bug while debugging code that happens
in both VB6 and VBA.

OTOH there are enough differences that, in one posting of mine in this
newsgroup,I was completely wrong with my solution.  The solution works
in Access but not VB6.  I was somewhat embarrassed so I've been a bit
more cautious ever since.  <smile>

>> Whereas I'm working on my Auto FE Updater which is a utility for use
>> by Access developers.  So it too is a "front end" although with a very
>> different role in life.
>
>I can't imagine what that would be where Access is concerned. 

Visit the website as per my sig below.  <smile> The first page should
give you the basics.  I'm up to about 16K lines of code of which about
3K or 4K are imported API calls or user controls.

Once I add the options to copy subfolders I will be activating my
autofileupdater.com website and see if I can sell a generic solution
to copying sets of files to PCs.  Dunno if that's feasible but it
isn't going to cost me much time to have a slightly different program.

Tony
-- 
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
For a convenient utility to keep your users FEs and other files 
  updated see http://www.autofeupdater.com/
0
Tony
9/12/2010 2:32:18 AM
Actually, I've been browsing your site in general, as a source for 
Access tips/info. Looks impressive to me!

<FYI>
(Interesting that your URL is '.ca'! I'm located in eastern Ontario on 
the St. Lawrence)
</FYI> Where are you?

I'm not a database expert by any means, but I do know the basic rules 
for building good relational databases. Fact is most of my work uses 
flat tables of data, all of which can be easily stored/retrieved from 
text files or Excel worksheets. An Excel workbook was my first database 
because it provided an easy way to construct multi-table storage 
without having to learn a new app (ie: Access). I can distribute an XLS 
and work with it using ADO and so it shouldn't matter that the end user 
doesn't have Excel. -Never tested this out but I suspect it's the case 
since I know ADO works with MDBs on machines where Access is not 
installed. It's the limitations of using an XLS that are driving me to 
look at SQLite.

Otherwise, I just work with users' existing database app files and use 
field mapping as mentioned earlier.

-- 
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


0
GS
9/12/2010 3:53:25 AM
On Sat, 11 Sep 2010 23:53:25 -0400, GS <gesansom@netscape.net> wrote:
  
>Actually, I've been browsing your site in general, as a source for 
>Access tips/info. Looks impressive to me!

Thank. I like to think that, while it's very ugly, it's among the best
five in terms of content for advanced Access folks.

My excuse for it being so ugly is that I started it in late 1995 using
Notepad and a help file describing HTML from a shareware HTML editor
called Hot Dog.   Been too busy to do a site overhaul and too cheap to
pay anyone to update it.

><FYI>
>(Interesting that your URL is '.ca'! I'm located in eastern Ontario on 
>the St. Lawrence)
></FYI> Where are you?

Alberta.   That's the ab in the website URL.  <smirk>  

>An Excel workbook was my first database 
>because it provided an easy way to construct multi-table storage 
>without having to learn a new app (ie: Access).

Hehe.  Many corporate IT nazis think of uninstalling Access because
users abuse it.  My standard response is, at least the users are
trying to build a proper database.  It'll be worse in Excel.  <smile>

> I can distribute an XLS 
>and work with it using ADO and so it shouldn't matter that the end user 
>doesn't have Excel. -Never tested this out but I suspect it's the case 
>since I know ADO works with MDBs on machines where Access is not 
>installed. It's the limitations of using an XLS that are driving me to 
>look at SQLite.

Embrace what is already present.  <smile>

I'd not use SQLite because it requires another set of DLLs,
distribution, installation etc.   I would suggest MDB format simply
because the Jet 4.0/DAO 3.6/ADO 2.8 DLLs come with Windows 2000 and
newer including Windows 7.  You don't have to even think about them
because the Windows OS updates them for security patches.

For some information with respect to versioning on ADO see my blog
posting: I've never quite trusted ADO because ...
http://msmvps.com/blogs/access/archive/2010/07/01/i-ve-never-quite-trusted-ado-because.aspx

Of course we don't know what is going to happen in Windows 8 with
those DLLs.  But I suspect a *lot* of apps depend on those so they may
be sticking around for a long time to come.

Tony
-- 
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
For a convenient utility to keep your users FEs and other files 
  updated see http://www.autofeupdater.com/
0
Tony
9/12/2010 4:59:08 AM
It happens that Tony Toews formulated :
> On Sat, 11 Sep 2010 23:53:25 -0400, GS <gesansom@netscape.net> wrote:
>   
>> Actually, I've been browsing your site in general, as a source for 
>> Access tips/info. Looks impressive to me!
>
> Thank. I like to think that, while it's very ugly, it's among the best
> five in terms of content for advanced Access folks.

Didn't notice it was ugly. Probably because I'm info oriented rather 
than being amused with distracting pizzaz. I found it very easy to 
navigate and get info.

>
> My excuse for it being so ugly is that I started it in late 1995 using
> Notepad and a help file describing HTML from a shareware HTML editor
> called Hot Dog.   Been too busy to do a site overhaul and too cheap to
> pay anyone to update it.

Yeah, I paid a pro to do one for me but that got old in a hurry when he 
started to be unreliable or unavailable to make changes as needed. This 
prompted me to use Frontpage to rebuild it myself. Only reason for 
using FP was because it shipped with my Office 2000 Developer Edition 
software. I've since upgraded to Expression Web, which I also use for 
authoring CHMs, Ebooks, and any other html docs I need. (Of course, 
managing a website also requires knowing a bit about using JavaScript)

>
>> <FYI>
>> (Interesting that your URL is '.ca'! I'm located in eastern Ontario on 
>> the St. Lawrence)
>> </FYI> Where are you?
>
> Alberta.   That's the ab in the website URL.  <smirk> 

That's what I suspected and so was asking just to confirm.

>
>> An Excel workbook was my first database 
>> because it provided an easy way to construct multi-table storage 
>> without having to learn a new app (ie: Access).
>
> Hehe.  Many corporate IT nazis think of uninstalling Access because
> users abuse it.  My standard response is, at least the users are
> trying to build a proper database.  It'll be worse in Excel.  <smile>
>
>> I can distribute an XLS 
>> and work with it using ADO and so it shouldn't matter that the end user 
>> doesn't have Excel. -Never tested this out but I suspect it's the case 
>> since I know ADO works with MDBs on machines where Access is not 
>> installed. It's the limitations of using an XLS that are driving me to 
>> look at SQLite.
>
> Embrace what is already present.  <smile>
>
> I'd not use SQLite because it requires another set of DLLs,
> distribution, installation etc.

I already use Olaf's dhRichClient components and so is why I'm looking 
at SQLite.

>   I would suggest MDB format simply
> because the Jet 4.0/DAO 3.6/ADO 2.8 DLLs come with Windows 2000 and
> newer including Windows 7.  You don't have to even think about them
> because the Windows OS updates them for security patches.

There's been some dialog in NGs that this may get messed with. I hope 
it's not the case but I'd like to know I have an alternative ready if 
M$ drops anything from future OSs, which would necessitate us having to 
distribute appropriate libs to continue on those platforms.

It's just that I'd be more comfortable all around not being dependant 
on M$'s actions/decisions!<G> I'm sure Access will persist to exist but 
that doesn't mean they won't mess with its db engine.

>
> For some information with respect to versioning on ADO see my blog
> posting: I've never quite trusted ADO because ...
> http://msmvps.com/blogs/access/archive/2010/07/01/i-ve-never-quite-trusted-ado-because.aspx

I started using ADO because it allows me to fairly easily load data 
stored in Excel sheets or CSV text files into recordsets without 
opening either. I've devoured several books by David Sussman on the 
subject and so have become quite comfortable working with it. My 
experience thus far has been problem free!<g>

>
> Of course we don't know what is going to happen in Windows 8 with
> those DLLs.  But I suspect a *lot* of apps depend on those so they may
> be sticking around for a long time to come.
>
> Tony

-- 
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


0
GS
9/12/2010 8:13:13 PM
Reply:

Similar Artilces:

Distribution Files for MFC in VS .net 2003
I have an app that was developed under Visual Studio VC++ 6.0 & MFC and deployed at our customer site. I have since installed Visual Studio .NET 2003 and rebuilt the application under the new development environment. I wanted to do a quick test of the executable and copied it up to a test machine and tried to run it. I got a series of "unable to find xxx.dll" errors. I realized that none of the new DLLs were installed on the test machine. Does anyone have a pointer to a good document on what distribution files are required? I know about the obvious ones like MFC71.DLL...

Save formatted text from RichEdit control to rtf-file
Hi , How can I save the text from Rich edit control (2.0) to *.rtf , *.txt , *.doc I tried to get the buffer and putting the buffer to file, then saving the file but the text in the file is something different. Please let me know what to do? Here is the Code I ma using: mFile.Seek( 0, CFile::begin ); CString cBuffer2; int iTotalTextLength = m_oChatMessageControl.GetWindowTextLength(); HWND focusWnd = ::GetFocus(); m_oChatMessageControl.HideSelection(TRUE, TRUE); m_oChatMessageControl.SetSel(iTotalTextLength, iTotalTextLength); cBuffer2 = m_oChatMessageControl.GetSelText(); LPTSTR...

file cloning
I was wondering. How come it is possible to clone a file (using right click copy/paste file), but not possible to do this for other documents (apps and clip-art etc)?. Could it be possible to have an add-in in excel to prevent people from copying documents on their desktop?? -- shnim1 You can copy files that way (rightclick|copy, rightclick|paste). But most windows applications are no longer just simple .exe files (like back in the old DOS days). They usually have tons of other stuff that gets installed with them--and that stuff gets scattered all over your harddrive (windows folder, wi...

how to build the netsample ipconfig to the exe file?
C:\WINCE500\public\common\oak\drivers\netsamp\ipconfig\ipconfig.cpp i want to make ipconfig.exe. and i could found the sample code. but it source code builded to the lib file. in ipconfig sources files, TARGETNAME=ipconfig TARGETTYPE=LIBRARY SOURCES= \ $(TARGETNAME).cpp the project is .lib file. but the source code has a _tmain() funciton in the source. it's looks possible to compile to the exe file. how can it compile to the exe file? You can add the SYSGEN_NETUTILS and you will have the ipconfig.exe integrated to your OS. Search ipconfig in the cat...

How do I export Lotus Approach files into an Excel spreadsheet?
I need to export data from Lotus Approach to Excel; please help. I am using an old version of Lotus SmartSuite 9.5 and I have Microsoft Office 2003 Basic. Well, I don't know Approach at all but is there a common file format that both use e.g. comma delimited. If so , save in that format from Approach and import into Excel. "LEWOLF" wrote: > I need to export data from Lotus Approach to Excel; please help. I am using > an old version of Lotus SmartSuite 9.5 and I have Microsoft Office 2003 Basic. ...

XP Install
I'm going to do a major upgrade (Processor, Vid Card, RAM) along with an initial install of XP where a Linux distro now resides. Could someone provide a link giving me the process I should follow to successfully complete the upgrade ?? --------------= Posted using GrabIt =---------------- ------= Binary Usenet downloading made easy =--------- -= Get GrabIt for free from http://www.shemes.com/ =- On 06/20/2010 04:52 AM, Dilly Dally wrote: > I'm going to do a major upgrade (Processor, Vid Card, RAM) along with an initial install of XP where a Linux distro now resid...

outlook can't receive exe files
A guy here at work can't get exe files through his outlook. Is there a check to uncheck somewhere to allow it to do this? He can receive normal attachments. ...

retrieving folders.old file
probably been posted before, but need some help. i was getting the "MSIMN has caused an error in directdb.dll" i found the solution by renaming the folders.dbx file to folders.old. here's the problem, i opened express back up and my sent folder was empty. my question is, how or can i retrieve that old sent message list?? ...

Need code snippet to read offline PST file
Hi friends, I have a PST file in my local hard disk and have requirement to read PST file and parse through all folders and then each message item in all folders and then segregate them to different folders based on subject line. Please kindly send the code for the above requirement. Thanks & Regards Ramesh -- ramserp You're going to have to write your own code. Do you know anything about Outlook programming at all? You can start out by looking at information and code samples at www.outlookcode.com. -- Ken Slovak [MVP - Outlook] http://www.slo...

Excel 2000 vs. Excel 2002
I am having troubles with a workbook that I created that is havin problems opening. I created it in 2002, and it opens fine in Excel 2002 for other people However, when I send it to someone who has Excel 2000, it takes over a hour to open. Now I also made a very similar report that works just fine whe trasferred to excel 2000. Here are a couple of stats on the workbook that is having problems: 1.5mb 500+ externel links 500+ subtotals 200+ simple calculations (a1+b1; a1/b1;etc..) 1 Worksheet in the book. 2 columns with conditional formatting Thanks, Joh -- Message posted from http://ww...

Any FREAKIN' way to import DBX files into Outlook 2003
I've tried: Importing via Outlook | Import from another Program or File Importing via Outlook | Import Internet Mail and Addresses Exporting from Outlook Express Tried Many, many times... Can Microsucks make this any more complicated... It's a FREAKIN' DBX file collection NO - No other Application has it Open. YES - The Files ARE there YES - the Internet Account IS there Yes - I've wasted more of my time IMPORTING into Outlook Express in VISTA just to RE-EXPORT back to Outlook. What a bunch of freakin' idiots... Another 2 hours wasted - because one Microsoft applica...

Business contact manager install failure
Office 2007 BCM gives me this error when I try and install it: Setup cant finish because it can't delete: c:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\temp_MS_AgentSigningCertificate_database_log.LDF Any ideas? ...

error on install to pocket pc
"window\mny2day.dll" is in use or is in ROM. IFthe file is not in ROM, please close the application using the file. I do not understand what file could be using the same application or how to check the ROM. ...

Opening .prn files in XL2000
I am using a software that does not save data/reports in .csv or .xls formats; only in printed versions. Is there a way to save the printed report in a file and open the file in XL2000? If there is, how is the print file produced, where is it saved, etc? A friend suggested setting up a generic printer but didn't know how to go about it. You may want to give that other software just one more chance--look under File and see if there is a SaveAs option. You may find something upon further review. But if you want to add a generic printer, I think it'll depend on your version of win...

Import reg files into Registry, without UAC
Hi, I've got a .reg file to be imported silently in a batch. The file contains only entries in HKEY_CURRENT_USER, therefore can be imported without elevation. This works well with the regedit /s switch on limited accounts, however on admin accounts, elevation UAC prompt is still shown, even though it's not needed. How can I prevent this? Thanks, Jens Jens M´┐Żller wrote: >Hi, > >I've got a .reg file to be imported silently in a batch. The file contains >only entries in HKEY_CURRENT_USER, therefore can be imported without >elevation. >...

DPM and VMM on same server using side-by-side SQL installation
Windows 2008 Std R2 Server, 64bit VMM 2007 is currently installed (with the built-in default database) SQL 2005 Express Edition, SP3, 32bit. I was advised by Microsoft that both VMM and DPM could be installed on the same server (small DR environment) The VMs are hosted on a Windows 2008 Enterprise Server w/ VS2005R2 - because the hardware didn't support HyperV. VMM works great to manage the Windows 2008 VS2005R2 Host running Win2K3 server instances ... after lots of trial and error. Now, I need to install DPM 2007 onto the same server... DPM wants to install the 64bit vers...

Retreive a deleted file
How can I retreive a delted file Hi Janet If you have setup Excel to automatically create backup copies; then check that folder for the last backed-up version....If it is from your PC, check out the Recylcle Bin (on your desktop) and restore the file. If the file was on a network drive you may need to contact your network administrator and check whether they can recover. -- Jacob (MVP - Excel) "Janet" wrote: > How can I retreive a delted file Go into your Recycle Bin. If deleted from there; http://www.ozgrid.com/Services/recover-deleted-files.htm ...

Install 2003 after 2007?
I had Office 2003 and upgraded to 2007, other than Outlook I didn't like it. I wanted to reinstall 2003 Excel & Word. Per instructions here I uninstalled 2007 except Outlook and upon attempting to reinstall 2003 I get the error message, "Business Contact Manager requires Outlook 2003, please install Outlook 2003 before running setup". Help please. Thanks in advance... Bob Answered in the other group post "Bob Newman" <bobnewman@cox.net> wrote in message news:jH5Xl.21061$IP7.4196@newsfe23.iad... >I had Office 2003 and upgraded to 2007, other tha...

Newbie needs help with new Exchange 2003 installation
I am TOTALLY new to Exchange. We just installed Exchange Server 2003 on a Windows 2003 domain. I have one (test) account set up and it appears to work OK but I keep getting an error message that says "Task "Microsoft Exchange Server" reported error (0x8004010F): 'The operation failed. An object could not be found.' I know, I know...How could I possibly not understand THIS message? I appear to be getting mail but I' can't be sure. How can I check to see what's causing this (and more important...what object it's looking for?) Thanks for any help! -Fran- ...

Log file
Where do i find my log files? On an NT based system: go to start, run, type eventvwr, then hit enter. There you'll see the application, system, and security logs. >-----Original Message----- >Where do i find my log files? >. > ...

Need to show file properties dialog box
Hello I need to show the shell's file properties dialog box. I tried converting old vb6 code into vb.net but it gives me error. Here's my code: Private Structure SHELLEXECUTEINFO Dim cbSize As Long Dim fMask As Long Dim hwnd As Long Dim lpVerb As String Dim lpFile As String Dim lpParameters As String Dim lpDirectory As String Dim nShow As Long Dim hInstApp As Long Dim lpIDList As Long Dim lpClass As String Dim hkeyClass As Long Dim dwHotKey As Long D...

how to read .MSG files without Outlook ?
How to read .MSG files without Outlook ? Do you know a good .msg viewer ? Thanks to everybody ... E. to the best of my knowledge, there isn;t a msg viewer. You need to use outlook or exchange messaging client. -- Diane Poremsky [MVP - Outlook] Author, Teach Yourself Outlook 2003 in 24 Hours Coauthor, OneNote 2003 for Windows (Visual QuickStart Guide) Author, Google and Other Search Engines (Visual QuickStart Guide) Outlook Tips: http://www.outlook-tips.net/ Outlook & Exchange Solutions Center: http://www.slipstick.com Join OneNote Tips mailing list: http://www.onenote-tips.net/ ...

Repair Corrupt Excel File
I have an excel 2003 workbook that will not open. The file is about 14MB. I have tried the repair utility within Excel but it still will not open. Anyone have any ideas? I have had success opening corrupt files with OpenOffice http://openoffice.org In article <CF4A5951-DCD9-4508-B995-FB7F6585BF78@microsoft.com>, "Dave" <Dave@discussions.microsoft.com> wrote: > I have an excel 2003 workbook that will not open. The file is about 14MB. I > have tried the repair utility within Excel but it still will not open. > Anyone have any ideas? The Spreadsh...

How to delete stuck file from "All Junk e-mail" Box ?
How to delete stuck file from "All Junk e-mail" Box ? I'm using WLM on Win7. Thanks for any help. "Jdr" <omni@msn.net> wrote in message news:C2919371-6A82-4478-A411-8FEB13F66B41@microsoft.com... > How to delete stuck file from "All Junk e-mail" Box ? > I'm using WLM on Win7. Thanks for any help. try dragging it to the deleted folder. "c.d." <invalid@iglou.com> wrote in message news:es$OnIzzKHA.4384@TK2MSFTNGP06.phx.gbl... > > "Jdr" <omni@msn.net> wrote in message > news:C29193...

How do I recover lost contacts etc after having to re-install?
I was instructed to reinstall Oulook and have now lost all my contacts calander reminders etc. Can anyone advise how I can recover these? Reinstalling never loses data. Just find your previous data file (a hidden file with a *.pst extension) and open it in Outlook. For future reference, you should always know where your data file is and back it up. Basic common sense with computers: back up your data or be willing to lose it. -- Russ Valentine "Julz" <Julz@discussions.microsoft.com> wrote in message news:EAEB4CCB-20B8-4385-8578-619B5900312A@microsoft.com... ...