Преглед изворни кода

shell.ini 中softwareversion字段迁移

80374463 пре 6 година
родитељ
комит
e7b5db7e3a
2 измењених фајлова са 8 додато и 4 уклоњено
  1. 2 1
      spbase/SpEntityPrivilege.cpp
  2. 6 3
      spbase/sp_cfg.cpp

+ 2 - 1
spbase/SpEntityPrivilege.cpp

@@ -506,7 +506,8 @@ ErrorCodeEnum SpEntityPrivilege::CreateInstallNewVersion(CVersion NewSoftwareVer
 	
 	// ÐÞ¸ÄÐÂShell.ini	
 	CSimpleStringA strNewShellIni = CSimpleStringA::Format("%s\\cfg\\shell.ini", (const char*) strNewVerPath);
-	int nRet = inifile_format_write((const char*)strNewShellIni, "Main", "SoftwareVersion", "%d.%d.%d", NewSoftwareVersion.GetMajor(),
+	CSimpleStringA strShellVarIni = CSimpleStringA::Format("%s\\shellVar.ini", (const char*)env->dir->root_runinfo_path);
+	int nRet = inifile_format_write((const char*)strShellVarIni, "Main", "SoftwareVersion", "%d.%d.%d", NewSoftwareVersion.GetMajor(),
 		NewSoftwareVersion.GetMinor(), NewSoftwareVersion.GetRevision());
 
 	//// Ð޸ĵ±Ç°install.ini

+ 6 - 3
spbase/sp_cfg.cpp

@@ -417,14 +417,17 @@ static int unload_root_ini(sp_cfg_root_ini_t *root, int shm)
 
 static int load_shell_ini(sp_dir_t *dir, sp_cfg_shell_ini_t *shell, sp_cfg_root_ini_t *root,const char *file, const char *fileVar = NULL)
 {
-	int rc;
+	int rc = -1;
 	int i;
 	array_header_t *arr;
 	char *str;
 
 	shell->software_version.build = 0;
-	rc = read_ini_version(file, "Main", "SoftwareVersion", 
-		&shell->software_version.major, &shell->software_version.minor, &shell->software_version.revision, NULL);
+	if (NULL != fileVar)
+		rc = read_ini_version(fileVar, "Main", "SoftwareVersion", &shell->software_version.major, &shell->software_version.minor, &shell->software_version.revision, NULL);
+	if (rc != 0)
+		rc = read_ini_version(file, "Main", "SoftwareVersion", &shell->software_version.major, &shell->software_version.minor, &shell->software_version.revision, NULL);
+
 	if (rc != 0) {
 		sp_dbg_warn("read Main::SoftwareVersion failed!");
 		return rc;