Patch level :10.0 652

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Aggiunta la possibilità di uncheckare e disabilitare tutti i moduli in caso di patch di SOLO modulo SR.


git-svn-id: svn://10.65.10.50/trunk@20152 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2010-02-22 12:19:38 +00:00
parent e22ea70356
commit fcf67a6ea4

View File

@ -324,9 +324,9 @@ int TInstaller_mask::test_station_type() const
int TInstaller_mask::precheck_modules(bool only_newer)
{
TString16 release,currrelease;
TString16 release, currrelease;
TString4 cod_module;
int patchlevel,modnumber,currpatch;
int patchlevel, modnumber, currpatch;
bool check_enabled = true;
_setup_run = false; //inizializzazione del flag di controllo di lancio di setup.exe
@ -341,8 +341,7 @@ int TInstaller_mask::precheck_modules(bool only_newer)
currrelease = rigar.get(C_CURRRELEASE);
currpatch = rigar.get_int(C_CURRPATCH);
modnumber = get_module_number(cod_module);
if (modnumber >= 0 && should_precheck_module(modnumber) &&
release.full() &&
if (modnumber >= 0 && should_precheck_module(modnumber) && release.full() &&
((release > currrelease) ||
(release == currrelease && (only_newer ? patchlevel > currpatch : patchlevel >= currpatch) ))
)
@ -351,18 +350,23 @@ int TInstaller_mask::precheck_modules(bool only_newer)
bool chk = rigar.get_char(C_ISPATCH) != 'X' || release == currrelease;
// non spunta automaticamente il modulo server su installazioni che non siano server
if (chk && cod_module == "sr" && test_station_type() != 2)
if (cod_module == "sr" && test_station_type() != 2)
{
chk = false;
disable_row(r);
}
if (check_enabled)
check(r, chk);
if (chk && only_newer && cod_module == "sy") //se viene checkato il modulo sy (sistema) deve togliere..
if (chk && only_newer && (cod_module == "sy" || cod_module == "sr")) //se viene checkato il modulo sy (sistema) e/o sr (servers)deve togliere..
{ //..la possibilita' di installare altri moduli..
for (int i = 0; i < a.items(); i++)
{
disable_row(i); // disabilita tutte le righe dello sheet
if (i != r) uncheck(i); // puo' succedere che il modulo sy non sia il primo
if (i != r)
uncheck(i); // puo' succedere che il modulo sy o sr non sia il primo
disable_row(i); // disabilita tutte le righe dello sheet (va fatto DOPO l'uncheck!!!)
}
disable(DLG_USER);
check_enabled = false; //..ed uscire