mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 07:03:45 +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:?}"));
|
bail!(format!("uninstaller not found: {uninstall_path:?}"));
|
||||||
}
|
}
|
||||||
|
|
||||||
let install_shell: String = install_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().replace(" ", "\\ ");
|
let uninstall_shell: String = uninstall_path.to_string_lossy().into_owned();
|
||||||
let command = format!(
|
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")
|
let status = StdCommand::new("osascript")
|
||||||
.args(vec!["-e", &command])
|
.args(vec!["-e", &command])
|
||||||
.status()?;
|
.status()?;
|
||||||
|
@ -206,7 +206,7 @@ pub fn init_resources() -> Result<()> {
|
|||||||
let src_path = res_dir.join(file);
|
let src_path = res_dir.join(file);
|
||||||
let dest_path = app_dir.join(file);
|
let dest_path = app_dir.join(file);
|
||||||
let test_dest_path = test_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| {
|
let handle_copy = |dest: &PathBuf| {
|
||||||
match fs::copy(&src_path, dest) {
|
match fs::copy(&src_path, dest) {
|
||||||
|
@ -54,8 +54,16 @@ pub async fn resolve_setup(app: &mut App) {
|
|||||||
log_err!(Config::init_config().await);
|
log_err!(Config::init_config().await);
|
||||||
|
|
||||||
if service::check_service().await.is_err() {
|
if service::check_service().await.is_err() {
|
||||||
log_err!(service::reinstall_service().await);
|
match service::reinstall_service().await {
|
||||||
std::thread::sleep(std::time::Duration::from_millis(1000));
|
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");
|
log::trace!(target: "app", "launch core");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user