Knowledge Base

PRB: Can't find Installable ISAM When Run Two DB Apps in VB

PSS ID Number: 112652

Article Last Modified on 10/29/2003


The information in this article applies to:


This article was previously published under Q112652

SYMPTOMS

The following error message occurs under the conditions listed below:
Can't Find Installable ISAM

NOTE: If you are working with the Microsoft Access Version 2.0 Service Pack, you will receive Reserved Error (-1070).

A combination of the following conditions result in the error:
  • A Visual Basic application (.EXE) is executed that uses an IISAM driver.
  • The <appname>.INI file associated with the Visual Basic application includes a reference to only that IISAM driver.
  • A second Visual Basic application (.EXE) is executed that requires a different IISAM driver.
No matter what entries are in the second application's <appname>.INI file, the "Can't Find Installable ISAM" error occurs.

CAUSE

This behavior is by design in the Microsoft Access engine included in Visual Basic version 3.0 for Windows. The Microsoft Access engine is not currently designed to look for the new .INI file required by the second application. Instead, it is designed to use the established references that the first .INI file provided when the first Visual Basic application was executed. This design is under review for possible revision in future product versions.

WORKAROUND

To work around this limitation, place the entire Installable ISAMs section of the VB.INI file into the <appname>.INI file of each Visual Basic application that executes an IISAM driver.

The section in the <appname>.INI should look like this:
[Installable ISAMs]
Btrieve=C:\WINDOWS\SYSTEM\btrv110.dll
FoxPro 2.0=C:\WINDOWS\SYSTEM\xbs110.dll
FoxPro 2.5=C:\WINDOWS\SYSTEM\xbs110.dll
dBASE III=C:\WINDOWS\SYSTEM\xbs110.dll
dBASE IV=C:\WINDOWS\SYSTEM\xbs110.dll
Paradox 3.X=C:\WINDOWS\SYSTEM\pdx110.dll

MORE INFORMATION

Steps to Reproduce Behavior

TestApp1

  1. Start a new project in Visual Basic. Form1 is created by default.
  2. Add a Text Box (Text1) and a Data control (Data1) to the form.
  3. Set the Connect and DatabaseName properties of Data1 to connect to a Paradox 3.x database.
  4. Make an .EXE file, and call it TESTAPP1.EXE
  5. Using Notepad, create a text file called TESTAPP1.INI and in that file place the following:
       [Installable ISAMs]
       Paradox 3.X=C:\WINDOWS\SYSTEM\PDX110.DLL
    
  6. Place the file TESTAPP1.INI in your \WINDOWS subdirectory.

TestApp2

  1. Start a new project in Visual Basic. Form1 is created by default.
  2. Add a Text Box (Text1) and a Data control (Data1) to the form.
  3. Set the Connect and DatabaseName properties of Data1 to connect to a Btrieve database.
  4. Make an .EXE file, and call it TESTAPP2.EXE
  5. Using Notepad, create a text file called TESTAPP2.INI and in that file place the following:
        [Installable ISAMs]
        Btrieve=C:\WINDOWS\SYSTEM\BTRV110.DLL
    
  6. Place the file TESTAPP2.INI in your \WINDOWS subdirectory
  7. Run TESTAPP1. It should run with no problem.
  8. Next Run TESTAPP2 while TESTAPP1 is still running. You will receive the following error:
    Can't Find Installable ISAM

Additional query words: 3.00

Keywords: kbprb KB112652
Technology: kbAudDeveloper kbVB300 kbVB300Search kbVBSearch kbZNotKeyword2 kbZNotKeyword6