mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 07:13:44 +08:00
fix: failed to install service on macos
This commit is contained in:
parent
86d2234713
commit
ecb5f0885c
@ -138,12 +138,14 @@ pub async fn reinstall_service() -> Result<()> {
|
||||
bail!(format!("uninstaller not found: {uninstall_path:?}"));
|
||||
}
|
||||
|
||||
let install_shell: String = install_path.to_string_lossy().replace(" ", "\\ ");
|
||||
let uninstall_shell: String = uninstall_path.to_string_lossy().replace(" ", "\\ ");
|
||||
let install_shell: String = install_path.to_string_lossy().into_owned();
|
||||
let uninstall_shell: String = uninstall_path.to_string_lossy().into_owned();
|
||||
let command = format!(
|
||||
r#"do shell script "sudo {uninstall_shell} && sudo {install_shell}" with administrator privileges"#
|
||||
r#"do shell script "sudo '{uninstall_shell}' && sudo '{install_shell}'" with administrator privileges"#
|
||||
);
|
||||
|
||||
log::debug!(target: "app", "command: {}", command);
|
||||
|
||||
let status = StdCommand::new("osascript")
|
||||
.args(vec!["-e", &command])
|
||||
.status()?;
|
||||
|
@ -206,7 +206,7 @@ pub fn init_resources() -> Result<()> {
|
||||
let src_path = res_dir.join(file);
|
||||
let dest_path = app_dir.join(file);
|
||||
let test_dest_path = test_dir.join(file);
|
||||
log::info!(target: "app", "src_path: {src_path:?}, dest_path: {dest_path:?}");
|
||||
log::debug!(target: "app", "src_path: {src_path:?}, dest_path: {dest_path:?}");
|
||||
|
||||
let handle_copy = |dest: &PathBuf| {
|
||||
match fs::copy(&src_path, dest) {
|
||||
|
@ -54,8 +54,16 @@ pub async fn resolve_setup(app: &mut App) {
|
||||
log_err!(Config::init_config().await);
|
||||
|
||||
if service::check_service().await.is_err() {
|
||||
log_err!(service::reinstall_service().await);
|
||||
std::thread::sleep(std::time::Duration::from_millis(1000));
|
||||
match service::reinstall_service().await {
|
||||
Ok(_) => {
|
||||
log::info!(target:"app", "install service susccess.");
|
||||
std::thread::sleep(std::time::Duration::from_millis(1000));
|
||||
}
|
||||
Err(e) => {
|
||||
log::error!(target: "app", "{e:?}");
|
||||
app.app_handle().exit(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log::trace!(target: "app", "launch core");
|
||||
|
Loading…
x
Reference in New Issue
Block a user