Patch level :2.1 26

Files correlati     :ba0.exe ba1.exe
Ricompilazione Demo : [ ]
Commento            :forza uscita dal programma in caso di installazione SY;lancia una sola volta
ba0close stabilendo se si tratta di una prima installazione o di un aggiornamento


git-svn-id: svn://10.65.10.50/trunk@12050 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2004-05-04 11:44:23 +00:00
parent 532584d829
commit ea2f5a31eb
2 changed files with 16 additions and 12 deletions

View File

@ -286,7 +286,7 @@ bool TMenuitem::perform_program() const
TExternal_app a(_action);
a.run(FALSE,3);
const bool maintenance_app = _action.starts_with("ba1 -0", TRUE) == 0;
const bool maintenance_app = _action.starts_with("ba1 -0", TRUE);
if (maintenance_app)
{
char line1[16],line2[16];
@ -316,7 +316,7 @@ bool TMenuitem::perform_program() const
}
prefix().set("DEF"); // Aggiorna prefix
const bool install_app = _action.starts_with("ba1 -6", TRUE) == 0;
const bool install_app = _action.starts_with("ba1 -6", TRUE);
if (install_app && sys_dll_changed())
main_app().stop_run();
}

View File

@ -129,7 +129,7 @@ public:
bool installed() { return _installed;}
bool autoload();
bool install(const TString& module, int patch);
bool run_ba0close() const { return _reboot_program >= NEW_MENUPRG; }
bool run_ba0close() const { return _reboot_program >= NEW_MENUPRG; }
TInstaller_mask();
virtual ~TInstaller_mask();
@ -458,13 +458,11 @@ bool TInstaller_mask::autoload()
TString& ininame = *arow;
ininame.lower();
const int pos = ininame.find("a.ini");
CHECKS(pos >= 6, TR("Invalid installation configuration: "), (const char*)ininame);
CHECKS(pos >= 6, TR("Configurazione di installazione non valida: "), (const char*)ininame);
const TString16 module = ininame.mid(pos-6, 2);
int r;
TConfig ini(ininame, module);
TConfig ini(ininame, module);
ini.write_protect();
for (r = int(items()-1); r >=0; r--)
for (int r = int(items()-1); r >=0; r--)
if (module == row(r).get(C_CODE))
break;
if (r >= 0)
@ -552,7 +550,7 @@ bool TInstaller_mask::can_install(const char* module, TInstall_ini& ini)
#endif
TAuto_token_string altri(ini.get("Moduli", module));
if (xvt_str_compare_ignoring_case(module, "ba") != 0 && altri.get_pos("ba") < 0)
if (stricmp(module, "ba") != 0 && altri.get_pos("ba") < 0)
altri.add("ba"); // La base e' obbligatoria per tutti
bool ok = TRUE;
@ -1237,7 +1235,7 @@ bool TInstaller_mask::quit_handler(TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
// TInstaller_mask & m=(TInstaller_mask &) f.mask(); inutile verificare
TInstaller_mask & m=(TInstaller_mask &) f.mask();
const bool check_on = _curr_mask->check_enabled();
_curr_mask->enable_check(TRUE);
const bool some = _curr_mask->one_checked();
@ -1326,7 +1324,7 @@ TInstaller_mask::~TInstaller_mask()
if (_reboot_program & NEW_MENUPRG)
msg << TR("navigatore dei menu;");
if (_reboot_program & NEW_INSTALLER)
msg << TR("installatore");
msg << TR("installatore;");
if (_reboot_program & NEW_DLL)
msg << TR("librerie di base;");
@ -1442,8 +1440,14 @@ void TExtendedInstaller::main_loop()
conversion.run();
}
const bool reboot = _m->run_ba0close();
delete _m; _m = NULL;
if (reboot && !fexist("ba3.exe")) //e' una prima installazione (non ha ancora installato la base)
{
TExternal_app ba0close("ba0close.exe");
ba0close.run(TRUE,TRUE,TRUE); // run asynchronous...
}
}
int ba1700(int argc, char* argv[])
@ -1461,4 +1465,4 @@ int ba1700(int argc, char* argv[])
app.run(argc, argv, PROGNAME);
}
return 0;
}
}