Changeset 543 for AE


Ignore:
Timestamp:
May 24, 2010, 9:13:59 PM (9 years ago)
Author:
gumby
Message:

Fixed PC issues, added exception handling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • AE/Installer/trunk/source/installer.cpp

    r542 r543  
    12751275bool ProcessAEUpdate(Install_info_cfg *currentAE, Install_info_cfg *updateAE, bool *installerJustUpdated)
    12761276{
     1277        try {
    12771278        fstream file;
    12781279        string line;
     
    12941295#else
    12951296        string strOniApp = "Oni.app";
    1296 #endif
    12971297        bool needNewTrashDir = false;
     1298#endif
     1299       
    12981300        bool readingVerAndDate = false;
    12991301       
    13001302#ifdef WIN32
    1301         string strTrashDir = "Trash\\"; // string unused in Windows because files are simply deleted
     1303        //string strTrashDir = "Trash\\"; // string unused in Windows because files are simply deleted
    13021304#else
    13031305        FILE *fUserName = NULL;
     
    13341336                                tokenize(tokens[2], updateStarted, "-");
    13351337                }
     1338#ifndef WIN32
    13361339                if (updateStarted.capacity() < 3)
    13371340                        needNewTrashDir = true;
     
    13431346                                needNewTrashDir = true;
    13441347                }
     1348#endif
    13451349        }
    13461350#ifndef WIN32
     
    13601364        {
    13611365                if (exists(strOniApp))
     1366#ifdef WIN32
     1367                        remove((path)strOniApp);
     1368#else
    13621369                        rename((path)strOniApp, (path)(strTrashDir + strOniApp));
     1370#endif
    13631371                rename((path)(strPathToEUFN + strOniApp), (path)strOniApp);
    13641372        }
     
    13681376                {
    13691377                        if (exists(strOniSplit))
     1378#ifdef WIN32
     1379                                remove((path)strOniSplit);
     1380#else
    13701381                                rename((path)strOniSplit, (path)(strTrashDir + strOniSplit));
     1382#endif
    13711383                        rename((path)(strPathToEUFNInstall + strOniSplit), (path)strOniSplit);
    13721384                }
     
    13781390                {
    13791391                        if (exists(("../" + strDaodan)))
    1380                                 rename((path)("../" + strDaodan), (path)(strTrashDir + strDaodan));
     1392                                remove((path)("../" + strDaodan));
    13811393                        rename((path)(strPathToEUFN + strDaodan), (path)("../" + strDaodan));
    13821394                }
     
    13871399                {
    13881400                        if (exists((path)strWinGUI))
    1389                                 rename((path)strWinGUI, (path)(strTrashDir + strWinGUI));
     1401                                remove((path)strWinGUI);
    13901402                        if (exists(strWinGUILang))
    1391                                 rename((path)strWinGUILang, (path)(strTrashDir + strWinGUILang));
     1403                                remove((path)strWinGUILang);
    13921404                        rename((path)(strPathToEUFNInstall + strWinGUI), (path)strWinGUI);
    13931405                        rename((path)(strPathToEUFNInstall + strWinGUILang), (path)strWinGUILang);
     
    14221434                        {
    14231435                                aParentPath = aParentPath + thePath.substr(lastPos, curPos - lastPos);
     1436#ifndef WIN32
    14241437                                if (!exists(strTrashDir + aParentPath))
    14251438                                        create_directory(strTrashDir + aParentPath);
     1439#endif
    14261440                                lastPos = curPos + 1;
    14271441                                curPos = thePath.find("/", lastPos);
     
    14681482        {
    14691483                if (exists(strPathToPackages + strGlobalize + *iter))
     1484#ifdef WIN32
     1485                        remove((path)(strPathToPackages + strGlobalize + *iter));
     1486#else
    14701487                        rename((path)(strPathToPackages + strGlobalize + *iter), (path)(strTrashDir + *iter));
     1488#endif
    14711489                rename((path)(strPathToEUFNPackages + strGlobalize + *iter), (path)(strPathToPackages + strGlobalize + *iter));
    14721490        }
    14731491       
    14741492        // Clean up after ourselves, trashing any packages or programs in the update package that are not newer than the current AE
     1493#ifdef WIN32
     1494        remove((path)strPathToEUFN);
     1495#else
    14751496        create_directory(strTrashDir + "Unneeded update files");
    14761497        rename((path)strPathToEUFN, (path)(strTrashDir + "Unneeded update files/" + strEUFN));
    1477        
     1498#endif
    14781499        // Write to log that we are finished with update
    14791500        ptime end_time(second_clock::local_time());
     
    14961517        TheWindow->OnRefreshButtonClick( e );
    14971518        return true;
     1519        }
     1520        catch (exception & ex)
     1521        {
     1522                setStatusArea("Warning, handled exception: " + (string)ex.what());
     1523                return false;
     1524        }
     1525       
    14981526}
    14991527
Note: See TracChangeset for help on using the changeset viewer.