Files
kubevpn/exe/embed.go
wencaiwulue 7f846f6c0b first commit
2021-07-24 19:10:03 +08:00

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()
}