我用Installshield5.0来制作安装程序,制作好后,我运行安装程序,可以安装,但是运行桌面上的程序快捷图的时候,它说找不到数据源(比如我用的数据源GXCQ),但是在控制面板中的BDE   Administrator中为其手工配置一个数据库别名(GXCQ),这样就可以运行程序了,以后不须再配置BDE了!哪能让用户安装程序的时候自己加数据源,没有一个软件是像这样的!
请问怎样让在制作安装程序的时候让它自动安装的时候加上数据源呀!!!
急呀!!!
哪位大虾帮下忙?谢谢!!!

解决方案 »

  1.   

    不要使用别名,用TDataBase.Params参数来设置连接,避免手工添加一个BDE的别名。
      

  2.   

    InstallShield5版本太低了, 现在都到InstallShield12\13了, 用较新的InstallShield可以在安装程序中添加数据源
      

  3.   

    用一种方法可以自动配置数据源,代码如下:
    程序设置法, 可用自己的程式序来完成ODBC的配置,一种简单的方法是使用ODBCCP32.DLL中提供的一个函数来实现,
           此函数在Delphi中可声明如下:     //配置ODBC数据源,成功则返回True
         function SQLConfigDataSource(
             hwndParent: Integer;  
             fRequest: LongInt;  
             lpszDriverString: string; 
             lpszAttributes: string 
         ): LongBool; stdcall; external 'ODBCCP32.DLL';   参数说明:
         hwndParent: 父窗口Handle,当指定为0时不会出现对话框,否则会弹出标准的ODBC配置对话框
         
         fRequest: 命令请求,用来指明你要完成的功能,其值可为:
                   ODBC_ADD_DSN        = 1;
                   ODBC_CONFIG_DSN     = 2;
                   ODBC_REMOVE_DSN     = 3;
                   ODBC_ADD_SYS_DSN    = 4;
                   ODBC_CONFIG_SYS_DSN = 5;
                   ODBC_REMOVE_SYS_DSN = 6;
         
         lpszDriverString: 驱动程序名称,就是在ODBC设置中显示的驱动程序名称,如 Microsoft Access Driver (*.mdb)
         
         lpszAttributes: 此DSN的一些属性,可有多项,各项之间用分号(;)分隔
         
         
    用法如下:     const
      ODBC_ADD_DSN        = 1;
      ODBC_CONFIG_DSN     = 2;
      ODBC_REMOVE_DSN     = 3;
      ODBC_ADD_SYS_DSN    = 4;
      ODBC_CONFIG_SYS_DSN = 5;
      ODBC_REMOVE_SYS_DSN = 6;
      

  4.   

    在你的程序中涉及到数据源时要写入代码,而且要用相对路径GetCurrentDir,另外在制作安装程序过程中,要加入你用的数据库引擎对象,如果有你用到了单独的ODBC数据源,那就要用户自己配置一下了。自动配置的过程,楼上的方法没试过,研究一下。