Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Can't Find Installable ISAM on some iinstallations

Status
Not open for further replies.

Francis

Programmer
Jan 26, 1999
124
0
0
GB
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"
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
 

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.
 
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.

 

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?
 
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.

 
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.


(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
 
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
 

>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.
 
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.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top