Patch level :10.0 250

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
0001189: da corso 25-2
Descrizione  se installo un client di rete mi permette di cambiare il percorso da cui installare le patch pur non avendo attivo il bottone rileggi è possibile cliccare su installa o confermare con invio.


git-svn-id: svn://10.65.10.50/trunk@18360 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-02-26 11:01:21 +00:00
parent aaa93eca73
commit 1be2ca44ca

View File

@ -158,6 +158,7 @@ protected:
bool post_process(TInstall_ini& ini, const char* module) const;
bool get_patches_path(TFilename& path) const;
void parse_internet_path(TString& http_server, TFilename& http_path) const;
bool is_program_dir(const TFilename& path);
public:
bool installed() const { return _installed;}
@ -1624,6 +1625,39 @@ bool TInstaller_mask::on_key(KEY key)
return ok;
}
//metodo per controllare se la directory indicata contiene una installazione buona di campo
bool TInstaller_mask::is_program_dir(const TFilename& path)
{
bool ok = false;
TFilename work_path = path;
//controlla l'esistenza di alcuni files chiave di campo
work_path.add("install.ini");
if (work_path.exist())
{
work_path = path;
work_path.add("campo.ini");
if (work_path.exist())
{
work_path = path;
work_path.add("campo.aut");
if (work_path.exist())
{
work_path = path;
work_path.add("ba0.exe");
if (work_path.exist())
{
work_path = path;
work_path.add("xvaga.dll");
if (work_path.exist())
ok = true; //minchia che diffidente!
}
}
}
}
return ok;
}
TInstaller_mask::TInstaller_mask()
: TArray_sheet(0, 0, 0, 0, TR("Installazione"),
HR("@1|Modulo@32|Cod.@3|Versione da\ninstallare@11|Liv.\nPatch@6|Data\nRilascio@10|Versione\nInstallata@10|Liv.\nPatch@6|Data\nInstallazione@13|Aggiornamento|Patch Base"),
@ -1653,9 +1687,20 @@ TInstaller_mask::TInstaller_mask()
add_string(F_WEB, 0, "", 23, 2, 256, "", 56);
set(F_TYPE, "0", 0x1);
//deve conoscere i path adesso per poter testare se sono ok
TInstall_ini ini;
TFilename path = ini.get("DiskPath");
TFilename webpath = ini.get("WebPath");
//un client non puo' scegliere a caso da dove aggiornarsi!Solo dal suo server!
if (_station_type == 3)
rf.disable();
{
rf.disable();
bool ko = !is_program_dir(path);
if (ko)
warning_box(TR("La cartella origine dei programmi NON è valida!\nSelezionarne una valida e premere 'Invio'."));
enable(F_PATH, ko);
}
add_string(F_CURPATH, 0, PR("Installa in "), 1, 3, 80, "D", 58);
@ -1665,9 +1710,6 @@ TInstaller_mask::TInstaller_mask()
set_handler(F_UPDATE, update_handler);
set_handler(DLG_USER, tutti_handler);
TInstall_ini ini;
TFilename path = ini.get("DiskPath");
TFilename webpath = ini.get("WebPath");
//se il webpath è vuoto o di test, propone quello in oem.ini; non ammette che possa essere proposto un path..
//..di tipo test per impedire all'utonto di aggiornarsi da test prima di essere passato da release