首页 > 解决方案 > 如何使用 golang 运行 .msi 文件?

问题描述

我正在编写一个函数,该函数将通过将应用程序路径作为参数来运行 msi 文件。现在该函数正在返回一个错误代码,指出应用程序的路径不是有效的 Win32 应用程序。此函数适用于 .exe 文件,但不适用于 .msi 文件。如何重构它以适用于 .msi 文件?

func Run(application string) {
    cmd := exec.Command(application)
    err := cmd.Run()
    if err != nil {
        log.Fatalf("cmd.Run() failed with %s\n", err)
    }
}

标签: go

解决方案


你可以简单地通过windows的命令行运行它

   func main(){    
    c := exec.Command("cmd", "/C", "msiexec /a \"pathtotheMSIfile\"")
    if err := c.Run(); err != nil { 
        fmt.Println("Error: ", err)
    }   
}

推荐阅读