#include ".\ApplicationUpdate.h" #include CApplicationUpdate::CApplicationUpdate(void) { SetUpdateType( UPDATE_TYPE_APPLICATION ); } CApplicationUpdate::~CApplicationUpdate(void) { } //Áß°£¿¡ Á¾·áµÇ¾î¾ß ÇÒ »óȲÀ̸é, FALSE //¸ðµç°ÍÀÌ ¿Ï·á µÇ¾úÀ» ¶§´Â TRUE¸¦ ¸®ÅÏÇÑ´Ù. BOOL CApplicationUpdate::StartUpdate() { PROCESS_INFO_MAP_ITER iter; BYTE byUpdateSeq = 0; for( iter = m_mapProcessInfo.begin(); iter != m_mapProcessInfo.end(); ++iter ) { PROCESS_INFO* pInfo = iter->second; if( !pInfo ) continue; pInfo->m_byUpdateSequence = byUpdateSeq; byUpdateSeq++; if( GetUpdateNumber() != 0 ) //ÁöÁ¤µÈ ¼­¹ö¸¸ ¾÷µ¥ÀÌÆ® ¸é.. { //ÇöÀç ÆÐÄ¡ÇÏ·Á´Â ¾÷µ¥ÀÌÆ® ³Ñ¹ö¿Í, if( pInfo->m_byUpdateNumber != GetUpdateNumber() ) //ÇØ´ç ¼­¹ö°¡ ¾Æ´Ï¸é ¸®ÅÏÇÑ´Ù. { if( byUpdateSeq == GetProcessInfoCount() ) //¸¶Áö¸·Àε¥µµ ãÁö ¸øÇßÀ¸¸é.. { AddMessage( WM_UPDATE_NOT_SUPPORT_UPDATE_NUMBER, (VOID*)GetUpdateNumber() ); return FALSE; } continue; } } if( !CheckLiveProcess( pInfo->m_szCheckProcess ) ) { AddMessage( WM_UPDATE_LIVE_PROCESS, pInfo ); return FALSE; } //1. ±âº»Á¤º¸ ¼¼ÆÃ. m_UpdateModule.SetUpdateNumber( pInfo->m_byUpdateNumber ); m_UpdateModule.SetCurVerInfo( pInfo->m_szProcessVer ); m_UpdateModule.SetProcessName( pInfo->m_szProcessName ); m_UpdateModule.SetUpdateSequence( pInfo->m_byUpdateSequence ); //1. ´Ù¿î¹ÞÀ» ÇÁ·Î¼¼¼­ÀÇ ·ÎÄà µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù. m_UpdateModule.CreateLocalProcessDownDir(); //2. ¹öÀüÀ» üũÇÑ´Ù. eRC_VERSION RcVersion = m_UpdateModule.CheckVersionFiles( m_UpdateModule.GetCurVersion() ); if( RcVersion == RC_VERSION_FILE_NOTEXIST || RcVersion == RC_VERSION_PARSING_FAIL ) { AddMessage( WM_UPDATE_VERSION_CHECK_FAIL, pInfo ); return FALSE; } else if( RcVersion == RC_VERSION_LASTEST ) //ÃֽŹöÀüÀ̸é. ³Ñ¾î°£´Ù. { AddMessage( WM_UPDATE_LASTEST_VERSION, pInfo ); continue; } // ÇѰ³ÀÇ ÇÁ·Î¼¼¼­¸¦ ¾÷µ¥ÀÌÆ® ÇÑ´Ù. if( m_UpdateModule.UpdateOneProcess() ) //ÇÊ¿äÁ¤º¸, ÇÁ·Î¼¼¼­À̸§°ú ÃÖÁ¾¹öÀü { m_UpdateModule.GetCurVersion().GetStringVersion( pInfo->m_szProcessVer, MAX_PATH ); AddMessage( WM_UPDATE_END_SUCCESS, pInfo ); } else { AddMessage( WM_UPDATE_END_FAIL, pInfo ); DeleteFile( DEFAULT_FILELIST_FILE ); //·ÎÄÿ¡ ´Ù¿î¹Þ¾Æ ³ù´ø ÆÄÀϸ®½ºÆ®¸¦ »èÁ¦ÇÑ´Ù. DeleteFile( DEFAULT_VERSION_FILE ); //·ÎÄÿ¡ ´Ù¿î¹Þ¾Æ ³ù´ø ¹öÀüÆÄÀÏÀ» »èÁ¦ÇÑ´Ù. return FALSE; } } return TRUE; }