Microsoft Team Foundation Server 2010 Power Tools (TFPT) scripted upgrade/install?
I need to provide an automated way to bring machines up to the current version (or later, future versions) of tfpt. Also, I need the Microsoft.TeamFoundation.PowerShell cmdlets to be installed, whereas for some reason they're not installed by default when running tfpt.msi. As such, the cmdlets are missing on a lot of machines. Finally, as this will be part of a larger script, it would be nice if it could quickly short-circuit when no action is required.
Furthermore, tfpt.msi doesn't seem to like to be installed again without prior uninstallation, and this is presenting a pain point I would like to get around, if possible.
So far, my research has led me to several discoveries.
- I've used Orca from the Server 2003 Platform SDK to inspect tfpt.msi and discover that the powershell cmdlets are the TFPS feature.
- Individual features can be installed from the command line with msiexec /i tfpt.msi ADDLOCAL=TFPS
- Furthermore, a silent install can be done with the /qn flag, and perhaps using AGREETOLICENSE=yes
- The win32_product WMI class can tell me which if any version of TFPT is installed, although it's painfully slow.
- A forced msi upgrade can be accomplished with msiexec /fvecmus tfpt.msi
In summary, I need to do these things:
- If tfpt isn't installed, install the latest one, including TFPS
- If tfpt is an old version, install the latest version and ensure TFPS is included.
- If tfpt is the latest version, but the TFPS feature is missing, install TFPS.
- If tfpt is the latest and the TFPS feature is installed, do nothing (an hopefully be quick in determining it).
Here's a breakdown of the dots I have left to connect:
- Is there a way I can test whether the TFPS feature of tfpt.msi has been installed, so that I can skip the installer when current?
- The forced upgrade of tfpt.msi seems to require a reboot. Is this required?
- Using msiexec /fvecmus seems kind of like throwing the book at the problem--is this a normal way to do things? Would it be better to uninstall and then reinstall?
Any advi开发者_开发技巧ce would be appreciated!
精彩评论