1

我需要提供一种自动化方式将机器升级到 tfpt 的当前版本(或更高版本,未来版本)。此外,我需要安装 Microsoft.TeamFoundation.PowerShell cmdlet,而由于某种原因,默认情况下在运行 tfpt.msi 时未安装它们。因此,很多机器上都缺少 cmdlet。最后,由于这将是一个更大脚本的一部分,如果它可以在不需要任何操作时快速短路,那就太好了。

此外,tfpt.msi 似乎不喜欢在没有事先卸载的情况下再次安装,如果可能的话,这是我想解决的一个痛点。

到目前为止,我的研究已经让我有了一些发现。

  • 我使用 Server 2003 Platform SDK 中的 Orca 检查 tfpt.msi 并发现 powershell cmdlet 是 TFPS 功能。
  • 可以使用 msiexec /i tfpt.msi ADDLOCAL=TFPS 从命令行安装各个功能
  • 此外,可以使用 /qn 标志进行静默安装,也可以使用 AGREETOLICENSE=yes
  • win32_product WMI 类可以告诉我是否安装了任何版本的 TFPT,尽管它非常缓慢。
  • 可以使用 msiexec /fvecmus tfpt.msi 完成强制 msi 升级

总之,我需要做这些事情:

  • 如果未安装 tfpt,请安装最新的,包括 TFPS
  • 如果 tfpt 是旧版本,请安装最新版本并确保包含 TFPS。
  • 如果 tfpt 是最新版本,但缺少 TFPS 功能,请安装 TFPS。
  • 如果 tfpt 是最新的并且安装了 TFPS 功能,则什么也不做(希望能快速确定它)。

以下是我要连接的点的细分:

  • 有没有办法可以测试是否已安装 tfpt.msi 的 TFPS 功能,以便我可以在当前时跳过安装程序?
  • tfpt.msi 的强制升级似乎需要重新启动。这是必需的吗?
  • 使用 msiexec /fvecmus 似乎有点像把书扔在问题上——这是一种正常的做事方式吗?卸载然后重新安装会更好吗?

任何意见,将不胜感激!

4

0 回答 0