Patch level :4.0 setup
Files correlati : Ricompilazione Demo : [ ] Commento :aggiunto unzippamento patch di sistema e aggiornamento ini git-svn-id: svn://10.65.10.50/trunk@15586 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7ddd0a6317
commit
aacf098860
@ -2262,12 +2262,28 @@ void CampoSetup::UnzipSystem(const wxString& strPrgLocPath) const
|
|||||||
strSourcePath.MakeAbsolute();
|
strSourcePath.MakeAbsolute();
|
||||||
//..contando anche quanti sono e memorizzandoli in un array asFileList
|
//..contando anche quanti sono e memorizzandoli in un array asFileList
|
||||||
const size_t uFilesToCopy = wxDir::GetAllFiles(strSourcePath.GetPath(), &asFilesList, strSourcePath.GetFullName());
|
const size_t uFilesToCopy = wxDir::GetAllFiles(strSourcePath.GetPath(), &asFilesList, strSourcePath.GetFullName());
|
||||||
|
if (uFilesToCopy > 0)
|
||||||
|
{
|
||||||
//ordina le patch per numero crescente ma mette davanti a tutte il pacco (sysinst1)
|
//ordina le patch per numero crescente ma mette davanti a tutte il pacco (sysinst1)
|
||||||
asFilesList.Sort(PatchCompare);
|
asFilesList.Sort(PatchCompare);
|
||||||
for (size_t i = 0; i < uFilesToCopy; i++)
|
for (size_t i = 0; i < uFilesToCopy; i++)
|
||||||
{
|
{
|
||||||
UnzipFile(asFilesList[i] , strPrgLocPath);
|
UnzipFile(asFilesList[i] , strPrgLocPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//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]);
|
||||||
|
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");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//metodo principale dell'applicazione che gestisce l'ordine degli eventi nella installazione vera e propria
|
//metodo principale dell'applicazione che gestisce l'ordine degli eventi nella installazione vera e propria
|
||||||
@ -2311,8 +2327,14 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
|
|||||||
//per ogni files da copiare controlla i path sorgente e destinazione(problema con sottodirectory tipo dati)
|
//per ogni files da copiare controlla i path sorgente e destinazione(problema con sottodirectory tipo dati)
|
||||||
wxString strFileCurr;
|
wxString strFileCurr;
|
||||||
const size_t nPathLenght = strSourcePath.GetPath().Len();
|
const size_t nPathLenght = strSourcePath.GetPath().Len();
|
||||||
|
//progress bar
|
||||||
|
wxProgressDialog pi("Installazione Dati e Programmi di base...", "", (int)uFilesToCopy, NULL, wxPD_AUTO_HIDE | wxPD_APP_MODAL | wxPD_CAN_ABORT);
|
||||||
|
|
||||||
for (size_t i = 0; i < uFilesToCopy; i++)
|
for (size_t i = 0; i < uFilesToCopy; i++)
|
||||||
{
|
{
|
||||||
|
//aggiorna la progind
|
||||||
|
if (!pi.Update((int)i, asFilesList[i]))
|
||||||
|
break;
|
||||||
//files dei dati standard! solo in caso di nuova installazione!!
|
//files dei dati standard! solo in caso di nuova installazione!!
|
||||||
if (asFilesList[i].Lower().Find("\\dati\\") > 0)
|
if (asFilesList[i].Lower().Find("\\dati\\") > 0)
|
||||||
{
|
{
|
||||||
@ -2428,16 +2450,8 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
|
|||||||
CreateAutostartMode(iSrvAutostartMode, strPrgLocPath);
|
CreateAutostartMode(iSrvAutostartMode, strPrgLocPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
//creazione dell'icona sul desktop
|
|
||||||
const wxFileName strExe(strPrgLocPath, wxT("ba0.exe"));
|
|
||||||
const bool bDesktopShortcut = pWizard->GetDesktopShortcut();
|
|
||||||
if (bDesktopShortcut)
|
|
||||||
CreateIcon(CSIDL_COMMON_DESKTOPDIRECTORY, strExe);
|
|
||||||
|
|
||||||
|
|
||||||
// 2) procede poi al caricamento delle patch eventuali di sistema all'interno della dir 'program'
|
// 2) procede poi al caricamento delle patch eventuali di sistema all'interno della dir 'program'
|
||||||
//copia del contenuto della cartella campo nella cartella di destinazione (installaz/aggiornam)
|
|
||||||
//per prima cosa cerca la cartella dei files sorgente...
|
|
||||||
UnzipSystem(strPrgLocPath);
|
UnzipSystem(strPrgLocPath);
|
||||||
|
|
||||||
|
|
||||||
@ -2445,6 +2459,12 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
|
|||||||
|
|
||||||
// 4) lanciare ba1.exe -6 in uscita (non va qui! e' solo per ricordarsi di farlo!)
|
// 4) lanciare ba1.exe -6 in uscita (non va qui! e' solo per ricordarsi di farlo!)
|
||||||
|
|
||||||
|
//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
|
// 1) terminato il tutto scrive/aggiorna/lascia stare il campo.stp
|
||||||
if (bNewInstallation)
|
if (bNewInstallation)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user