公司的 TFS2005开发了若干基于moss2007的产品。由于TFS2005是基于Wss2.0的,导致在使用builder时有些项目编译不过,可能是需要调用Wss3.0的东西吧。而一些第三方的插件都是基于TFS2005,TFS2008无法使用。把TFS2005的Wss2.0升级到Wss3.0就成了必须要完成的任务了。
寻寻觅觅找到一篇老外的文章,写的很详细,照做后还是遇到一些问题。现在就边做翻译边写一些遇到问题的处理吧。方便大家
首先上链接:
TN1501: Configuring Windows SharePoint Services 3.0 on the Visual Studio 2005 Team Foundation Server Application Tier
 
中文步骤:
1.首先检查系统确保一些软件的版本:
服务器端: wss2.0 sp2补丁,tfs2005 sp1补丁,VS80sp1-KB977778-X86-INTL补丁
客户端: vss2005 sp1补丁,VS80sp1-KB977778-X86-INTL补丁
 
2.备份系统,备份 SQL数据库(以防万一)
 
3.在 TFS服务器安装dotnet3.0
 
4.安装 wss3.0
在向导中选择 “不,不要升级”,然后完成安装,取消“现在运行产品和技术配置向导”的选择,按“关闭”
 
5.在 cmd下执行如下命令:这里应该得到100%通过
cd "%ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\12\Bin”
prescan /all
 
6.在 “管理工具”中,运行wss3的“产品和技术配置向导”,选择“不连接现有服务器场”,然后在安装向导中输入相应的管理账号,完成配置。(注意管理页面的端口不要和TFS服务器中已有端口冲突)
 
7.进入 “WSS 3.0 管理中心”,进入“应用程序管理”页面,“创建和扩展web应用程序”,然后“新建web应用程序”,建立应用程序池和站点(不要和Wss2站点端口冲突,这里举例为81端口),建立完成后iisreset,不要进行扩展页面的操作
 
8.备份 wss站点内容数据库,一般为“STS_Content_TFS ”,然后使用前面的备份文件另外恢复一个新的数据库使用(这里举例为“WSS_Content_TFS ”)
 
9.在 cmd中执行如下命令:
cd "%ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\12\Bin”
stsadm –o addcontentdb –url http:// [myATserver]:81 –databasename  [WSS_Content_TFS]
//将新建的数据库挂接到前面 wss3建立的站点上
stsadm –o deletecontentdb –url http:// [myATserver]:81 –databasename WSS_Content
//删除原来这个站点对应的数据库
stsadm -o enumcontentdbs –url  http://[myATserver]:81
//检查数据库挂接情况
 
10. 将TFS2005项目团队建立需要的模板(for wss3)导入。这里遇到很大的问题。老外的那个下载链接失效了,一直没有找到。同时也尝试用wss2导出模板再导入wss3。多次实验都告失败。一次突发奇想:TFS2008是基于Wss3.0的里面应该有模板,说不定TF2005这的也能用?于是在TFS2008光盘上提取了两个STP模板文件,几次尝试后,终于能用了!等等我会提供下载
然后将这两个文件通过命令导入:
cd "%ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\12\Bin”
stsadm -o addtemplate -filename " [ShareLocation]\MSFAgileWSS3.stp" -title VSTS_MSFAgile
stsadm -o addtemplate -filename " [ShareLocation]\MSFCMMIWSS3.stp"-title VSTS_MSF_CMMI
stsadm -o enumtemplates // 注解: 查看模板是否正确导入
iisreset
 
11.制作一个文件 WSS_registration.xml[protocol]一般填http,[serverName]服务器名,[adminPort]wss3管理站点端口,[port]前面新建站点端口(举例中式81),内容如下:
<RegistrationEntries>
    <RegistrationEntry>
        <Type>Wss</Type>
        <ChangeType>Change</ChangeType>
        <ServiceInterfaces>
        <ServiceInterface>
            <Name>WssAdminService</Name>
            <Url> [protocol]:// [serverName]:[adminPort]/_vti_adm/admin.asmx</Url>
        </ServiceInterface>
        <ServiceInterface>
            <Name>BaseServerUrl</Name>
            <Url> [protocol]:// [serverName]: [port]</Url>
        </ServiceInterface>
        <ServiceInterface>
            <Name>BaseSiteUrl</Name>
            <Url> [protocol]:// [serverName]: [port]/sites</Url>
        </ServiceInterface>
        <ServiceInterface>
            <Name>BaseSiteUnc</Name>
            <Url>\\ [serverName]\sites</Url>
        </ServiceInterface>
        </ServiceInterfaces>
    </RegistrationEntry>
</RegistrationEntries>
 
12.执行如下 cmd命令,[myDTserver]数据库服务器名称,用于双服务器部署的,如果是单服务器那么ADserver和DTserver就是一样的:
iisreset /stop
cd “%programfiles%\Microsoft Visual Studio 2005 Team Foundation Server\Tools”
TFSReg.exe WSS_registration.xml  [myDTserver]
iisreset /start
 
13.完成后检查,打开 ie,进入如下地址
http://localhost:8080/services/v1.0/registration.asmx ,点击“GetRegistrationEntries”,点击 “调用”,查看相关项目。
 
14.将 “%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS”下的文件“tfsredirect.aspx”,复制到“%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS”。
 
15.清理客户端缓存,清空目录为 “%USERPROFILE%\Local Settings\Application Data\Microsoft\Team Foundation\1.0”