Patch level :4.0 setup

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :completato aggiornamento install.ini


git-svn-id: svn://10.65.10.50/trunk@15588 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2007-09-06 09:49:40 +00:00
parent b3508bb6f4
commit 3db99fea49

View File

@ -2273,16 +2273,29 @@ void CampoSetup::UnzipSystem(const wxString& strPrgLocPath) const
//aggiorna l'install.ini in base al numero di patch e versione dell'ultimo file zip di sistema
//ci vuole un giro allucinogeno per trasformare il .zip in .ini e togliere quel cazzo di 1 in fondo
wxFileName strLastFile(asFilesList[uFilesToCopy - 1]);
wxFileName strLastFile(asFilesList[uFilesToCopy - 1]); //zip con path completo
wxString strWrk = strLastFile.GetName();
strWrk.Truncate(strWrk.Len() - 1);
strLastFile.SetName(strWrk);
strLastFile.SetExt("ini");
strWrk = strLastFile.GetFullName();
//adesso che ha trovato quello sporco ultimo .ini prende versione e patch
CampoIniFile SyLastPatch(strWrk, "sy");
const wxString strVersion = SyLastPatch.Get("Versione");
const wxString strPatch = SyLastPatch.Get("Patch");
strWrk = strLastFile.GetFullPath();
//adesso che ha trovato quello sporco ultimo .ini prende versione e patch e le copia nell'install.ini..
//..nella dir dei programmi; lo fa paragrafo x paragrafo ([sy],[sy1]..)
//potrebbe sembrare assurdo un for, ma e' per futuri sottomoduli con numero > 1
for (int j = 0; j < 2; j++)
{
wxString strParagraph = "sy";
if (j > 0)
strParagraph << j;
CampoIniFile SyLastPatch(strWrk, strParagraph);
const wxString strVersion = SyLastPatch.Get("Versione");
const wxString strPatch = SyLastPatch.Get("Patch");
CampoIniFile InstallIni(strPrgLocPath + "/install.ini", strParagraph);
InstallIni.Set("Versione", strVersion);
InstallIni.Set("Patch", strPatch);
}
}
}
@ -2296,6 +2309,8 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
wxFileName strPath = argv[0];
strPath.SetCwd();
// 1) RACCOLTA PARAMETRI GENERALI INSTALLAZIONE (tipo,path,cartelle,servers,...)
//------------------------------------------------------------------------------
//tipo di installazione/aggiornamento
const unsigned int uInstallationType = pWizard->GetInstallationType();
const bool bNewInstallation = uInstallationType < 3;
@ -2313,7 +2328,10 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
//creazione della directory dei dati (compreso l'intero albero directory)
CheckAndMakeDir(strDataPath, "dati");
}
// 2) COPIA DEI FILES DI INSTALLAZIONE DALLA CARTELLA CAMPO (E SUBDIRS) (SU CD) ALLA CARTELLA DESTINAZIONE
//--------------------------------------------------------------------------------------------------------
//copia del contenuto della cartella campo nella cartella di destinazione (installaz/aggiornam)
//per prima cosa cerca la cartella dei files sorgente...
wxArrayString asFilesList;
@ -2394,7 +2412,10 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
}
} //if (!strFileCurr.IsEmpty()..
} //for(size_t...
// 3) COMPILAZIONE CAMPO.INI CON CONFIGURAZIONE NUOVA INSTALLAZIONE
//-----------------------------------------------------------------
//adesso deve compilare il campo.ini se nuova installazione..
if (bNewInstallation)
{
@ -2426,7 +2447,11 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
if (pWizard->GetInstUseDict())
CampoIniSrv.Set("Dictionary", pWizard->GetSrvDict());
}
}
} //if(bNewInstallation...
// 4) COMPILAZIONE\AGGIORNAMENTO INSTALL.INI CON DISKPATH
//-------------------------------------------------------
//..e modificare comunque l'install.ini aggiornando eventualmente l'origine dei programmi
//parentesi necessaria per la scrittura immediata (non cancellare! serve per debug)
{
@ -2442,6 +2467,10 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
CampoInstall.Set("DiskPath", strSrc);
}
}
// 5) CREAZIONE AUTOSTART DEI SERVERS (SE CI SONO)
//------------------------------------------------
//solo se sta installando campo in postazione server e deve installare un gestore di servizi..
//..avvia la procedura della creazione dell'autostart(un casino)
if (bInstallLurch)
@ -2451,21 +2480,23 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
}
// 2) procede poi al caricamento delle patch eventuali di sistema all'interno della dir 'program'
// 6) AGGIORNAMENTO DEL MODULO SY CON EVENTUALI PATCH PRESENTI IN PROGRAM DEL CD E AGGIORNAMENTO INSTALL.INI
//----------------------------------------------------------------------------------------------------------
//procede poi al caricamento delle patch eventuali di sistema all'interno della dir 'program' e al..
//..conseguente riaggiornamento del livello versione/patch del SY in install.ini
UnzipSystem(strPrgLocPath);
// 3) riaggiorna eventualmente il livello versione/patch del SY in install.ini
// 4) lanciare ba1.exe -6 in uscita (non va qui! e' solo per ricordarsi di farlo!)
//creazione dell'icona sul desktop
// 7) CREAZIONE DELL'ICONA SUL DESKTOP
//------------------------------------
const wxFileName strExe(strPrgLocPath, wxT("ba0.exe"));
const bool bDesktopShortcut = pWizard->GetDesktopShortcut();
if (bDesktopShortcut)
CreateIcon(CSIDL_COMMON_DESKTOPDIRECTORY, strExe);
// 1) terminato il tutto scrive/aggiorna/lascia stare il campo.stp
// 8) AGGIORNAMENTO CAMPO.STP
//---------------------------
if (bNewInstallation)
{
CampoIniFile CampoStp("C:\\campo.stp", "");
@ -2476,6 +2507,7 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
::wxMessageBox(wxT("Installazione terminata"), APPNAME, wxOK | wxICON_INFORMATION);
m_pMainFrame->Destroy();
//lanciare ba1.exe -6 in uscita (non va qui! e' solo per ricordarsi di farlo!)
}
bool CampoSetup::OnInit()