Tim Elhajj

Off the Microsoft stack!


4 Comments

TF18017 or TF250044: having problems with the TFS project creation wizard?

Have you ever had this happen to you? You installed TFS with SharePoint for a colleague. You make sure TFS is running, make sure SharePoint is up. You add your colleague to the local administrators group. You add her to the TFS admin tool. You write her an email telling her where to find her fresh installation of TFS and you’re just about to pat yourself on the back, when you get a message from her saying she can’t run PCW. She’s getting an error message that looks like this one:

If you’re anything like me, you sigh mightily.

Why can’t she (user2) run PCW? What is this about!? I already added her to the Farm Admin group (see below), but that didn’t help with this error.

It’s a permission issue, but it’s not Farm Admin permissions that’s needed. The solution is to add the user in question to the SharePoint site at the collection level. So, for example, navigate here on the SharePoint site (not the SharePoint administration site, but the site where the portal for the team project is created):

http://sharepoint:80/sites/defaultcollection/default.aspx

Here is what I did:

1) Someone who already has permissions has to go to /sites/defaultcollection/default.aspx and share the site with the new user.

2) Once you add the user, go to site permissions (click the wheel) and then give the user “full control.”

If you click the name, it lights up Edit User Permissions and you can click Full control on the next screen.

And Walla!

Redmond\user2 can now run PCW with success!


Leave a comment

How to restart Win8 from a remote session

This used to be so easy.

Two options I know of for restarting the server (Win8 or WS2012) in a remote session.

1) Get to the desktop and then use Alt + F4 to get this:

Make sure you minimize anything else running on the desktop, or you’ll have to shut down each app individually, possibly muttering like a grizzled old man trying not to step on any of his cats on the way to the bathroom.

2) The other thing you can do is a the “shutdown /i” command from an admin CMD prompt.


9 Comments

Install Team Foundation Server 2012: the ebook version

Following up on the success of the upgrade ebook, I published a guide for installation of TFS 2012 on Smashwords.

Install Team Foundation Server 2012: the ultimate installation guide covers the procedures for installing TFS 2012 with all the latest Microsoft products, including SharePoint Server 2013 on Windows Server 2012. This is useful because Microsoft released new versions of all its flagship server products shortly after TFS 2012 came out. As is often the case, there were compatibility issues. The version of SharePoint that came with TFS 2012 wouldn’t install on the new version of Windows Server. This book walks you through all those manual steps.

Get it now, free from Smashwords.

It comes in a variety of formats, including all the latest e-book formats (mobi, epub), as well as PDF and even RTF. There is also an HTML viewer at Smashwords, if you just want to check it out. As with the upgrade ebook, Smashwords will distribute this to all its affiliate vendor sites, including B&N’s nook store, Apples iTunes book store, Kobo, Diesel and the affiliated libraries. Soon I’ll publish it at the Amazon Kindle store for a nominal fee and immediately request a price match of free (Amazon won’t let me set it to free manually). If you want a bargain, you should wait for the price match to purchase from Amazon.


8 Comments

Team Foundation 2012 Build Service installation and configuration

If you want to automate builds of your software projects, you can install Team Foundation Build Service from the Team Foundation Server product DVD and create a build machine. Once you have the build machine set up, you’ll want to create a build definition in Visual Studio with instructions about which code projects to compile and many other configurations. But first, you must set up the build machine.

Where to Install It?

The most important thing to concern yourself with during installation is selecting the right hardware to get the best performance (recommendations are linked below). If your team is building Windows apps, you’ll need to install the build service on Windows 8. See this topic on the Microsoft website: Build and Test a Windows Store App Using Team Foundation Build. All of the settings you choose during the initial configuration of Team Foundation Build Service can be changed after installation, so don’t worry too much about making a wrong choice. For a comprehensive explanation of Team Foundation Build Service architecture and all possible topologies, see this topic on the Microsoft website: Scale Out Your Build System.

Although you can install Team Foundation Build Service on the same computer as Team Foundation Server, you probably shouldn’t. You don’t want to hurt the performance of Team Foundation Server or increase its attack surface when builds are running.

System Requirements

The operating system requirements for Team Build match the requirements for TFS, and the hardware requirements match those of the operating system on which you install it. That said, you can optimize the performance of your build machine by installing Team Foundation Build Service on hardware adequate for the way your team intends to automate builds. See Hardware Recommendations on this MSDN topic.

Required permissions

You must be a member of both the Windows Administrators security group on the server on which you are configuring Team Foundation Build Service and the Project Collection Administrators group on TFS.

TIP: If you installed TFS, you’re already a member of Project Collection Administrators.

To run the Team Foundation Server installer

TIP: The build service is installed with TFS. If you want to set up the build service on the same server as where you installed TFS, you can skip this procedure, open the TFS Administration Console, select Build Configuration, and then choose Configure Installed Features.

1) Insert the Team Foundation Server DVD in the drive and launch the tfs_server.exe.

2) On the license terms dialog box, accept the license terms and then choose Install Now.

If you want to install Team Foundation Server to a specific location in the file system, choose the browse button (…) next to the default install location.

To configure Team Foundation Build Service

