Help with "dll" files.

F

FatMan

Hi all:
I created a little database program and have packedaged it including access
runtime using my "developer eddition" of Access 2000. It is running on
Win2000, WinXp (Home & Pro), and Vista without problems. One person has
tried to install it on a Win98 (not sure of the version or how up to date it
is) and now recives error messages regarding OLEAUT32.dll (file can not
start) and MSOERES.dll (file can not be found). The error messages appeared
after the person installed my database program. I have checked and both
files are included in my install package.

Can anyone offer any ideas as to how to fix this problem?

Thanks,
FatMan
 
C

Chris O'C via AccessMonster.com

Welcome to dll hell. Your dll files horked the system because they're the
wrong versions. oleaut32.dll is related to asycfilt.dll, msdart32.dll,
msdtcprx.dll, oc25.dll, ole2.dll, ole2nls.dll, ole32.dll, oleacc.dll, oledlg.
dll, olepro32.dll and urlmon.dll so you need to match up the versions
correctly with the others if you replace any one of them.

msoeres.dll is part of Outlook Express. Windows 98 comes with Outlook
Express 4 (which uses mbx files, not dbx files) and Windows 98 SE comes with
Outlooks Express 5. You probaby installed a newer version of msoeres.dll
which doesn't match the rest of the pc's Outloook Express exe and dll files.
If even the address book version doesn't match, you'll get the error message
msoeres.dll can't be found when you try to open Outlook Express.

To fix this, restore these two files from backup and if your install package
registered the dlls, reregister them with the paths they should be on Windows
98.

Just curious, why would you install these two dlls on your clients' pcs?
Replacing a single Outlook Express dll seems especially strange.

Chris
Microsoft MVP
 
C

Chris O'C via AccessMonster.com

You only mentioned 2 dlls. Did your install package install more than those
2? You may have more work to do if your install package did more dll
switcheroos.

Chris
Microsoft MVP

Welcome to dll hell. Your dll files horked the system because they're the
wrong versions. oleaut32.dll is related to asycfilt.dll, msdart32.dll,
msdtcprx.dll, oc25.dll, ole2.dll, ole2nls.dll, ole32.dll, oleacc.dll, oledlg.
dll, olepro32.dll and urlmon.dll so you need to match up the versions
correctly with the others if you replace any one of them.

msoeres.dll is part of Outlook Express. Windows 98 comes with Outlook
Express 4 (which uses mbx files, not dbx files) and Windows 98 SE comes with
Outlooks Express 5. You probaby installed a newer version of msoeres.dll
which doesn't match the rest of the pc's Outloook Express exe and dll files.
If even the address book version doesn't match, you'll get the error message
msoeres.dll can't be found when you try to open Outlook Express.

To fix this, restore these two files from backup and if your install package
registered the dlls, reregister them with the paths they should be on Windows
98.

Just curious, why would you install these two dlls on your clients' pcs?
Replacing a single Outlook Express dll seems especially strange.

Chris
Microsoft MVP
Hi all:
I created a little database program and have packedaged it including access
[quoted text clipped - 7 lines]
Can anyone offer any ideas as to how to fix this problem?
 
F

FatMan

Chris:
Thanks for the help.

To be honest I not sure how many dlls got added/changed due to my package.
I only mentioned the two because that is what the person mentioned to me. He
is not even sure if he is running Win95 or Win98.

As to way these were updated/changed I am not sure why. All I did was run
the package tool and accept the defaults. Not even sure why it would want
anything to deal with Outlook Express as my database doesn't have any email
functionality.

Some of the other sites I have looked at have suggested extracting the dlls
from the CAB files on the install CD. I think I might give that a go and if
that fails tell him to reinstall his operating system. Which will be a neat
trick since he most likely doesn't know what an operation system is. What
really ticks me off about this is that he claims he has had a new computer
for 6 months and just has not unpacked it yet. If he had we would not be in
this problem....GRRRRRR.

Is there general rules of thumb to follow to know what other versions of
windows dlls are compatible with mine. I am on WinXP Pro.

Thanks,
FatMan
 
C

Chris O'C via AccessMonster.com

Once you fix those 2 dlls, you'll probably find more error messages from the
rest of the dll installs your package did. Don't blame the user for this
disaster. Thank him for not suing you for horking his system.

Never accept the defaults unless you know what the defaults will do to you.
Bad things can happen.

You probably shouldn't let him try to reinstall his os if it comes to that,
he'll probably make it worse. Either you do it for him (if you have
experience) or have him hand it to a reliable pc technician.

