|
@@ -1642,17 +1642,14 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
LogError(Severity_Middle, erroCode, 0, "Get system static info error");
|
|
|
return FALSE;
|
|
|
}
|
|
|
- //判断是否需要被清理
|
|
|
Dbg("Current version: %s", (LPCTSTR)info.InstallVersion.ToString());
|
|
|
|
|
|
int nLastTaskTime = 0;
|
|
|
int nLstFlag = 0;
|
|
|
- int nDelCount = 0;
|
|
|
UINT64 utVersion = 0;
|
|
|
pFunc->OpenConfig(Config_Run, spConfigRun);
|
|
|
spConfigRun->ReadConfigValueHexInt("VersionClear", "OptVer", utVersion);
|
|
|
- spConfigRun->ReadConfigValueInt("VersionClear", "DelVerCnt", nDelCount);
|
|
|
- spConfigRun->ReadConfigValueInt("VersionClear", "LastCondi", nLstFlag);
|
|
|
+ spConfigRun->ReadConfigValueInt("VersionClear", "LastCondi", nLstFlag); //last times is failed or not? failed:true
|
|
|
spConfigRun->ReadConfigValueInt("VersionClear", "LastTime", nLastTaskTime);
|
|
|
|
|
|
CVersion optVer(utVersion);
|
|
@@ -1661,8 +1658,9 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
stTaskTime.wYear, stTaskTime.wMonth, stTaskTime.wDay,
|
|
|
stTaskTime.wHour, stTaskTime.wMinute, stTaskTime.wSecond,
|
|
|
(LPCTSTR)optVer.ToString(), nLstFlag);
|
|
|
- if (optVer.IsValid() && optVer == info.InstallVersion && !nLstFlag)
|
|
|
- {
|
|
|
+
|
|
|
+ //判断是否需要被清理
|
|
|
+ if (optVer.IsValid() && optVer == info.InstallVersion && !nLstFlag) {
|
|
|
Dbg("VersionPackage cleaning has been done before.");
|
|
|
return TRUE;
|
|
|
}
|
|
@@ -1673,8 +1671,7 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
{
|
|
|
CInstallInfo lastVerInfo = {};
|
|
|
erroCode = pFunc->GetInstallInfo(lastVer, lastVerInfo);
|
|
|
- if (erroCode != Error_Succeed)
|
|
|
- {
|
|
|
+ if (erroCode != Error_Succeed) {
|
|
|
break;
|
|
|
}
|
|
|
intallInfoVects.push_back(CInstallInfoEx(lastVerInfo));
|
|
@@ -1684,16 +1681,13 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
Dbg("Install Package's count: %d", nPackCount);
|
|
|
bool bFailFlag = false;
|
|
|
int nDelVersionCnt = 0;
|
|
|
- if(nPackCount != 0)
|
|
|
- {
|
|
|
+ if(nPackCount != 0) {
|
|
|
int nSavedCount = 0;
|
|
|
sort(intallInfoVects.begin(), intallInfoVects.end());
|
|
|
vector<CInstallInfoEx>::iterator iter = intallInfoVects.begin();
|
|
|
while(iter != intallInfoVects.end())
|
|
|
{
|
|
|
- Dbg("InstallPackage Info: %s, SwithOverDate: %s",
|
|
|
- (LPCTSTR)iter->InstallVersion.ToString(),
|
|
|
- (LPCTSTR)iter->tmSwithOverDate.ToTimeString());
|
|
|
+ Dbg("InstallPackage Info: %s, SwithOverDate: %s", (LPCTSTR)iter->InstallVersion.ToString(), (LPCTSTR)iter->tmSwithOverDate.ToTimeString());
|
|
|
if(++nSavedCount <= DEFAULT_VERSION_SAVED_COUNT) {
|
|
|
Dbg("Save above version");
|
|
|
iter++;
|
|
@@ -1710,7 +1704,6 @@ BOOL ResourceWatcherFSM::DeleteVersionPackage()
|
|
|
|
|
|
nLstFlag = bFailFlag ? 1 : 0;
|
|
|
spConfigRun->WriteConfigValueHexInt("VersionClear", "OptVer", info.InstallVersion.GetVersion64());
|
|
|
- spConfigRun->WriteConfigValueInt("VersionClear", "DelVerCnt", nDelCount+nDelVersionCnt);
|
|
|
spConfigRun->WriteConfigValueInt("VersionClear", "LastCondi", nLstFlag);
|
|
|
spConfigRun->WriteConfigValue("VersionClear", "LastTime",
|
|
|
(LPCTSTR)CSimpleStringA::Format("0x%08X", (DWORD)CSmallDateTime::GetNow()));
|
|
@@ -2183,8 +2176,8 @@ DWORD ResourceWatcherFSM::ProcessFileOperation(
|
|
|
{
|
|
|
Dbg("Invalid file type !");
|
|
|
ans.result = OPT_FILE_RES_INVALID;
|
|
|
- ans.attachment1 = strlen("非可打开或执行的文件类型(目录或其他)");
|
|
|
ans.attachment2 = "非可打开或执行的文件类型(目录或其他)";
|
|
|
+ ans.attachment1 = ans.attachment2.GetLength();
|
|
|
break;
|
|
|
}
|
|
|
LPCTSTR lpParam = NULL;
|
|
@@ -2207,8 +2200,8 @@ DWORD ResourceWatcherFSM::ProcessFileOperation(
|
|
|
}
|
|
|
if(type == FT_Unknown) {
|
|
|
ans.result = OPT_FILE_RES_INVALID;
|
|
|
- ans.attachment1 = strlen("所指定的文件不存在。");
|
|
|
ans.attachment2 = "所指定的文件不存在。";
|
|
|
+ ans.attachment1 = ans.attachment2.GetLength();
|
|
|
break;
|
|
|
}
|
|
|
if(type == FT_Volume)
|
|
@@ -2510,7 +2503,10 @@ DWORD ResourceWatcherFSM::ProcessFileOperation(
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ else {
|
|
|
+ Dbg("attach1: %d", ans.attachment1);
|
|
|
+ Dbg("attach2: %s", ans.attachment2.GetData());
|
|
|
+ }
|
|
|
ctx->Answer(Error_Succeed);
|
|
|
return (ans.result);
|
|
|
}
|