1) Choose Configure Team Foundation Build Service, and then choose Start Wizard. The Build Service Configuration wizard appears.

2) Read the Welcome screen, and then choose Next.

3) If you’re configuring the build service on the server running TFS, the default collection is selected automatically. Choose Next.

Otherwise, choose Browse, and then choose the team project collection to which you want this build controller to connect.

4) Choose Use the default setting, and specify the number of build agents. If you installed Team Foundation Build Service on the same server as Team Foundation Server, the default setting for Number of build agents to run on this build machine is 1 (recommended). Choose Next.

If you’re not installing build service on a server that’s running TFS or don’t want to use the default settings, perform one of the following steps:

* Choose Scale out build services to run concurrent builds across multiple machines. If you choose this option, you have to specify the number of build agents for this machine and then add them to a new or existing build controller. If you installed Team Foundation Build Service on its own server, the default setting for Number of build agents to run on this build machine is equal to the number of processor cores on this server.

* Choose Replace an existing build machine, and then specify the build machine to replace. This option copies the existing configuration to the new build server.

* Choose Configure later to skip setting up any build controllers or agents on this instance of Team Foundation Build Service. If you choose this option, you must manually connect the build controller to Team Foundation Server before you can use this build machine.

5) Under Run Team Foundation Build Service as, Choose Use a system account, and then choose NT Authority\Network Service. Choose Next.

Otherwise, choose Use a user account to use a domain or local account, and then enter the account name and password. To test the user account and password, choose Test.

6) Review the information and then choose Next.

The wizard validates your configuration. If you run into a problem, you can use the detailed results to identify the issue. If you can fix it, click the link to run the checks again.

7) Choose Configure. The wizard applies configuration settings.

8) At the success screen, choose Next.

9) Review the results of the success screen, including any recommendations. Choose Close


28 Comments

Install Team Foundation Server 2012

If you have SQL Server and SharePoint on the same server, and you intend to put TFS on that same server, then you might be able to use the TFS standard installation wizard. It’s designed to streamline the number of decisions you have to make during TFS installation. You have to have SQL Server set up on the default instance. We won’t cover the steps for installing TFS using the standard wizard in this book because it’s only a few screens. We will cover the advanced wizard. If you’re okay with the default TFS options, by all means use the standard wizard. If you use the advanced wizard and don’t change any of the default settings, you will end up with the exact same TFS installation as if you had used the standard wizard.

If you want more control over installation options, use the advanced configuration.

What Will I Need?

Whether you use standard or advanced TFS install wizards, you’ll need (at least) a single domain account for the report reader account. TFS uses this account to generate reports. If you installed SharePoint, we used this same account for the Farm Admin account in SharePoint.

TIP: The report reader account only needs the Allow log on locally permission, which all domain accounts have by default.

Why Use Advanced?

If you want to change the default installation options for Team Foundation Server, use the advanced configuration, which lets you configure Team Foundation Server on multiple servers and change many other options.

Why use advanced? The standard installation might not fit your needs. You might want to customize a single server installation or install Team Foundation Server and its configuration database on different servers. Perhaps you already have SQL Server or SharePoint Products running in your organization and you’d like to use one of these installations to host team projects or the data for Team Foundation Server. If you use the optional features that require prerequisite server software, these installations can also be hosted on different servers. If you use multiple servers, you can distribute the load between Team Foundation Server and the configuration database, or you can ensure that prerequisite server software for features such as reporting or the portal site is running on capable hardware.

Don’t confuse the multiple server installation with the robust scale-out features that Team Foundation Server offers. These scale-out features include the ability to create a Team Foundation Server farm and add a team project collection to an instance of SQL Server that was not part of the original deployment of Team Foundation Server. However, these scale-out features are not part of this scenario. This scenario offers you guidance for an initial deployment of Team Foundation Server that takes advantage of configurable installation options, such as installing TFS on more than one server. For more information about how to add an application-tier server to your deployment of Team Foundation Server, see How to: Create a Team Foundation Server Farm (High Availability).

TIP: A multiple-server installation requires an Active Directory domain and domain accounts or the Network Service account. You cannot use local accounts for service accounts.

Required permissions

To install TFS, you must be a member of the Windows Administrators security group.

To run any of the TFS configure wizards, you must be a member of the Windows Administrators security group on the server on which you will install Team Foundation Server. If you plan to configure reporting, you must also be a member of the Windows Administrators security group on the server that is running SQL Server Reporting Services. If you plan to configure SharePoint Products, you must be a member of the Farm Administrators group on the SharePoint Products administration site. If you did not install the Database Engine that will host the configuration database or a database administrator manages the instance of SQL Server that you are using, you must be a member of sysadmin Server role in SQL Server.

TIP: If you or your database administrator want a better understanding of the required SQL Server permissions, see the following page on the Microsoft website: Why does TFS need so much privilege on the SQL Server? (Brian Harry blog post)

To run the Team Foundation Server installer

1) Insert the Team Foundation Server DVD in the drive and launch the tfs_server.exe.

2) On the license terms dialog box, accept the license terms and then choose Install Now.

