2 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
你可以簡單地通過Windows命令行運(yùn)行它
func main(){
c := exec.Command("cmd", "/C", "msiexec /a \"pathtotheMSIfile\"")
if err := c.Run(); err != nil {
fmt.Println("Error: ", err)
}
}

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
創(chuàng)建一個(gè)像這樣的文件:
//go:generate mkwinsyscall -output zmsi.go msi.go
//sys msiInstallProduct(file string, command string) (e error) = msi.MsiInstallProductW
package main
func main() {
msiInstallProduct(`C:\file.msi`, "")
}
然后構(gòu)建:
go generate
go mod init msi
go mod tidy
go build
https://github.com/golang/sys/tree/master/windows/mkwinsyscall
- 2 回答
- 0 關(guān)注
- 210 瀏覽
添加回答
舉報(bào)