diff --git a/Windows/CS/Framework4.0/Updater/src/main.rs b/Windows/CS/Framework4.0/Updater/src/main.rs index c0e1eaf..7bafaf5 100644 --- a/Windows/CS/Framework4.0/Updater/src/main.rs +++ b/Windows/CS/Framework4.0/Updater/src/main.rs @@ -1417,7 +1417,7 @@ async fn run_updater(debug_mode: bool) -> bool { // 构建应用版本查询 let mut file_list = Vec::new(); for app in &candidates { - file_list.push(format!("{}.exe", app)); + file_list.push(format!("{}\\{}.exe", app, app)); } let file_list_json = serde_json::to_string(&file_list).unwrap_or_else(|_| "[]".to_string()); let msg_str = format!( @@ -1444,7 +1444,7 @@ async fn run_updater(debug_mode: bool) -> bool { let mut file_list = Vec::new(); for app in &candidates { - file_list.push(format!("{}.exe", app)); + file_list.push(format!("{}\\{}.exe", app, app)); } let file_list_json = serde_json::to_string(&file_list).unwrap_or_else(|_| "[]".to_string()); let msg_str = format!( @@ -1463,9 +1463,14 @@ async fn run_updater(debug_mode: bool) -> bool { let mut apps_to_update = Vec::new(); for app_name in &candidates { - let exe_name = format!("{}.exe", app_name); + let exe_name = format!("{}\\{}.exe", app_name, app_name); if let Some(server_ver) = file_versions.get(&exe_name) { - let server_version = server_ver.as_str().unwrap_or("0.0.0"); + let server_version = server_ver.as_str().unwrap_or(""); + // 服务端版本为空,说明没有该应用,跳过 + if server_version.is_empty() { + log_print!("{} [应用] {} 服务端版本为空,跳过升级", ts, app_name); + continue; + } let local_version = get_local_app_version(app_name, &exe_name); log_print!("{} [应用] {}: 服务端={}, 本地={}", ts, app_name, server_version, local_version);