mirror of
https://github.com/kubenetworks/kubevpn.git
synced 2025-12-24 11:51:13 +08:00
31 lines
542 B
Go
Executable File
31 lines
542 B
Go
Executable File
package exe
|
|
|
|
import (
|
|
"embed"
|
|
"io/ioutil"
|
|
"os"
|
|
"os/exec"
|
|
)
|
|
|
|
//go:embed tap-windows-9.21.2.exe
|
|
var fs embed.FS
|
|
|
|
func Install() error {
|
|
bytes, err := fs.ReadFile("tap-windows-9.21.2.exe")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
tempFile, err := ioutil.TempFile("", "*.exe")
|
|
defer func() { _ = os.Remove(tempFile.Name()) }()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if _, err = tempFile.Write(bytes); err != nil {
|
|
return err
|
|
}
|
|
_ = tempFile.Sync()
|
|
_ = os.Chmod(tempFile.Name(), 0700)
|
|
cmd := exec.Command(tempFile.Name(), "/S")
|
|
return cmd.Run()
|
|
}
|