go - 如何使用 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)
}
}
解决方案
你可以简单地通过windows的命令行运行它
func main(){
c := exec.Command("cmd", "/C", "msiexec /a \"pathtotheMSIfile\"")
if err := c.Run(); err != nil {
fmt.Println("Error: ", err)
}
}
推荐阅读
- cryptography - 在 Elixir / Erlang 中使用 RSA 密钥
- javascript - 如何删除“document.execCommand(“copy”)”空格和换行符?
- javascript - node.js 事件循环,setTimeout 和 Promise.then 的执行顺序不稳定
- node.js - 如何设置字段的 defaultValue 以从 Sequelize.js 中的另一个字段返回值
- typescript - 如何断言某些东西符合没有函数的类型?
- linux - 使用 shell 脚本从控制台添加多个值
- angular - 错误错误:找不到类型为“对象”的不同支持对象“[对象对象]”。NgFor 只支持绑定到 Iterables
- bots - 微软机器人 DirectLineClient v 3.0
- bash - 条件中不带冒号的参数扩展(默认值为空字符串)
- javascript - 谷歌图表:如何在面积图上添加缩放按钮