doumicheng6732
2019-06-26 14:33
浏览 139
已采纳

如何使用golang运行.msi文件?

I'm writing a function that will run an msi file by taking in the applications path as a parameter. Right now the function is returning an error code stating that the application's path is not a valid Win32 application. This function works for .exe files, but not .msi files. How can I refactor it to work for .msi files?

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

图片转代码服务由CSDN问答提供 功能建议

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

  func Run(应用程序字符串){
 cmd:= exec.Command(application)
 err:= cmd  .Run()
 if err!= nil {
 log.Fatalf(“ cmd.Run()失败,出现%s 
”,err)
} 
} 
    
 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doumu6997 2019-06-26 14:38
    已采纳

    you can simply run it through windows's command line

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

相关推荐 更多相似问题