change quick support filename detection (#14050)
Some checks failed
CI / x86_64-unknown-linux-gnu (ubuntu-24.04) (push) Has been cancelled
Full Flutter CI / run-ci (push) Has been cancelled
Flutter Nightly Build / run-flutter-nightly-build (push) Has been cancelled

Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
21pages
2026-01-15 13:47:39 +08:00
committed by GitHub
parent 92ad279324
commit c4a9835ae5
2 changed files with 19 additions and 2 deletions

View File

@@ -187,7 +187,7 @@ fn main() {
i += 1;
}
let click_setup = args.is_empty() && arg_exe.to_lowercase().ends_with("install.exe");
let quick_support = args.is_empty() && arg_exe.to_lowercase().ends_with("qs.exe");
let quick_support = args.is_empty() && win::is_quick_support_exe(&arg_exe);
let mut ui = false;
let reader = BinaryReader::default();
@@ -234,4 +234,12 @@ mod win {
.output();
let _allow_err = std::fs::copy(src, &format!("{}\\{}", dir.to_string_lossy(), tgt));
}
/// Check if the executable is a Quick Support version.
/// Note: This function must be kept in sync with `src/core_main.rs`.
#[inline]
pub(super) fn is_quick_support_exe(exe: &str) -> bool {
let exe = exe.to_lowercase();
exe.contains("-qs-") || exe.contains("-qs.exe") || exe.contains("_qs.exe")
}
}

View File

@@ -140,7 +140,7 @@ pub fn core_main() -> Option<Vec<String>> {
{
_is_quick_support |= !crate::platform::is_installed()
&& args.is_empty()
&& (arg_exe.to_lowercase().contains("-qs-")
&& (is_quick_support_exe(&arg_exe)
|| config::LocalConfig::get_option("pre-elevate-service") == "Y"
|| (!click_setup && crate::platform::is_elevated(None).unwrap_or(false)));
crate::portable_service::client::set_quick_support(_is_quick_support);
@@ -829,3 +829,12 @@ fn is_root() -> bool {
#[allow(unreachable_code)]
crate::platform::is_root()
}
/// Check if the executable is a Quick Support version.
/// Note: This function must be kept in sync with `libs/portable/src/main.rs`.
#[cfg(windows)]
#[inline]
fn is_quick_support_exe(exe: &str) -> bool {
let exe = exe.to_lowercase();
exe.contains("-qs-") || exe.contains("-qs.exe") || exe.contains("_qs.exe")
}