自2009年微软发布Windows 7以来,经过8年的市场验证,Windows 7已经成为史上应用最为广泛的操作系统。但是面对技术变化的日新月异,2015年微软正式停止了对Windows 7的主流支持,并将于2020年正式结束对Windows 7的所有技术支持。这一运行了8年之久的操作系统,在微软发布Windows 8、Windows 10以后多年,仍然保留着强大的生命力,至今还是许多企业和政府部门内部计算机的主流操作系统。

基于这种状况,许多应用程序的开发环境目前只支持Windows 7操作系统。作为目前广泛使用的ALM产品,TFS同样支持基于Windows 7的编译和发布技术。下面我来介绍如何在Windows 7计算机上安装和配置TFS的代理服务器,为研发团队完成持续集成提供必要的服务器环境。

必要软件

在今天的实验环境中,我使用了下面列表中必须的软件:

- Windows 7 with Service Pack 1

- Microsoft .Net Framework 4.0 (dotNetFx40_Full_x86_x64.exe)

- Microsoft .Net Framework 4.5 (mu_.net_framework_4.5_r2_x86_x64_1076098.exe)

- Microsoft .Net Framework 4.6.1 (NDP461-KB3102436-x86-x64-AllOS-ENU.exe)。在实际应用中,可能只需要安装Framework 4.6.1就可以,大家可以自己验证。

- Windows Management Framework 3.0 (Microsoft Powershell 3 - Windows6.1-KB2506143-x64.exe),注意选择Windows6.1

- Windows6.1-KB2533623-x64.msu

- VSTS (TFS) Agent for Windows (vsts-agent-win7-x64-2.112.0.zip)

安装PowerShell 3

PowerShell 3是VSTS/TFS代理服务的必要条件。

但是,原生的Windows 7自带PowerShell的版本是2009,也就是PowerShell 2.0,你可以使用$PSVersionTable查看Powershell的版本。

在Powershell 2.0的环境中配置TFS代理,你会碰到一堆的错误,最后提示需要Powershell 3.0以上版本,如下图:

安装Powershell 3.0,实际上也是安装补丁KB2506146。注意需要下载对应的安装包程序,例如64位系统不要下载32位的安装程序。

如果系统提示”此更新不适用于你的计算机“,原因可能是你的计算机上没有安装.NET Framework 4,这是PS 3的必要条件。

安装.NET Framework 4.0,如下图:

.NET Framework 4.0安装成功,不需要重新启动操作系统

再次运行Powershell 3的安装包,系统提示正常,如下图:

安装成功后,安装系统提示重新启动计算机,如下图:

重新启动计算机后,再次运行$PSVersionTable,你会看到PSVersion的值为3.0,如下图:

安装VSTS/TFS代理服务

Failed to load hostfxr.dll,谷歌了一下,发现需要安装补丁KB2533623, https://www.microsoft.com/en-us/download/confirmation.aspx?id=26764

系统提示需要.Net Framework 4.5或者更高版本。实际上,如果你在Windows 7上安装Framework 4.6,会碰到其他错误,这里不在赘述。我们老老实实的安装.Net Framework 4.5吧。

.NET Framework安装完毕,再次执行配置程序,系统提示需要安装.NET Framwork 4.6,才可以同步TFVC代码库

本来打算配置好代理以后,再安装Framework 4.6,结果在配置过程中,输入服务账户的密码以后,系统提示应用程序无法启动,需要Framework 4.5.2。

手头没有.NET Framework 4.5.2。好吧,那我安装.NET Framework 4.6.1

安装完成Framework 4.6.1以后,重新来配置TFS代理。由于之前已经配置了TFS的服务程序,需要使用config.exe remove命令删除之前的配置信息,再重新启动配置程序

重新配置以后,终于看到了代理服务程序成功启动的提示

在TFS服务的代理池中,也可以看到刚刚新增的代理服务器

新建一个生成定义,在流程中通过命令行显示操作系统名字和版本,并且指定WIN7这台代理执行编译流程,执行结果如下图,显示代理服务器运行正常。

总结

上面走了好多了弯路,后来又在一台全新的Windows 7 with SP1上验证了整过过程,发现可以简单归纳为下面的几个步骤:

- 安装.NET Framework 4.6.1 (NDP461-KB3102436-x86-x64-AllOS-ENU.exe)

- 安装Powershell 3 (Windows6.1-KB2506143-x64.msu)

- 重新启动计算机

- 安装补丁:Windows6.1-KB2533623-x64.msu,修复问题Failed to load hostfxr.dll。

- 安装VSTS/TFS代理程序

