有必要把执行文件放桌面吗?建立一个快捷方式不就行了,另外,如果真的需要放桌面,那可以写注册表指定BDE的路径。这是我自己的一个例程,供参考:
procedure RegisterBDE;
var
Reg: TRegistry;
UseCount: Integer;
ProgramFilesDirectory: string;
begin
UseCount := 0;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('/Software/Borland/Database Engine', False) then
UseCount := StrToIntDef(Reg.ReadString('UseCount'), 0);
Reg.CloseKey;
finally
Reg.Free;
end;
ProgramFilesDirectory := GetProgramFilesDirectory;
Inc(UseCount);
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('/Software/Borland/Database Engine', True);
Reg.WriteString('DLLPath', IncludeTrailingPathDelimiter(ProgramFilesDirectory) + 'Common Files/Borland Shared/BDE/');
Reg.CloseKey;
Reg.OpenKey('/Software/Borland/BLW32', True);
Reg.WriteString('BLAPIPATH', IncludeTrailingPathDelimiter(ProgramFilesDirectory) + 'Common Files/Borland Shared/BDE/');
Reg.CloseKey;
Reg.OpenKey('/Software/Borland/Database Engine', True);
// Reg.WriteString('UseCount', '1');
Reg.WriteString('UseCount', IntToStr(UseCount));
Reg.CloseKey;
finally
Reg.Free;
end;
end;