我正在努力自动安装一些软件。
它依赖于一些东西,比如 Java JDK 以及很多需要手动安装和复制东西的东西。
我希望能够测试是否安装了各种软件包,如果没有安装或更新它们。
我可以让 MSBuild 完成此类工作的可能性有多大?如果不太可能,那么我在哪里可以看?
谢谢
我正在努力自动安装一些软件。
它依赖于一些东西,比如 Java JDK 以及很多需要手动安装和复制东西的东西。
我希望能够测试是否安装了各种软件包,如果没有安装或更新它们。
我可以让 MSBuild 完成此类工作的可能性有多大?如果不太可能,那么我在哪里可以看?
谢谢
答案是肯定的。MSBuild 可以执行任何命令——只要该命令不希望用户在计算机前。我知道您可以进行静默 JDK 安装,因此您可以在 MSBuild 目标中执行该命令。
然而,一个更有趣的问题是:你应该这样做吗?我认为在构建过程中执行机器范围的配置步骤是不好的做法。对于某些事情,比如为 CI 周期部署新构建的产品是可以的,但对于构建的目的,它会非常不灵活。
在 JDK 的情况下我会推荐什么:由于 JDK 很大并且大部分是向后兼容的,因此在您的构建脚本中检查机器上是否存在正确版本的 JDK。如果没有,则构建失败并在日志中打印出如何配置机器的说明。对于较小的依赖项,请参阅这个SO question。