|
@@ -1102,6 +1102,7 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
int verSaved = DEFAULT_VERSION_SAVED_COUNT;
|
|
|
int tmpSaved = 0;
|
|
|
vector<CVersion> intallInfoVects;
|
|
|
+ vector<CVersion> loaclVerInfo;
|
|
|
vector<string> files;
|
|
|
|
|
|
spConfig->ReadConfigValueInt("ResourceWatcher", "VerSaveCnt", tmpSaved);
|
|
@@ -1148,6 +1149,10 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
}
|
|
|
else {
|
|
|
CVersion verName(dwMajor, dwMinor, dwRevision, dwBuild);
|
|
|
+ if (verName.IsValid())
|
|
|
+ {
|
|
|
+ loaclVerInfo.push_back(verName);
|
|
|
+ }
|
|
|
if (verName.IsValid() && verName < info.InstallVersion) //对高于自身版本的文件不予删除
|
|
|
{
|
|
|
intallInfoVects.push_back(verName);
|
|
@@ -1176,6 +1181,11 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
}
|
|
|
else {
|
|
|
CVersion verName(dwMajor, dwMinor, dwRevision, dwBuild);
|
|
|
+ if (verName.IsValid())
|
|
|
+ {
|
|
|
+ loaclVerInfo.push_back(verName);
|
|
|
+ }
|
|
|
+
|
|
|
if (verName.IsValid() && verName < info.InstallVersion)
|
|
|
{
|
|
|
intallInfoVects.push_back(verName);
|
|
@@ -1193,7 +1203,20 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Install Package's count: %d", nPackCount);
|
|
|
bool bFailFlag = false;
|
|
|
int nDelVersionCnt = 0;
|
|
|
- std::string tInfo("");
|
|
|
+ std::string tInfo(""), curVerInfo("");
|
|
|
+
|
|
|
+ //统计本地版本
|
|
|
+ if (loaclVerInfo.size() > 0)
|
|
|
+ {
|
|
|
+ sort(loaclVerInfo.begin(), loaclVerInfo.end());
|
|
|
+ vector<CVersion>::reverse_iterator riter = loaclVerInfo.rbegin();
|
|
|
+ while (riter != loaclVerInfo.rend()) {
|
|
|
+ curVerInfo = curVerInfo + "|" + std::string((*riter).ToString().GetData());
|
|
|
+ riter++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ std::string verWarn = "本地留存版本: " + curVerInfo + ";当前版本:" + string(info.InstallVersion.ToString().GetData()) + "。";
|
|
|
+ LogWarn(Severity_Low, Error_Debug, LOG_INFO_LOCAL_VERSION, verWarn.c_str());
|
|
|
|
|
|
//执行版本删除流程
|
|
|
if (nPackCount != 0) {
|