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:
parent
aaa93eca73
commit
1be2ca44ca
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user