1004 |
|
} |
1005 |
|
} |
1006 |
|
} |
1007 |
– |
else |
1008 |
– |
{ |
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 |
– |
else |
1020 |
– |
{ |
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 |
– |
} |
1007 |
|
} |
1008 |
|
} |
1009 |
|
catch (exception & ex) { |
1023 |
|
string strDaodanVersion = "Daodan_Version"; |
1024 |
|
string strOniSplitVersion = "OniSplit_Version"; |
1025 |
|
string strGUIWinVersion = "GUI_Win_Version"; |
1026 |
< |
string strGUIMacVersion = "GUI_Mac_Version"; |
1026 |
> |
string strGUIMacVersion = "GUI_Mac_Version"; |
1027 |
|
string strReglobalize = "Reglobalize"; |
1028 |
|
string strDeleteList = "Delete_List"; |
1029 |
|
string strArrow = "->"; |
1265 |
|
return true; // returning 'true' tells the Installer to quit itself ASAP so it can be replaced by the process that is now running |
1266 |
|
} |
1267 |
|
|
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 |
– |
else |
1313 |
– |
{ |
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 |
– |
else |
1331 |
– |
{ |
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 |
– |
|
1268 |
|
bool ProcessAEUpdate(Install_info_cfg *currentAE, Install_info_cfg *updateAE, bool *installerJustUpdated) |
1269 |
|
{ |
1270 |
|
fstream file; |