I am using VB 6 with SP 6, Crystal Reports ActiveX control 5.2 (ships with Crystal Reports 8), Access 2000 & MDAC 2.8, my project runs well & smooth in VB IDE, even as the compiled (EXE) form on the machine it is developed. When I install the application on a new Windows 98 only machine, it triggers the error 'Error detected by database DLL' and the Crystal Reports ActiveX fails to show the report. The installer is built by the Project & Deployment Wizard of VB 6. Crystal, P2BBDE.DLL, U25Store.DLL, U25Total.DLL & U2LBar.DLL remains missing for the installer, I didn't find the files on my machine even after installing Crystal Reports 8!
Crystal Reports Control (all version) requires DAO to work with MS Access database. It is strange that this control is not shipped with a dependancy information that might instruct VB PDW what files to include in the distribution.
For Access 97 database, MSDAO350.DLL is required, and for Access 2K or later, MSDAO360.DLL is required. These DLLs are found at 'C:\Program Files\Common Files\Microsoft Shared\DAO\' path (the path may differ depending on your OS installation).
In the VB PDW, add the MSDAO350.DLL & MSDAO360.DLL manually, all the dependancies will be included automatically by the Wizard (VB PDW is intelligent enough, it is Crystal Reports control that is a dumb!). Now the installer will have all the required reditributables included & I hope you will get rid of the 'Error detected by database DLL' thing.
Please note that Crystal, U2TOTAL.DLL, U2BAR.DLL, U2BBDE.DLL and some other files that the VB PDW will prompt for but could not be found anywhere on your computer are not required to redistribute as a normal standard installer, so ignore these files.
There may be other issues that also throws the same error, but this method worked for me, smoothly.
Soory, I misspelt the ignorable file names. The files should be Crystal, P2BBDE.DLL (Borland database engine), U25Store.DLL (group summery function library for backword compatibility), U25Total.DLL (group summery function library for backword compatibility) & U2LBar.DLL (Barcode library).
I strongly recommend using the Crystal Reports Control 5.2 that ships with Crystal Reports 8 as the earlier versions of the control cannot handle the Access 2000 database.