改注册表会吧!
  改动HKEY_LOCAL_MACHINE\SOFTWARE\Borland\database engine   新建字符串key:dllpath,value: <InstallPath>\bde;

解决方案 »

  1.   

    我使用的是这样的方法:
    因为bde的安装和配置不需要全部的文件,只需要10来个文件左右,因此我在打包的时候就吧那些文件也放在包里,安装的时候就分发到某个固定的目录下。然后通过程序去注册bde,别名也一样。如果是使用paradox表的,那么只要知道路径就可以了,因此动态设置别名很方便。
      

  2.   

    最好不要使用外部的别名,你可以有DELPHI内部的,添加一个DATABASE组件,用它连接数据库,路径可在程序开始运行时动态设置
      

  3.   

    动态配置sql server别名的例子:  asl := Tstringlist.Create ;
      asl.Clear ;
      asl.Add ('Driver Name= MSSQL');
      asl.Add ('Server Name= ' + svrname);
      asl.Add ('Database Name= ' + Dname);
      asl.Add ('User Name= ' + Username);
      asl.Add ('sqlqrymode=local');  if not Session.IsAlias ('STJ') then
      begin
       try
         Session.AddAlias ('STJ','MSSQL',ASL);
        finally
         asl.Free ;
        end;
      end
      else if Session.IsAlias ('STJ') then
      begin
       try
         Session.ModifyAlias ('STJ',ASL);
        finally
         asl.Free ;
        end;
      end;动态注册bde的例子:
    procedure InitBde;
    var
       DataDirectory : string;
       ARegistry     : TRegistry;
    begin
      DataDirectory := ExtractFilePath( Application.ExeName );
      DataDirectory := DataDirectory+'bde\';
      ARegistry     := TRegistry.Create;
      with ARegistry do    {创建一个TRegistry对象实例  }
      begin
        RootKey := HKEY_LOCAL_MACHINE;{指定根键为HKEY_LOCAL_MACHINE}
        if not OpenKey( 'Software\Borland\BLW32', False ) then
        begin
    //      showmessage('key 1'); {写入BDE语言驱动程序所在的目录,即当前程序目录   }
          OpenKey( 'Software\Borland\BLW32', True );
          WriteString( 'BLAPIPATH', DataDirectory );
        end;
        CloseKey;    {关闭主键,同时将信息写入注册表}
        RootKey := HKEY_LOCAL_MACHINE;
        if not OpenKey('Software\Borland\Database Engine',False) then
        begin
    //      showmessage('key 2');
          OpenKey('Software\Borland\Database Engine',True);
          WriteString( 'DLLPATH', DataDirectory );
        end;
        CloseKey;    {关闭主键,同时将信息写入注册表}
        Destroy;     {释放内存  }
      end;
    end;
      

  4.   

    谢谢小新的帮组,我打包的时候还有一个问题是想请教,BDE安装后,想将database engine下的b1lob size的值该为1000!我用delphi自带的这个打包工具好象只能增加一个键值,不能修改键值!结果整个database engine不能用!请帮忙!!