From 0763e8a20182217d50d71b2f0646927cef9b2e03 Mon Sep 17 00:00:00 2001 From: naison <895703375@qq.com> Date: Fri, 13 Sep 2024 14:12:04 +0800 Subject: [PATCH] hotfix: fix upgrade on windows (#330) * hotfix: fix upgrade on windows --- pkg/upgrade/upgrade.go | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/pkg/upgrade/upgrade.go b/pkg/upgrade/upgrade.go index ae8bb2fb..50200402 100644 --- a/pkg/upgrade/upgrade.go +++ b/pkg/upgrade/upgrade.go @@ -43,10 +43,11 @@ func Main(ctx context.Context, client *http.Client, url string) error { } func downloadAndInstall(client *http.Client, url string) error { - temp, err := os.CreateTemp("", "") + temp, err := os.CreateTemp("", "*.zip") if err != nil { return err } + defer os.Remove(temp.Name()) err = temp.Close() if err != nil { return err @@ -55,7 +56,18 @@ func downloadAndInstall(client *http.Client, url string) error { if err != nil { return err } - file, _ := os.CreateTemp("", "") + + var curFolder string + curFolder, err = os.Executable() + if err != nil { + return err + } + var file *os.File + file, err = os.CreateTemp(filepath.Dir(curFolder), "") + if err != nil { + return err + } + defer os.Remove(file.Name()) err = file.Close() if err != nil { return err @@ -68,16 +80,13 @@ func downloadAndInstall(client *http.Client, url string) error { if err != nil { return err } - var curFolder string - curFolder, err = os.Executable() - if err != nil { - return err - } + var createTemp *os.File - createTemp, err = os.CreateTemp("", "") + createTemp, err = os.CreateTemp(filepath.Dir(curFolder), "") if err != nil { return err } + defer os.Remove(createTemp.Name()) err = createTemp.Close() if err != nil { return err @@ -105,6 +114,9 @@ func elevatePermission() error { _ = tem.Close() _ = os.Remove(tem.Name()) } + if err == nil { + return nil + } if os.IsPermission(err) { elevate.RunWithElevated() os.Exit(0)