到今天为止,终于把installshield6.22的部分功能的使用,弄明白了,这个CSDN平台真好,平时很多问题都是在这个平台上找到答案的,多谢各位网友的贡献,所以也想写些自己使用installshield6.22的总结,希望对其他网友有点点帮助。

解决方案 »

  1.   

    1.关于installshield6.22快捷方式的创建
      
      首先选择Resources选项,然后在Shell Objects子选项中选择添加desktop(桌面)或者Start menu(“开始”菜单)下的快捷方式。需要说明的是每个快捷菜单建立后需要设置如下三个参数:
      第一个参数:Target 参数   该参数主要是说明这个快捷方式的源  如果你安装包的目录设置为TARGETDIR 则此处应该设置为  <TARGETDIR>\Sensor.exe   (Sensor.exe即是你的应用程序
      第二个参数:Start In 参数 如果你安装包的目录设置为TARGETDIR 则此处应该设置为 <TARGETDIR>
      第三个参数:Install condition  双击该参数后,将应用程序所在的组 勾选上   至于为什么,我也不知道呵呵,实验出来就是这个样子。。 
      
      

  2.   

    2.关于installshield6.22添加BDE engine
    如果没有添加BDE,而用到了ODBC数据源时候,会出现An error occurred while attempting to initialize the Borland Database Engine(error $2108)错误。而如果step2种的参数没有配置正确,则会出现 BDE parameter error这样的错误。  首先选择Components选项,然后右键选择“Insert Installshield Object"选项,通过添加BDE,出现BDE配置界面:
      step1:    添加一个alias 我的程序中用到的数据源是Sensor,则我创建一个Sensor的alias,然后勾选
                  ”save CFG...."  选择 next 进入下一步配置
      step2:    在Driver项下选择你所用到的数据库驱动程序,我用的是 “Microsoft Access Driver(*.mdb)" ,
                然后配置Edit Optional parameters中的各个参数,这些参数的配置 需要根据
                  C:\Program Files\Borland\Delphi7\MergeModules\bdemmcfg.exe 生成的BDEMERGE.INI文件
                  中的各个相应的参数进行配置,可能只定义了一部分参数,没有关系,把定义了的复制进去就好。 
                  bdemmcfg.exe 中的alias和Driver的设置和前面一样,根据系统实际用的来设置。  
        
      

  3.   

    2.关于installshield6.22注册ODBC数据源
        //  注册ODBC数据源  
        RegDBSetDefaultRoot(HKEY_CURRENT_USER);
        if(RegDBKeyExist("Software\\ODBC\\ODBC.INI\\Sensor") < 0) then
            if(RegDBKeyExist("Software\\ODBC\\ODBC.INI") < 0) then
                if(RegDBKeyExist("Software\\ODBC") < 0) then
                    RegDBCreateKeyEx ("Software\\ODBC", "");
                endif;
                RegDBCreateKeyEx("Software\\ODBC\\ODBC.INI", "");
            endif;
            RegDBCreateKeyEx("Software\\ODBC\\ODBC.INI\\Sensor", "");
        else
            RegDBDeleteKey("Software\\ODBC\\ODBC.INI\\Sensor");
            RegDBCreateKeyEx("Software\\ODBC\\ODBC.INI\\Sensor", "");
        endif;
        
        if(RegDBKeyExist("Software\\ODBC\\ODBC.INI\\ODBC Data Sources") < 0) then
            RegDBCreateKeyEx ("Software\\ODBC\\ODBC.INI\\ODBC Data Sources", "");
        endif;
        
        RegDBSetKeyValueEx("Software\\ODBC\\ODBC.INI\\Sensor", "DBQ" , REGDB_STRING , TARGETDIR+"\\DZC-02.mdb" , -1);
        RegDBSetKeyValueEx("Software\\ODBC\\ODBC.INI\\Sensor", "Driver" ,REGDB_STRING , WINSYSDIR+"\\odbcjt32.DLL" , -1);
    RegDBSetKeyValueEx("Software\\ODBC\\ODBC.INI\\Sensor", "FIL" , REGDB_STRING , "MS Access;" , -1);
    RegDBSetKeyValueEx("Software\\ODBC\\ODBC.INI\\Sensor", "UID" , REGDB_STRING ,"" , -1);
    RegDBSetKeyValueEx("Software\\ODBC\\ODBC.INI\\Sensor", "DriverID" , REGDB_NUMBER ,"25" , -1);
    RegDBSetKeyValueEx("Software\\ODBC\\ODBC.INI\\Sensor", "SafeTransactions" , REGDB_NUMBER ,"0" , -1);
    RegDBSetKeyValueEx("Software\\ODBC\\ODBC.INI\\ODBC Data Sources", "Sensor" ,REGDB_STRING ,"Microsoft Access Driver (*.mdb)" , -1);
    将这段代码添加到setup.rul中,如添加到Dlg_SdStartCopy:模块的return 前面。
    然后将代码中的Sensor换成自己的数据源名,将TARGETDIR+"\\DZC-02.mdb" 换成为自己的数据库,即可