In many large organizations (and some smaller organizations) there are rules which prohibit employees from downloading applications from external sources. Typically IT teams will download and vet the software on behalf of the end user and then host the software internally. This can cut down on threats from infected software and provides other benefits as well. So, when an e-mail is sent out from TFS for a feedback session, how do you change the URL such that it points to a place on your internal network?
First, this is not a supported scenario but it works (as I’ll demonstrate here) and secondly, there is one side effect which you have to know about and handle appropriately.
Figure 1 shows the default feedback e-mail.
Figure 1 – Default e-mail request for feedback
Note the URL of the install feedback tool link. This is what we will change (the rest of the e-mail is a form e-mail which is essentially created by what you fill out when requesting feedback.
To change the URL, do the following:
- Remote in to the TFS Application Tier (this has to be done on all tiers if you have multiple app tiers)
- While probably not required, I stop the web site on the application tier to perform this operation
- Open Windows Explorer and go to C:Program FilesMicrosoft Team Foundation Server Dev11Application TierWeb Services_statictfs11_scriptsTFS
- Copy the file TFS.Requirements.Feedback.Models.min.js and put the copy someplace safe – you will need it for servicing purposes (more on that in a moment)
- Edit the original file (the one that is still in the location in Step 2)
- Press Ctrl+F and find “INSTALL_FEEDBACK_TOOL_URL”
- Replace the default value that is listed here (“http://go.microsoft.com/fwlink/?LinkId=230568”) with a value of your choice. Note that if this isn’t a website but a file, you still need forward slashes and not back slashes. The value I’m going to use for this example is “file://nas/software/images/dev11beta/vs_feedbackclient.exe” – note the direction of the slashes when you see the resulting e-mail
- Save the file to some other location (because of administrative permissions you’ll need to copy it back rather than saving over the existing file)
- Copy the newly saved file back to C:Program FilesMicrosoft Team Foundation Server Dev11Application TierWeb Services_statictfs11_scriptsTFS
- If you stopped IIS, restart it now
Have someone request some feedback and take a look at the resulting e-mail (Figure 2).
Figure 2 – E-mail with the changed feedback URL
A couple of things to note – in step 7 above we put in a value that doesn’t exactly look like the value here. TFS changes this based on the type of value you put in so it is correct. Clicking this link does in fact start the installation process from the location I specified earlier.
A note about servicing: The file I changed in step 7 above contains a digital signature. This signature is used for validation purposes when servicing (applying service packs or hot fixes to) TFS. When you change the file you obviously invalidate the digital signature. Before you attempt to service TFS, re-copy the original file back to this location and then perform the servicing. Afterwards, take another backup, re-edit the file again (do not use your original copy) and change the install URL again. This way the file will always be the latest except for that URL.
Now you have an e-mail which pulls the installation media from an internal network location rather than Microsoft and you are once again compliant with your companies policies!