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 TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

DEPLOYING APPLICATION PROBLEM, DLL NOT FOUND 4

Status
Not open for further replies.

shanzen

Programmer
Apr 1, 2001
9
GB
Hi,

I have recently completed a project (with Delphi 5) and want to deploy it to other comps that have no delphi in it. I used Access 2000 as the base for creating and maintaining my database. I make the connection possible through manually setting the ODBC to recognise the database created.

I am deploying through the installshield program supplied to me via Delphi 5 disc. I've included everything in the setup options and manage to test run it. It was fine on my comp.

When I deploy it to my friend's comp who has ms office 2000 with access 2000 installed, it ran fine. Then I tried running it on another computer with ms office 97 with access 97 installed. An error stating that 'vcl50.bpl not found' popped up. I screamed. Then I tried running it on another comp without office installed. The error 'Alias @BDEblahblah not found' pop up. Even worse. I also manage to try on another comp where a different error, 'Fatal execution blah blah' popped up.

Can someone help me with this. It is so frustrating. I contacted installshield and they inform me that no support is offered for Delphi 5. WHAT?!?! and they are charging $50 per question asked.
 
Hi Shenzen,
After reading your question it seems that your application is built using "Build with runtime packages" checked. If this check is true then your application size becomes smaller but all you've to do is to also deploy DLLs using which that project was build including (VCL50.BPL etc.). you can uncheck it and can select to build your application using Design time packages only and in this case you don't have to deploy other DLLs with your app.
To do this. Just open your project in delphi IDE and from menu select Project|Options and form Project options window select "Packages" Tab and uncheck the "Build with runtime packages" check.
rebuild your application.
2nd thing is that if you've used MSACCESS 2000 driver then it wont run with ACCESS 97's drivers. All you can do is to also update the Dlls required for accessing ACCESS file using installshield. List of required Dlls can be found from Access help.

Hope it will help you.

Ali Naqvi
 
I have the same problem but, i also has the "Build with runtime packages" uncheck.
my projects works with SQLServer, and in some pc's works in others no!!!!
What's wrong????
 
Kristjan, can these problem computers connect or see the SQL-Server without your application installed? Probably you need some client program from M$ to be installed first.

The same issue applie with Interbase, where you need to install the Interbase client to make the communication possible. Oracle works with Oraclient.

Regards Steven van Els
SAvanEls@cq-link.sr
 
yes, the computers connect and see the SQL-Server, even i probe installing SQL-Server in the pc and doesn´t work, but if delphy is installed, wow!!! Dios Mio!!! the program work!!!

tnx
 
Check for a correct installation of the BDE (if you are using it) and especially the SQL-drivers! Steven van Els
SAvanEls@cq-link.sr
 
Let me explain more of my problem:
I have diferents applications made in Delphi 5 and Delphi 6 and the problem is the same, someones works against SQL-Server (Majority), Oracle(few), Access(...), I don´t have this problems before but i think it was because in all the pc's i probe the applications has or had delphi #, or has many of programs installed (without Delphi #). Now i will install my applications in a clean pc, or with not to much programs, and doesn´t work, even i install SQL-Server or Access and not work.
I track the error and find that is at the moment when the DataModule is Create :("Application.CreateForm(TDataModuleOFC, DataModuleOFC);") (this is using a splash screen, remember if I install delphi and debug that, all is alright) with this i believe that the error is in some library or .dll or something like that with the DB connection, i use ODBC connection, in delphi use Data Access Components, also use Data Controls, and RX DBAware from (Rxlib).
.exe Delphi need (.dll-.???) to run, or not?

I'm not a newbe, I'm not a Guru, but this make me lose my dream.

tnx for all, i really appreciate your help.
 
Maybe some 3[sup]rd[/sup] party component RX DBAware? needs to be deployed together with your application. As long as it is together with Delphi it will work, but stand alone? Check your documentation.
Steven van Els
SAvanEls@cq-link.sr
 
yes there is a valid question Steven, but i have applications made without RX DBAware, and the problem persist, all the Delphi 5 ->with RX DBAware, and all the Delphi 6 without that, and all the application lunch the same error...
I seek and read a lot of documentation of all, incluiding documentation of bugs in Delphi etc...
 
Check if you are using any component that didn't come with the original package. Some of the trial versions on the companion CD, activeX controls etc.
I myself use Autocad Whip from Autodesk to embed autocad files.
If the application runs on a computer with Autocad installed no problem. If not I have to install Whip first (from autodesk).
Maybe you are using some report generator (crystal reports, report smith etc...) Steven van Els
SAvanEls@cq-link.sr
 
Finally I solve the problem:
the application need some .dlls, i read,seek,help etc, and find the missing files!!!, some files depends of the DB engine that the program connect, for example: SQLServer need sqlmss32.dll,etc Oracle: SQLORA32.DLL,etc SyBase: SQLSYB32.DLL, etc. and anothers .dll
like Steven van Els says: "component that didn't come with the original package" may be the problem, in my case i don´t have that problem but i find some application that install some of .cnt - .cfg - .btl etc, in the same dir that i need to install the .dlls :
Program Files\Common Files\Borland Shared\BDEthis look obvious that we need to install some .dlls, in a delphi program that use DB connection.

but if someone knows another way, i realy appreciate that information!!!
 
SQLORA32.dll etc. are installed when you install a client program on your computer that connects to the server. These client programs that in the most simple form are command line utilities to punch in some basic sql are found on the cd of the database.

If you install one of these programs, make connection to your Dbserver, can modify or insert tables/data on the server, probably you will not have problems when installing the BDE with appropriate SQL-drivers. Also using ODBC instead of the native delphi-sql driver can cause problems.

My standard approach: New computer
1) Server can be seen from computer? ping, explorer, shared drives etc.
2) Install client program. With Interbase I install W-ISQL to communicate with the server
3) Install bde with needed sql-driver, alias etc...
4) Install SQL-explorer (borland) to check connection to server
5) Copy(install) executables, if all previous steps passed succesfull, nothing can go wrong

This whole thing could be automated in Installshield or whatever, but I do not do mass production, and I have total control of the installation. Steven van Els
SAvanEls@cq-link.sr
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top