Changeset 508
- Timestamp:
- Apr 24, 2010, 7:52:34 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
AE/Installer/trunk/source/installer.cpp
r507 r508 1005 1005 } 1006 1006 } 1007 else1008 {1009 file.close();1010 continue;1011 }1012 file.close();1013 1014 file.open( ("packages" + install_iter->path().filename() + "/Mod_Info.cfg").c_str());1015 if (!file.fail())1016 {1017 ModPackage installedPackage = fileToModPackage(file, install_iter->path().filename());1018 }1019 else1020 {1021 file.close();1022 return UPDATE_THIRD_PARTY;1023 }1024 file.close();1025 if(((string)INSTALLER_VERSION).compare(updatePackage.installerVersion) < 1 && updatePackage.modStringVersion > installedPackage.modStringVersion) {1026 return UPDATE_THIRD_PARTY;1027 }1028 1007 } 1029 1008 } … … 1045 1024 string strOniSplitVersion = "OniSplit_Version"; 1046 1025 string strGUIWinVersion = "GUI_Win_Version"; 1047 string strGUIMacVersion = "GUI_Mac_Version"; 1026 string strGUIMacVersion = "GUI_Mac_Version"; 1048 1027 string strReglobalize = "Reglobalize"; 1049 1028 string strDeleteList = "Delete_List"; … … 1286 1265 return true; // returning 'true' tells the Installer to quit itself ASAP so it can be replaced by the process that is now running 1287 1266 } 1288 1289 1290 void CrawlPackages(string pathToUpdate, string strPathToPackages) {1291 try{1292 directory_iterator end;1293 for ( directory_iterator update_iter( pathToUpdate );1294 update_iter != end;1295 ++update_iter )1296 {1297 1298 ModPackage installedPackage, updatePackage;1299 string updateStr = update_iter->path().string() + "/Mod_Info.cfg";1300 if ( !boost::iequals(update_iter->path().filename(),"Edition")1301 && !boost::iequals(update_iter->path().filename(),"Edition-patch")1302 && is_directory( update_iter->path() )1303 && exists( update_iter->path().string() + "/Mod_Info.cfg" ) )1304 {1305 bool update = 0;1306 fstream file;1307 file.open( (update_iter->path().string() + "/Mod_Info.cfg").c_str());1308 if (!file.fail())1309 {1310 updatePackage = fileToModPackage(file, update_iter->path().filename());1311 }1312 else1313 {1314 file.close();1315 continue;1316 }1317 file.close();1318 file.clear();1319 if(exists(strPathToPackages + "/" + update_iter->path().filename() + "/Mod_Info.cfg"))1320 {1321 file.open((strPathToPackages + "/" + update_iter->path().filename() + "/Mod_Info.cfg").c_str());1322 if (!file.fail())1323 {1324 installedPackage = fileToModPackage(file, update_iter->path().filename());1325 file.close();1326 if(updatePackage.modStringVersion > installedPackage.modStringVersion) {1327 update = 1;1328 }1329 }1330 else1331 {1332 file.close();1333 update = 1;1334 }1335 file.close();1336 }1337 else update = 1;1338 if(update) {1339 if(exists((path)(strPathToPackages + "/" + updatePackage.modStringName)))1340 remove_all((path)(strPathToPackages + "/" + updatePackage.modStringName));1341 rename((path)(pathToUpdate + "/" + updatePackage.modStringName), (path)(strPathToPackages + "/" + updatePackage.modStringName));1342 1343 }1344 }1345 }1346 }1347 catch (exception & ex) {1348 // ex.what();1349 setStatusArea("Warning, handled exception: " + (string)ex.what());1350 }1351 }1352 1353 1354 bool ProcessThirdPartyUpdates() {1355 CrawlPackages( "../updates", "./packages");1356 return true;1357 // globalPackages = getPackages();1358 // refreshMods(globalInstalledMods);1359 }1360 1361 1267 1362 1268 bool ProcessAEUpdate(Install_info_cfg *currentAE, Install_info_cfg *updateAE, bool *installerJustUpdated)
Note:
See TracChangeset
for help on using the changeset viewer.