The general rules of thumb with dlls is to never install *any* dlls unless
they're custom dlls (ones you've created yourself or someone at your company
did), and your install package checks the previous version of these dlls to
be sure the system needs the version included in your package. As a
developer, know what programs and dlls your app relies on and test your app
on multiple systems to find the minimum versions that are compatible with
your app. And then put a "requirements" clause with your installation notes:
"Requires Access 2K sp3 or later, Excel 2K sp3 or later, cdrom, 128K RAM and
internet access." That way users know to install those apps and those sps
before installing your app. Make sure your installation package checks that
all the requirements are met before installing the package.

If his new pc is 6 months old and he hasn't unpacked it yet, I think I know
why. It's got Vista on it so he should take a class before jumping on Vista
from Windows 95 or 98. He hasn't taken a class yet.

Chris
Microsoft MVP
 
T

Tony Toews [MVP]

FatMan said:
I created a little database program and have packedaged it including access
runtime using my "developer eddition" of Access 2000. It is running on
Win2000, WinXp (Home & Pro), and Vista without problems. One person has
tried to install it on a Win98 (not sure of the version or how up to date it
is) and now recives error messages regarding OLEAUT32.dll (file can not
start) and MSOERES.dll (file can not be found). The error messages appeared
after the person installed my database program. I have checked and both
files are included in my install package.

Ouch. I recall the A2000 runtime did wield things. Did you download
the minimal version of it which didn't include IE5.0?
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q243957

Also one rule is to build the runtime in the oldest version of the OS
you want to support. That way if it does grab any system DLLs
they'll be older than most of your clients. I don't think this rule
applies to the A2000 minimum runtime or to newer runtimes as they
don't attempt to replace any system DLLs. However I can't be sure
about that as I haven't taken a good close look at this for quite some
time.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
F

FatMan

Tony:
If I was to move up to Access 2007 would the chance of having this type of
problem decrease? I have been told that the run time for Access 2007 is free
for distribution. Is this correct? If my database program runs in Access
2000 is it safe to assume that it should run in Access 2007 with out a
problem?

Thanks,
FatMan
 
F

FatMan

Chris:
Thanks for the words of advice. We were able to just replace the two dlls
in question and had no athoer problems. Guess we got lucky. Don't get me
wrong I didn't blame the owner of the computer for the problem but accepted
full responsibility and felt lower than whale poo for it. Just fraustrated
that if he was using the new computer it never would have been an issue. Of
the 50 or so using the application on their computers he is the ONLY one I
have heard this problem from....not his fault....my fault but just
fraustrating knowing it could have been prevented.

I will ask you the same quesiton I asked Tony who posted a response to my
question if you don't mind answering:

If I was to move up to Access 2007 would the chance of having this type of
problem decrease? I have been told that the run time for Access 2007 is free
for distribution. Is this correct? If my database program runs in Access
2000 is it safe to assume that it should run in Access 2007 with out a
problem?

Thanks,
FatMan
 
T

Tony Toews [MVP]

FatMan said:
If I was to move up to Access 2007 would the chance of having this type of
problem decrease? I have been told that the run time for Access 2007 is free
for distribution. Is this correct?

Yes. Also see Microsoft Access (Office) Developer Edition FAQ
http://www.granite.ab.ca/access/developereditionfaq.htm
If my database program runs in Access
2000 is it safe to assume that it should run in Access 2007 with out a
problem?

No. There are little quirks you have to be aware of especially if
Microsoft has tightened up the behavior of some things. Allen Browne
has a page on these quirks. www.allenbrowne.com. But once you're
past the quirks it won't be too bad.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
D

David W. Fenton

If I was to move up to Access 2007 would the chance of having this
type of problem decrease? I have been told that the run time for
Access 2007 is free for distribution. Is this correct? If my
database program runs in Access 2000 is it safe to assume that it
should run in Access 2007 with out a problem?

But if you use the A2K7 runtime, you won't be able to deploy any any
version of Windows before WinXP.
 
C

Chris O'C via AccessMonster.com

The chance of having this problem would decrease because it would limit the
os to Windows XP and Vista, which generally have newer - if not up to date -
dlls already installed.

The Access 2007 runtime is free to distribute. It's safe to assume your
Access 2000 *won't* run in Access 2007 runtime without some work on your part.
You have to deal with the security issues first, then possible library
reference problems. After that most - if not all - of your app will run
without problems. Make sure you test the db app on retail Access 2007 before
deploying on runtime Access 2007 to avoid surprises.

Chris
Microsoft MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top