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