diff --git a/src-tauri/src/core/verge.rs b/src-tauri/src/core/verge.rs
index 615f9174009d9865b276628b6eadb47e76fa7e5b..f3a1f853c18ab2210b8625df53fc5c11ff68b42b 100644
--- a/src-tauri/src/core/verge.rs
+++ b/src-tauri/src/core/verge.rs
@@ -133,37 +133,31 @@ impl Verge {
   }
 
   /// init the auto launch
-  pub fn init_launch(&mut self) {
+  pub fn init_launch(&mut self) -> Result<()> {
     let app_exe = current_exe().unwrap();
     let app_exe = dunce::canonicalize(app_exe).unwrap();
     let app_name = app_exe.file_stem().unwrap().to_str().unwrap();
     let app_path = app_exe.as_os_str().to_str().unwrap();
 
+    // fix issue #26
+    #[cfg(target_os = "windows")]
+    let app_path = format!("\"{app_path}\"");
+    #[cfg(target_os = "windows")]
+    let app_path = app_path.as_str();
+
     let auto = AutoLaunchBuilder::new()
       .set_app_name(app_name)
       .set_app_path(app_path)
       .build();
 
-    self.auto_launch = Some(auto);
-  }
-
-  /// sync the startup when run the app
-  pub fn sync_launch(&self) -> Result<()> {
-    let enable = self.config.enable_auto_launch.clone().unwrap_or(false);
-    if !enable {
-      return Ok(());
-    }
-
-    if self.auto_launch.is_none() {
-      bail!("should init the auto launch first");
+    if let Some(enable) = self.config.enable_auto_launch.as_ref() {
+      // fix issue #26
+      if *enable {
+        auto.enable()?;
+      }
     }
 
-    let auto_launch = self.auto_launch.clone().unwrap();
-
-    let is_enabled = auto_launch.is_enabled().unwrap_or(false);
-    if !is_enabled {
-      auto_launch.enable()?;
-    }
+    self.auto_launch = Some(auto);
 
     Ok(())
   }
diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs
index 8e7df2065b815d8860d957789a7d21f7c78679df..601c43d4a61000597e00e839d8ffd958fba47c23 100644
--- a/src-tauri/src/utils/resolve.rs
+++ b/src-tauri/src/utils/resolve.rs
@@ -38,8 +38,7 @@ pub fn resolve_setup(app: &App) {
     clash.tun_mode(true).unwrap();
   }
 
-  verge.init_launch();
-  log_if_err!(verge.sync_launch());
+  log_if_err!(verge.init_launch());
 }
 
 /// reset system proxy