Programmierung » Delphi » Datenbank
BDE ohne InstallShield
Hier eine Anleitung auf Englisch, wie's ohne InstallShield geht:
Installing BDE from BDEINST.CAB
If you have taken a close look at the listing of the BDE
installation directory
(usually \\Program Files\\Borland\\Common FIles\\BDE),
you've noticed there's a file
called BDEINST.CAB. If BDEINST.CAB isn't present in the
BDE folder, you probably chose not to let it be installed.
As this tip requires this file, you might want
to run install again and install only BDEINST.CAB. Anyway,
let's get back to the tip.
What is BDEINST.CAB?
BDEINST.CAB is a cabinet (Microsoft's compression format) file
that contains only one large file: BDEINST.DLL. This DLL
contains a simple installation program along with all the
necessary files for a basic install of BDE. It will correctly
install BDE with the native drivers for Paradox, dBase, MS
Access and FoxPro. It won't install drivers for SQL database
servers. If all you need is a basic installation of BDE for
supporting one of the forementioned databases, then
BDEINST.CAB is the best choice for you.
Given the problem InstallShield and Wise have with
installing BDE 5, BDEINST.DLL has a great appeal, since it was
created by the Borland folks and doesn't suffer from the same
problems InstallShield and WISE do.
There is, however, a drawback: BDEINST.DLL is a quite large
file, so it's that good if you're deploying on floppy disks.
There's a workaround for this problem and we'll get back to it
later on.
Using BDEINST.DLL
In order to use BDEINST.DLL, all you have to do is to extract
it from BDEINST.CAB. There are several ways this can be done.
Two of them are: Using WinZip or another CAB-compatible archiver.
Simply extract BDEINST.DLL from the CAB file.
Using Microsoft's EXTRACT utility that comes with Windows 9x
and NT. From a DOS window, issue the command below (path is
also shown):
C:\\Program Files\\Borland\\Common Files\\BDE>EXTRACT /E BDEINST.CAB
This will extract BDEINST.DLL to the current directory, since no
destination dir was specified in the command line.
The task now is to use the DLL. This is as simple as issuing the
command line below:
C:\\WINDOWS\\SYSTEM\\REGSVR32.EXE /S CABINST.DLL
If the command above fails, make sure you have REGSVR32.EXE on
your machine. Not all machines have it, and, in case of deploying
BDEINST.DLL, it's also a good idea to deploy REGSVR32.EXE. This
file can be found in \\WINDOWS\\SYSTEM or \\WINNT\\SYSTEM32.
A progress dialog box will popup indicating that the installation
of BDE is going ok. This is all it takes to install BDE without
needing any additional tool such as InstallShield or Wise.
If you do not want to deploy REGSVR32.EXE, you can create a small
VCL-less and formless application that simply calls
DllRegisterServer from the DLL.
procedure RegisterDLL(FileName : string);
type
TRegProc = function : HResult; stdcall;
var
LibHandle : THandle;
RegProc : TRegProc;
begin
LibHandle := LoadLibrary(PChar(FileName));
if LibHandle = 0 then ShowMessage('Could not open library');
try
@RegProc := GetProcAddress(LibHandle, 'DllRegisterServer');
if @RegProc = Nil then
ShowMessage('Could not find DLLResgiterServer');
if RegProc <> 0 then
ShowMessage('Could not register DLL');
finally
FreeLibrary(LibHandle);
end;
end;
Tags: -
Verwandte Artikel:
Letzte Änderung des Artikels: 2004-09-12 20:24
Verfasser des Artikels: Rolf Warnecke
Revision: 1.0
Es ist möglich, diesen Artikel kommentieren