Link to home
Start Free TrialLog in
Avatar of MacRena
MacRenaFlag for United States of America

asked on

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
Avatar of MacRena
MacRena
Flag of United States of America image

ASKER

Edited text of question.
Avatar of MacRena

ASKER

Edited text of question.
Avatar of Jim Dettman (EE MVE)
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.
Avatar of MacRena

ASKER

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
Avatar of MacRena

ASKER

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
ASKER CERTIFIED SOLUTION
Avatar of Jim Dettman (EE MVE)
Jim Dettman (EE MVE)
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of MacRena

ASKER

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