Ignore:
Timestamp:
Apr 24, 2010, 9:19:14 PM (15 years ago)
Author:
gumby
Message:

Fixed broken update code

File:
1 edited

Legend:

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

    r508 r509  
    976976                                if (is_directory(install_iter->path()) && exists(install_iter->path().string() + "/Mod_Info.cfg"))
    977977                                {
     978                                        string blah =install_iter->path().string() + "/Mod_Info.cfg";
     979                                        string blah2 = "packages/" + install_iter->path().filename() + "/Mod_Info.cfg";
    978980                                        fstream file;
    979981                                        file.open((install_iter->path().string() + "/Mod_Info.cfg").c_str());
    980982                                        if (!file.fail())
    981                                                 ModPackage updatePackage = fileToModPackage(file, install_iter->path().filename());
     983                                                updatePackage = fileToModPackage(file, install_iter->path().filename());
    982984                                        else
    983985                                        {
     
    985987                                                continue;
    986988                                        }
    987                                         if (exists("packages" + install_iter->path().filename() + "/Mod_Info.cfg"))
     989                                        if (exists("packages/" + install_iter->path().filename() + "/Mod_Info.cfg"))
    988990                                        {
    989991                                                file.close();
    990                                                 file.open(("packages" + install_iter->path().filename() + "/Mod_Info.cfg").c_str());
     992                                                file.clear();
     993                                                file.open(("packages/" + install_iter->path().filename() + "/Mod_Info.cfg").c_str());
    991994                                                if (!file.fail())
    992                                                         ModPackage installedPackage = fileToModPackage(file, install_iter->path().filename());
     995                                                        installedPackage = fileToModPackage(file, install_iter->path().filename());
    993996                                                file.close();
    994997                                                if (updatePackage.modStringVersion > installedPackage.modStringVersion)
     
    14901493        return true;
    14911494}
    1492 
     1495extern MainWindow* TheWindow;
    14931496void ProcessPackageUpdates(string pathToUpdate, string strPathToPackages)
    14941497{
     
    15411544                                        {
    15421545                                                installedPackage = fileToModPackage(file, updtFolder);
    1543                                                 file.close();
    1544                                                 if (updatePackage.modStringVersion > installedPackage.modStringVersion)
    1545                                                 {
    1546                                                         if (updatePackage.installerVersion <= INSTALLER_VERSION)
     1546                                        }
     1547                                        file.close();
     1548                                }
     1549                                file.close();
     1550                                if (updatePackage.modStringVersion > installedPackage.modStringVersion)
     1551                                {
     1552                                        if (updatePackage.installerVersion <= INSTALLER_VERSION)
     1553                                        {
     1554                                                if(exists(strPathToPackages +  "/" + updatePackage.modStringName)) {
     1555#ifdef WIN32
     1556                                                        remove_all((path)(strPathToPackages +  "/" + updatePackage.modStringName));
     1557#else
     1558                                                        if (needNewTrashDir)
    15471559                                                        {
    1548 #ifdef WIN32
    1549                                                                 remove_all((path)(strPathToPackages +  "/" + installedPackage.modStringName));
    1550 #else
    1551                                                                 if (needNewTrashDir)
    1552                                                                 {
    1553                                                                         strTrashDir = strTrashDir + "Old_packages_" + boost::lexical_cast<string>(tmStartTime.tm_hour) + "-" +
    1554                                                                                                   boost::lexical_cast<string>(tmStartTime.tm_min) + "-" + boost::lexical_cast<string>(tmStartTime.tm_sec) + "/";
    1555                                                                         create_directory(strTrashDir);
    1556                                                                         needNewTrashDir = false;
    1557                                                                 }
    1558                                                                 rename((path)(strPathToPackages +  "/" + installedPackage.modStringName), (path)(strTrashDir + installedPackage.modStringName));
     1560                                                                strTrashDir = strTrashDir + "Old_packages_" + boost::lexical_cast<string>(tmStartTime.tm_hour) + "-" +
     1561                                                                        boost::lexical_cast<string>(tmStartTime.tm_min) + "-" + boost::lexical_cast<string>(tmStartTime.tm_sec) + "/";
     1562                                                                create_directory(strTrashDir);
     1563                                                                needNewTrashDir = false;
     1564                                                        }
     1565                                                        rename((path)(strPathToPackages +  "/" + updatePackage.modStringName), (path)(strTrashDir + updatePackage.modStringName));
    15591566#endif
    1560                                                                 rename((path)(pathToUpdate + "/" + updatePackage.modStringName), (path)(strPathToPackages + "/" + updatePackage.modStringName));
    1561                                                         }
    15621567                                                }
     1568                                                rename((path)(pathToUpdate + "/" + updatePackage.modStringName), (path)(strPathToPackages + "/" + updatePackage.modStringName));
    15631569                                        }
    1564                                         else
    1565                                                 file.close();
    1566                                 }
    1567                                 file.close();
    1568                                 file.clear();
     1570                                }
    15691571                        }
    15701572                }
     
    15741576                setStatusArea("Warning, handled exception: " + (string)ex.what());
    15751577        }
     1578        wxCommandEvent e;
     1579        TheWindow->OnRefreshButtonClick( e );
    15761580}
    15771581
Note: See TracChangeset for help on using the changeset viewer.