(微软ALM MVP 张洪君 http://www.cnblogs.com/danzhang

转载于:https://www.cnblogs.com/danzhang/p/6882478.html

在Windows 7上安装Team Foundation Server(TFS)的代理服务器(Agent)相关推荐

  1. 让Team Foundation Server/TFS自动记住用户名密码解决方案

    在使用Team Foundation Server(以下简称TFS) 的时候,在每次打开Visual Studio TFS时候,需要输入用户名和秘密,比较麻烦. 现提供一种方法可以解决这个问题: 依次 ...

  2. Team Foundation Server (TFS) 2015 安装指导

    原文地址:http://www.cnblogs.com/danzhang/p/4718035.html    http://www.cnblogs.com/danzhang 张洪君 微软ALM MVP ...

  3. 您的用户账户没有连接到http://192.168.0.112:8080/tfs上的team foundation server的权限

    此问题由权限控制引起,若链接tfs时,出现此错误,可详细检查一下几点权限是否正确: 1.是否将该用户加入到域用户中,一般由公司运维人员负责,将新员工的计算机加入到域用户中: 2.服务器上已经把用户加入 ...

  4. tfs管理java代码_使用Intellij Idea连接Team Foundation Server (TFS)实现代码版本管理

    Intellij Idea是一个Java项目开发工具,支持Windows,MAC OS和Linux的跨平台开发环境,具备良好和智能的用户界面,在欧洲市场拥有很多粉丝.https://www.jetbr ...

  5. Team Foundation Server 2010 安装、部署与配置(一):安装计划 .

    本文为资料整理和个人笔记. Team Foundation Server 2010 运行的必备条件: Internet Information Services 版本不低于 6.0 IIS 6.0 就 ...

  6. Team Foundation Server Beta3 安装指南

    Team Foundation Server Beta3 安装指南 发布日期: 11/11/2005 | 更新日期: 12/15/2005 本页内容 1.概述 2.安装的安全 3.单服务器的安装过程 ...

  7. TFS - Team Foundation Server 的安装记录

    因为要准备全面进入DotNET开发,所以首先就要构建一个环境. 微软推出的 Team Foundation Server 用于支持团队开发,自然纳入学习范围之中. 安装之前,查看了一些资料表明,安装它 ...

  8. Team Foundation Server 2010 安装、部署与配置(二):安装之前的预备工作 .

    上一篇文章我们说到,TFS2010 的安装有好几种场景,其中场景三(在域环境.多服务器环境)是最典型的应用场景.下面我们准备部署这样的一个环境. 假设我们已经具备的环境是: Windows Serve ...

  9. Team Foundation Server 安装配置教程

    最近搞坏了一次TFS,在修复的过程中发现TFS的安装复杂程度(与其他源码管理工具对比))令人发指啊. 此处以在windows server 2008上的安装Team Foundation Server ...

最新文章

  1. 基于熵权法优劣解距离法_维普资讯中文期刊服务平台-基于改进TOPSIS方法的航空装备预研项目技术风险评估...
  2. 面试官扎心一问:知道 CopyOnWriteArrayList 吗?
  3. NumPy迎来重大版本更新
  4. 【c语言】蓝桥杯算法训练 奇偶判断
  5. 照亮云备份的“钱”途
  6. python教程:函数参数中默认值及重要警告
  7. Android 混淆详解
  8. TensorFlow学习笔记(十三)TensorFLow 常用Optimizer 总结
  9. DEDECMS 5.6整合Discuz_X1.5的方法
  10. python staticmethod有什么意义_关于静态方法:python中的@staticmethod有什么意义?
  11. python def函数报错详解_python自定义函数def的应用详解
  12. 获取Spring容器中Bean实例的工具类(Java泛型方法实现)
  13. matlab平面电磁波入射_MATLAB仿真平面电磁波在不同媒介分界面上的入射
  14. Python调用go function
  15. 产品心理学:福格行为模型详解与应用
  16. js中的splice方法使用,删除数组中的最大最小值
  17. Matlab/simulink 2018a利用 powergui 进行FFT分析(傅里叶分析谐波)
  18. 顶级域名、一级域名、二级域名、三级域名的区别
  19. 操作系统概念第八章部分作业题答案
  20. 三元运算符语法格式php,php中三元运算符用法详解

热门文章

  1. mit数据集_DriveSeg:动态驾驶场景分割数据集
  2. sid更新 续订sas软件_顶级统计软件sas9.4 64位sid 有效期至2017年6月底
  3. mysql 用户管理表_Mysql—用户表详解(mysql.user)
  4. LeetCode 1851. 包含每个查询的最小区间(排序 + 离线查询 + 优先队列)
  5. LeetCode 576. 出界的路径数(动态规划)
  6. LeetCode 930. 和相同的二元子数组(哈希+前缀和)
  7. LeetCode 320. 列举单词的全部缩写(回溯/位运算)
  8. LeetCode 457. 环形数组循环(暴力+快慢指针)
  9. 剑指Offer - 面试题59 - II. 队列的最大值(deque模拟单调栈)
  10. LeetCode 1247. 交换字符使得字符串相同