INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Can't Find Installable ISAM on some iinstallations

Can't Find Installable ISAM on some iinstallations

(OP)
I have a program written with VB6, using DAO and Intrinsic Data control
The Setup is written in InstallShield 2008 and includes the MDAC 2.6 merge models.
Normally all works fine, but on some of my customers installations (German and Italian but not all of them) it fails as soon as the data control is refreshed, producing "Can't Find Installable ISAM"
http://support.microsoft.com/kb/299457 says
"this error message can occur if you have the wrong version of the MSVBVM60.dll file registered in your system (or are distributing the wrong version of MSVBVM60.dll "
However, the versions of MSVBVM60.dll on the systems are the same as mine, 6.0.97.82
My customers have also run the MDAC Version checker which does not indicate any problems.
Does anyone have any suggestions please.
Thanks

RE: Can't Find Installable ISAM on some iinstallations


Installing MDAC has nothing to do with DAO, and has nothing to do with Jet after MDAC 2.5. (This would only help when using ADO, and then you need to install using 2.5 or install the Jet4 SP for this.)

>Intrinsic Data control
If the "Connect" property in the properties window says "Access" then this is using Jet3. If it says "Access 2000" then it is using Jet 4. Based on that, you need to install for Jet3 the DAO 3.51 and Jet 3.5 drivers, or for Jet4 the DAO 3.6 and Jet 4 drivers. DAO has one single component which needs to be installed. Jet has several. Jet 4 is already on W2000+ machines. So you are probably using Jet 3 and DAO 3.51 in your program, or it is an older OS.

RE: Can't Find Installable ISAM on some iinstallations

(OP)
Jet 4 and DAO3.6 are installed with the setup.
As I said it works on most installations, the problem happens on just a few non English machines. Even the customers who have the problem have found that it works fine on a VM Ware virtual machine.
I think it may be a Microsoft bug.

RE: Can't Find Installable ISAM on some iinstallations


1. Did you check the connect property? Does it then show "Access 2000"?

2. What version of DAO is referenced under Project-References, if listed at all?

RE: Can't Find Installable ISAM on some iinstallations

(OP)
Yes, Connect is "Access 2000"
DAO 3.6 is referenced
InstallShield, which i use for the Setup scans the VB6 source to determine dependencies etc and selects all the required merge modules.
I have written a small test program which my customer run.
It is very simple, it produces a report that lists all the DLL's, OCX's that the application uses, along with their versions. I cannot even see any problems there.
It also tests that databases can be created in code - but as soon as it refreshes a data control the error occurs.
I suspect some sort of registration problem.

RE: Can't Find Installable ISAM on some iinstallations


Then run the JET 4 service pack set-up on those machines.
I suspect, if the connections in code are all correct, it just wasn't installed correctly, including all dll's and registrations. Therefore, you should install the Jet Sp.

http://www.microsoft.com/downloads/results.aspx?productID=3D99F106-AA6D-4113-AE45-30B61394B1E0&freetext=&DisplayLang=en

(use the correct SP for the OS in question)

There were also some problems with a mix up in the registration between DAO 3.51 and DAO 3.6.
Is DAO 3.51 or earlier also on those machines?



What is for example the OS and local where it doesn't work?

The registration key for the JET 3x is
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Jet 3.5





RE: Can't Find Installable ISAM on some iinstallations

(OP)
As the PC's are in aother country I do not get my hands on them unfortunately.
re "There were also some problems with a mix up ...."
I guess i can modify my test program to check DAO3.51 - are you suggesting that the registration for DAO3.6 might somehow mean that DAO3.51 is being used instead?

My clients are running XP, but I did once have a similar problem with W2K
As for the JET4 service packs, I thought they got installed by Windows Updates. But it sunds like I should suggest to my clients that they install the Jet sp.

Thanks for you help.
Francis

RE: Can't Find Installable ISAM on some iinstallations


>are you suggesting that the registration for DAO3.6 might somehow mean that DAO3.51 is being used instead?

Could happen in some program installed 3.51 after 3.6 (should usually work still).

Yes, W2K and XP have Jet4. See what the service pack updates do. If that doesn't help, then create a very very simple program which uses DAO 3.6 in code, and not using the DC, and see if that works. If it does, then the problem is either in your code or in the DC.

RE: Can't Find Installable ISAM on some iinstallations

(OP)
My customer tried running the Jet4  service pack, but his system said  there was no need to run it as the Service Pack of his system was newer.
My test program already tests that it can create a database in code, which works

Sub maketestDB()
'**********************
On Error Resume Next
Dim CDtestDBname1$, CDtestDBname2$, testCDDB As Database
    'create a new database for the user's test buffer
    CDtestDBname1 = WinTempPath$ & "testDB.mdb"
    CDtestDBname2 = WinTempPath$ & "CompactedtestDB.mdb"
    Set testCDDB = CreateDatabase(CDtestDBname1, dbLangGeneral)
    error_log Err, "Make Database", False
    'now close and then open when needed
    Err = 0
    testCDDB.Close
    error_log Err, "Close Database", False
    Set testCDDB = Nothing
    DBEngine.CompactDatabase CDtestDBname1, CDtestDBname2
    error_log Err, "CompactDatabase", False
    Set testCDDB = OpenDatabase(CDtestDBname2)
    error_log Err, "OpenDatabase", False
    testCDDB.Close
    Kill CDtestDBname1
    Kill CDtestDBname2
End Sub

It is only when connecting a standard VB6 Data control that the error happens.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close