#include #include #include #include #include #include #include "bainst.h" #include "bainst07.h" bool all_ok; class TInstall_CG : public TInstallmodule_app { private: bool CreaExeIni(const char * exename); protected: virtual int module_number() const {return 7;} virtual bool install_firm() {return TRUE;} // no firm installation virtual bool install_com(); virtual bool post_installer(); public: virtual ~TInstall_CG () {} }; bool TInstall_CG ::install_com() { // modifica per morena da togliere appena c'e' tempo: // installa fliva.txt che noin c'e' in STD dei programmi, // quindi la cerca in area dati (come prima) bool ok=TRUE; TStd_filename txtfile; if (txtfile.check(TRUE,"lfiva.txt")) { TSystemisamfile tabcom(LF_TABCOM); tabcom.load((const char *)txtfile); } return ok; } // crea il .ini per i files exe copiati nella directory di EASYCAMPO bool TInstall_CG ::CreaExeIni(const char * exename) { TFilename ininame(128); GetWindowsDirectory(ininame.get_buffer(), 128); ininame.add(exename); TFilename dllname; ininame.ext("ini"); TConfig ini(ininame); dllname.currdir(); dllname.add("xbs200.dll"); ini.set_paragraph("Installable ISAMs"); ini.set("FoxPro 2.0" ,dllname ); ini.set("FoxPro 2.5" ,dllname ); ini.set("dBASE III" ,dllname ); ini.set("dBASE IV" ,dllname ); ini.set("Deleted","On","dBase ISAM"); ini.set("ParadoxNetStyle","3.x","Paradox ISAM" ); return TRUE; } bool TInstall_CG ::post_installer() { bool ok=TRUE; // copia dll (ex file PRASSI.PR inst.exe ok &= CreaExeIni("CB0000.EXE"); ok &= CreaExeIni("TRRICE.EXE"); ok &= CreaExeIni("VCOPIA.EXE"); return ok; } int bainst07(int argc, char** argv) { TInstall_CG app; app.run(argc, argv); return all_ok; }