Browse Source

:art: 桌面端自动下载更新安装包 https://github.com/siyuan-note/siyuan/issues/5837

Liang Ding 2 years ago
parent
commit
7b16134717
2 changed files with 33 additions and 18 deletions
  1. 18 16
      kernel/model/conf.go
  2. 15 2
      kernel/model/updater.go

+ 18 - 16
kernel/model/conf.go

@@ -378,25 +378,27 @@ func Close(force bool, execInstallPkg int) (exitCode int) {
 	//	return true
 	//})
 
-	newVerInstallPkgPath := ""
-	if Conf.System.DownloadInstallPkg && !util.ISMicrosoftStore {
-		newVerInstallPkgPath = GetNewVerInstallPkgPath()
-		if "" != newVerInstallPkgPath && 0 == execInstallPkg {
-			exitCode = 2
-			return
+	if !skipNewVerInstallPkg() {
+		newVerInstallPkgPath := ""
+		if Conf.System.DownloadInstallPkg && !util.ISMicrosoftStore {
+			newVerInstallPkgPath = GetNewVerInstallPkgPath()
+			if "" != newVerInstallPkgPath && 0 == execInstallPkg {
+				exitCode = 2
+				return
+			}
 		}
-	}
 
-	if 2 == execInstallPkg && "" != newVerInstallPkgPath { // 执行新版本安装
-		logging.LogInfof("installing the new version [%s]", newVerInstallPkgPath)
-		cmd := exec.Command(newVerInstallPkgPath)
-		util.CmdAttr(cmd)
-		data, cmdErr := cmd.CombinedOutput()
-		if nil != cmdErr {
-			logging.LogErrorf("exec install new version failed: %s", cmdErr)
-			return
+		if 2 == execInstallPkg && "" != newVerInstallPkgPath { // 执行新版本安装
+			logging.LogInfof("installing the new version [%s]", newVerInstallPkgPath)
+			cmd := exec.Command(newVerInstallPkgPath)
+			util.CmdAttr(cmd)
+			data, cmdErr := cmd.CombinedOutput()
+			if nil != cmdErr {
+				logging.LogErrorf("exec install new version failed: %s", cmdErr)
+				return
+			}
+			logging.LogDebugf("exec install new version output [%s]", data)
 		}
-		logging.LogDebugf("exec install new version output [%s]", data)
 	}
 
 	Conf.Close()

+ 15 - 2
kernel/model/updater.go

@@ -35,7 +35,7 @@ import (
 )
 
 func GetNewVerInstallPkgPath() string {
-	if !Conf.System.DownloadInstallPkg || util.ISMicrosoftStore {
+	if skipNewVerInstallPkg() {
 		return ""
 	}
 
@@ -58,7 +58,7 @@ var checkDownloadInstallPkgLock = sync.Mutex{}
 func checkDownloadInstallPkg() {
 	defer logging.Recover()
 
-	if !Conf.System.DownloadInstallPkg || util.ISMicrosoftStore {
+	if skipNewVerInstallPkg() {
 		return
 	}
 
@@ -217,3 +217,16 @@ func CheckUpdate(showMsg bool) {
 		util.PushMsg(msg, timeout)
 	}
 }
+
+func skipNewVerInstallPkg() bool {
+	if !gulu.OS.IsWindows() {
+		return true
+	}
+	if util.ISMicrosoftStore {
+		return true
+	}
+	if !Conf.System.DownloadInstallPkg {
+		return true
+	}
+	return false
+}