If you want to install Team Foundation Server to a specific location in the file system, choose the browse button (…) next to the default install location.

After TFS installs, some installations prompt you to enter a license key or accept a trial license.

To configure Team Foundation Server using the advanced configuration

1) In the Team Foundation Server Configuration tool, choose Advanced, and then choose Start Wizard.

2) Read the Welcome screen, and then choose Next.

3) In SQL Server Instance, type the name of the server that is running SQL Server or the named instance that will host the configuration databases, and choose Next.

You can also perform any of these optional steps:

* Select This instance is a SQL AwlaysOn Availability Group to specify that the SQL Server instance is an Availability Group Listener (AGL) and its availability group will host the TFS databases created during set up. See Use SQL Server 2012 Always On Availability Groups with Team Foundation Server.

* In Server Database Label, type a label string, which is then embedded into all three of the default database names. This technique enables you to use a single instance of SQL Server to host multiple configuration databases.

* Select the Use pre-existing empty database(s) check box, and then specify databases that are hosted on the server that is named in SQL Server Instance. You must create names for these databases by using the default naming structure, with or without a label. You can find the default naming structure under Team Foundation Server Databases.

* Choose Test to test the connectivity to SQL Server.

4) Under Service Account, choose Use a system account to use a built-in account.

Otherwise, choose Use a user account to use a domain or local account. If you are using a user account, you must type the password. To test the user account and password combination, you can optionally choose Test. Network Service is the default value for this service account.

If your report server and SharePoint servers are not installed on the same server as TFS, you should add this account to the Farm Administrators group (for SharePoint) and the content manager group on the report server. If you’re installing TFS on the same server as the report server and SharePoint, this account is added to these groups automatically.

5) Under Authentication Method, choose NTLM.

Otherwise choose Negotiate (Kerberos) and then choose Next. If you choose NTLM, NTLM authentication is used. This option is the default setting. If you choose Negotiate (Kerberos), Kerberos authentication is attempted first. If that attempt fails, NTLM authentication is used.

6) Under Web Site, you can use the default value in Port. This the port number used to connect to Team Foundation Server. The default value is 8080.

7) Under IIS Virtual Directory, you can use the default value of tfs or optionally type a virtual directory name.

8) Under Web Site, note the Team Foundation Server site URL, which is dynamically assembled based on your input in Web Site and IIS Virtual Directory. Clients use this URL to connect to Team Foundation Server. Choose Next.

On a client operating system, you must skip to step 11. You can’t add a portal or reporting (steps 9 and 10) on a client operating system.

9) Select the Configure Reporting for use with Team Foundation Server check box to use reporting, or clear the check box to skip reporting, and then choose Next.

A) Type the name of the server that is running SQL Server Reporting Services in Reporting Services Instance and choose Populate URLs. The URLs for the report server and its management site appear in the drop-down lists for Report Server URL and Report Manager URL.

B) Ensure the values displayed are the URLs that you want to use for Team Foundation Server and choose Next.

C) Type the name of the server that is running SQL Server Analysis Services in SQL Analysis Services Instance and choose Next. To test the connectivity to SQL Server, you can optionally choose Test.

D) Type the name and password of the report reader account and choose Next.

If you specified a user account for the service account of Team Foundation Server in step 4, you must select the Use a different account than the Team Foundation Server service account for the report reader account check box to use a different account. To test the user account and password combination, you can optionally choose Test.

10) Select the Configure SharePoint Products for use with Team Foundation Server check box to use SharePoint Products, or clear the check box to skip SharePoint Products. Choose Next.

If you selected the check box to configure SharePoint Products, you get a screen with two options. Choose Use the default SharePoint location if you’ve installed and configured SharePoint on the server where you’re installing TFS and choose Next.

Other possible options for SharePoint:

If you’ve installed SharePoint on a remote server, you can click Specify a SharePoint location. On the next screen you’ll enter the Site and Administration URLs for SharePoint farm you want to integrate with TFS. You’ll want to read the section on setting up a remote SharePoint site for TFS. See, What If I Already Have SharePoint?

TIP: If you’re installing on Windows Server 2008 or R2, you get an option to install SharePoint Foundation 2010. Once the installation completes, type a user account and password for the service account for SharePoint Foundation 2010. If you specified a user account for the service account of Team Foundation Server in step 4, you must select the Use a different account than the Team Foundation Server service account for the SharePoint farm check box to use a different account.

11) Select the Create a new team project collection check box to create a collection, or clear that check box to skip that step. If you create a collection, accept the default values, or type a new name and description. Choose Next.

12) On the Review page, review the settings, and choose Next.

The wizard validates your configuration.

If you run into a problem, you can use the detailed results to identify the issue. If you can fix it, click the link to run the checks again.

13) After you pass all the checks, choose Configure. The wizard applies configuration settings. This process might take several minutes.

14) At the success screen, choose Next.

15) Review the results of the success screen, including the connection URL for TFS and any details about the installation. Choose Close.

In the TFS Configuration Center, note that TFS extensions for SharePoint have already been installed, if you installed TFS and SharePoint on the same server.

After you close the TFS Configuration Center, the Team Foundation Server Administration Console appears.