1

Windows 10, Delphi 10.4.1, IBLite 2020

Hello all,

Getting "ibtogo64.dll not found in the path" when trying to run on any computer that does not have Interbase installed.

I have been using Advantage local server and would like to move to iblite for testing and small desktop projects.

I created a small test project using the sample data.

I copied the compiled project and supporting files, including license file and data to a USB drive.

Stopped the Interbase service and ran the project fine.

Moved the USB drive to a different computer and got the error as soon as project ran.

To make sure the running project was using the local DLL, I moved the USB back to the development computer and removed the DLL. Got the error, pasted back everything fine.

What am I missing.

Things I checked:

Made sure DLL's are in same directory as exe

Deployment files all checked except reg_ibtogo.txt using reg_iblite.txt

reg_iblite.txt is in the license folder

Interbase directory in same directory as exe

Project is release version

I ran the program from USB on laptop that has Interbase installed and service stopped and worked fine.

On Delphi-PRAXiS question came up about license. I have an included license file and according to this that's all I need.

RAD Studio includes InterBase 2020 ToGo and IBLite editions for embedded application development.

Developers can deploy their multi-device applications on Windows (32-bit and 64-bit), macOS (32-bit and 64-bit), iOS (32-bit and 64-bit) or Android (32-bit and 64-bit) devices with an IBLite license, for free. Also, developers using RAD Studio 10.3 Rio Enterprise or Architect editions can deploy their iOS and Android applications with the InterBase ToGo (IBToGo) for Mobile license included. They can additionally purchase an IBToGo license for desktop platforms (Windows, macOS, and Linux).

Developers using Professional edition can purchase an IBToGo license for all platforms separately.

any help would be appreciated,

Gary

Gary Shelton
  • 133
  • 1
  • 1
  • 9
  • 1
    You should read the accompanying documentation of your Delphi to learn what is needed to successfully Deploy application that is using Interbase TO GO. I recommend you start [here](http://docwiki.embarcadero.com/InterBase/2020/en/ToGo_Quick_Start) – SilverWarior Jan 14 '21 at 13:15
  • Thanks for the link. I have read them all and tried many things therefore this post. You can see what I have tried, this from instructions in documentation as well as video tutorials from Embarcadero. Still no joy. – Gary Shelton Jan 14 '21 at 13:35
  • Just to be sure: add to the system path the directory where ibtogo64.dll is located. – fpiette Jan 14 '21 at 14:26
  • 1
    You may also use ProcessMonitor (https://learn.microsoft.com/en-us/sysinternals/downloads/procmon) to see where your application try to load ibtogo64.dll. Run ProcessMonitor before your application to catch the startup sequence. You may filter the [huge] list by "path contains ibtoto64.dll". You should see various the path that are tried. – fpiette Jan 14 '21 at 14:30
  • Tried adding path to system already, No Joy. Thanks for the idea of ProcessMonitor. I ran it and got zilch. Toggled the filter just to make sure and got long list. – Gary Shelton Jan 14 '21 at 14:46
  • According to docs you just have to make sure dll is in same directory as exe. That makes for zero admin. I looked through the ibconfig file but didn't see anything pertaining to the path except for the data and I set that when connecting. BTW the TIBDataBase is not connected when program runs I have a button on form to connect, but app crashes on startup with the path error. – Gary Shelton Jan 14 '21 at 14:53
  • @GaryShelton Based on the fact that you get mentioned error even your database is not set to connected at application start it is possible that you are loading or trying to load `ibtogo64.dll` dynamically from your code probably by using `LoadLibrary`. And since `LoadLibrary` is capable of accepting full path to the desired library this might also be the reason why your program isn't searching for `ibtogo64.dll` but instead at specific location. So I suggest you check your code to make sure you are not loading the said library manually. – SilverWarior Jan 14 '21 at 23:10
  • It's a very light test app. Just dropped TIDataDase, TIBTable, DataSource, Grid and navigator. only code is in button click setting DataBase DataBaseName and connected, table.Open – Gary Shelton Jan 15 '21 at 17:27
  • Solved at https://en.delphipraxis.net/topic/4234-ibtogo64dll-not-found-in-the-path/ – Gary Shelton Jan 15 '21 at 23:27

2 Answers2

0

Try deploying the InterBase 64 bit client to the .EXE directory, then copy ibclient64.dll to ibtogo64.dll. If that works, we can contemplate why.

0

I just had this problem on 32 bit. The problem was I did not have the 32 bit Visual C++ runtime installed. So, you likely did not have the 64 bit one.