TFS Build: `Microsoft.TeamFoundation.PowerShell' is not installed on this computer

浪子不回头ぞ 提交于 2019-11-26 21:51:16

问题


When I'm logged in to tfs build server using local account and execute following powershell command:

Add-PSSnapin Microsoft.TeamFoundation.PowerShell

it loads the tfs cmdlets correctly. However, when I trigger a build on tfs server that invokes the script, it fails with message:

'Microsoft.TeamFoundation.PowerShell' is not installed on this computer.

The build agent runs under service account. What should I do?

EDIT: I had to edit the reqistry entry from the first link in @Alexis Coles' answer to make it work with version 2015 of TFS PowerTools:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell]
"PowerShellVersion"="4.0"
"Vendor"="Microsoft Corporation"
"Description"="This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"VendorIndirect"="Microsoft.TeamFoundation.PowerShell,Microsoft"
"DescriptionIndirect"="Microsoft.TeamFoundation.PowerShell,This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"Version"="14.0.0.0"
"ApplicationBase"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2015 Power Tools"
"AssemblyName"="Microsoft.TeamFoundation.PowerTools.PowerShell, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ModuleName"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2015 Power Tools\\Microsoft.TeamFoundation.PowerTools.PowerShell.dll"
"CustomPSSnapInType"="Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell]
"PowerShellVersion"="4.0"
"Vendor"="Microsoft Corporation"
"Description"="This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"VendorIndirect"="Microsoft.TeamFoundation.PowerShell,Microsoft"
"DescriptionIndirect"="Microsoft.TeamFoundation.PowerShell,This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"Version"="14.0.0.0"
"ApplicationBase"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2015 Power Tools"
"AssemblyName"="Microsoft.TeamFoundation.PowerTools.PowerShell, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ModuleName"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2015 Power Tools\\Microsoft.TeamFoundation.PowerTools.PowerShell.dll"
"CustomPSSnapInType"="Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"

Double check AssemblyName, ApplicationBase, ModuleName and Version entries. Script above works with Microsoft Team Foundation Server 2015 Power Tools


回答1:


I am going to have a quick punt here and say it is probably something to do with 32-bit vs 64-bit powershell. If I run Add-PSSnapinicrosoft.TeamFoundation.PowerShell from normal 64-bit powershell fine. But if I run it from C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe I get the above exception. I am going to go ahead and say that the build server is a 32-bit application and there for starting a 32-bit runtime.

Not really sure what the fix is exactly but maybe the following will point you in the right direction.

PowerShell (2.0, 32-bit) can't load TFS 2010 snap-in... except when it can

https://social.msdn.microsoft.com/Forums/en-US/a116799a-0476-4c42-aa3e-45d8ba23739e/tfs-power-tools-2008-powershell-snapin-wont-run-in-on-64bit-in-windows-2008-r2?forum=tfspowertools




回答2:


I had this issue and to solve I notice that by default the cmdlets are not added during the PowerTools installation. You need to run a full install to make it work.

I posted here some pictures: https://fabiostawinski.wordpress.com/2016/07/11/the-windows-powershell-snap-in-microsoft-teamfoundation-powershell-is-not-installed-on-this-computer/




回答3:


For me it was another issue because I was trying to use Power Tools with only Visual Studio 2017 Pro installed.

For Visual Studio 2017 they didn't released Microsoft Team Foundation Server 2017 Power Tools. They are saying that the previous version it should work with any higher version of Visual Studio that has TFS.

The problem is that if you have only Visual Studio 2017 installed you will not be able to install Microsoft Team Foundation Server 2015 Power Tools for example, because having Visual Studio 2015 (any version) installed is a requirement for installing Microsoft Team Foundation Server 2015 Power Tools.

In other words I had to install Visual Sudio 2015 then install Microsoft Team Foundation Server 2015 Power Tools and then Add-PSSnapin Microsoft.TeamFoundation.PowerShell worked.

Please refer also to this: https://developercommunity.visualstudio.com/content/problem/103642/team-foundation-server-2015-power-tools-install-is.html

Hopefully this would help somebody.



来源:https://stackoverflow.com/questions/35292971/tfs-build-microsoft-teamfoundation-powershell-is-not-installed-on-this-comput

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!