Add "Site Structure Model 1.0 Type Library" to Setup

Hello Experts,

When I use the ODE Tools to create a Setup CD with my database, and install it on a PC, I get the #Name error in textboxes which look for such system things as Date and Time.

(I have an A97 .mde database which uses the "Site Structure Model 1.0 Type Library" (Checked in the References with the .mdb, but I can't distribute the .mdb). It has linked tables, and no SQL tables)

I tried changing the legacy code (RunCommand replaces DoMenuItem, and acPreview replaces A_PREVIEW, etc.) but it is still checked true in the References.

My question is not how to rid the database of legacy code, but rather it is this...

"How do I add the "Site Structure Model 1.0 Type Library" to my Setup "Disks"?
 or
"How do I make sure that "MISSING - Site Structure Model 1.0 Type Library" is UNCHECKED in the destination References?

(As usual, I'd appreciate getting answers as Comments.)

Thanks,

Mac
LVL 4
MacRenaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

MacRenaAuthor Commented:
Edited text of question.
0
MacRenaAuthor Commented:
Edited text of question.
0
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
Your in a bit of a catch 22 because your using a MDE file.

  What's going on is that the user has a library that's latter then the version your distributing with the app.  You install won't update the newer lib, so it breaks the references in your app.

  I say you have a catch 22 in that with a MDE file, you don't have any source code, so you can't fix the reference (it requires a recompile).

  As a start, take a look at the references your using, find out what versions they are, and then compare these to the target PC.  Hopefully, that will determine which one is the culprit.

  Your other option is to not use the MDE format and install code to check for broken references and recompile (using an undocumented Syscmd call) on the fly.  This is in the MSKB (Microsoft knowledge base).

JimD.
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

MacRenaAuthor Commented:
Hi JimD, thanks for responding.

I am not on the customer's site - it is a 50 mile round trip, so I am hoping that I can add the required DLL here and create the Setup disk "loaded for Bear", "with all the hams and tender-lions included" - OK, enough with the cliches.

Here's a little background...
I installed this program 7 months ago when I first became a database programmer, and had a devil of a time getting it to run.  It had #Name in all the Date and Time fields.  After 3 trips there (that's 150 winding miles) I finally had to install Full Access with the .mdb, bring up the references, and uncheck the MISSING one, then compile it on site.

Now they bought a new PC and want me to install the front half of the split program (the user interface without the data database), but I don't have a full day available to spend out there, so if I can learn how to include this "Site Structure Model 1.0 Type Library" right in the Setup CD, I can send it to her in the mail and walk her through linking it to the data database on the network.

So, as you can see, I CAN do it on site, but I WANT to learn how to include a DLL in my Setup CD.

In the .mdb's References box, the DLL file is named and the path is shown.  In the Setup wizard's first screen, can I add the DLL file which is shown in the database References Path window as a file in my database?  If so, should I set a different destination folder for it on the customer's end, and how do I be sure that the file gets "Registered" as a componant?

Here's another thing.  If the DLL is required to run this thing, then why will unchecking it make it run?   That's like if there's no money in my account, but as long as I through out the "bounced check" notice, then I can keep on spending.  I don't get why Unchecking a Reference will make it work.

Thanks again for the education.

Mac
0
MacRenaAuthor Commented:
OK, after sleeping on it, I am revising the previous thought.  In addition to adding the .dll file, I think I should also add a Registry entry. (you know, like "register" the component).  That way I can be sure the file is there and also tell the program where the file is.
Anybody got any experience along this line?

Thanks,

Mac
0
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
Mac,

 I'm going to answer your last question first.  From what you describe it sounds like the .DLL is not required by your app.  What unchecking the thing does is forces Access to recompile and then come up clean.

  What I don't understand is why that's even there in the first place if your not using it.  From the sounds of things, I'd just create a setup without that DLL and be done with it.

 That may or may not solve your problem though.  If it is the broken reference that is causing your problem, then you'll be all set.  But if it's the fact that the target PC has a later version of one of the other libs being used, your still going to have a problem.  A reference becomes broken if you change its Name, Full Path, GUID, or Major or Minor version numbers. If this was not an MDE, then you could check for broken references when starting the app and recompile if needed.

  If it were me, I'd send out a setup without the .DLL and see if that works first.  If it still fails, then it's another lib.

  As far as inculding the DLL and registering it, that should be done by the setup wizard and yes, you are correct, registry entries are involved.  The setup wizzard should be handling that.  Just add the file in the "Add files" dialog.  make sure your up to date on all SP (Service Packs).  Also, before creating another distribution set, you may want to download mtdupdtr.exe from Microsoft.  This update fixes some of the templates used by the setup wizard that addresses problems with IE 4.0 and Win98.

JimD.

BTW, everything were talking about here is outlined in MSKB (Microsoft Knowledge Base) article Q194374 ACC97: "Function isn't available in expressions..." Error Message.
 
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
MacRenaAuthor Commented:
Hi JimD,

You ended up hitting it on the head.  Unchecking the DLL while in the .mdb before compiling to the .mde worked on the customer's computer.

Why it was checked in the first place is a mystery.

As for the rest of the education, I thought as much.  I would have to add the DLL in my Setup and then add a Registry entry to it.  But once the Key was created in the Registry, the specific method of alerting the program how to "Register" it is the missing link here.  I don't know how to do that.

Also, since it is "Registered" in a very long path, the References box can't fit the whole path, so I can't read the name of the file (believe it or not, the References box isn't sizable, so, after the path to the file, only the first letter of the file is showing, and there are 14 files in that directory begining with that letter), so I wouldn't even be able to tell which file to add.

Thanks for the help.

Mac
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.