Problems finding XULRunner when running TEE11 CTP1 on Ubuntu and connecting to TFS Azure – a solution
I recently got round to taking a look at Team Explorer Everywhere 11 CTP1. This is the version of TEE that allows you to access the Azure hosted preview of the next version of TFS using Eclipse as a client. I decided to start with a clean OS so
- Downloaded the Ubuntu 32bit ISO
- Used this ISO to create a test VM on my copy of VirtualBox (currently using VirtualBox as this allows me to create 64bit and 32bit guest VMs on my Windows 7 laptop without have to reboot to my dual boot Windows 2008 partition to access Hyper-V)
- Selected default installation options for Ubuntu
- When completed used the Ubuntu Software Centre tool to install Eclipse 3.7
- Downloaded the Team Explorer Everywhere 11 CTP1 and installed the Eclipse plug as detailed on the download page.
- Once installed I then tried to connect to our in house TFS2010 server from with Eclipse – it all worked fine
I next tried to connect to my project collection on https://tfspreview.com and this is where I hit a problem….
Instead of getting the expected LiveID login screen I got an error dialog saying ‘No more handles [Could not detect registered XULRunner to use]’
A quick search showed this is a known issue, basically Ubuntu has stopped distributing XULRunner. It needs to be installed manually as detailed in the post. Problem was, unlike in the post, when I followed this process it had no effect on the problem, so time for more digging with the excellent assistance of Shaw from the TEE team at Microsoft.
The first suspect was that an environment variable MOZILLA_FIVE_HOME, which, according to the SWT FAQ, needed to be set to let Eclipse know where to find XULRunner. Checking the Eclipse Help->Team Explorer Support… dialog
seemed to show the correct setting had been picked up automatically. So as expected, on setting the environment variable it had no effect on the problem. So just to make sure I set the variable in eclipse.ini file using the setting
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.2.24
This changed the error message, and gave the hint to real problem.
XULRunner was failing to load as other dependencies were missing.
At this point I could have started to chase down all these dependencies. However, I realised the issue was the Ubuntu distribution of Eclipse, it just had too many bits missing that you need to login to TFS Azure. So I removed the Ubuntu sourced Eclipse installation and downloaded the current version of Eclipse direct for the Eclipse home site.
- I unzipped this distribution
- Installed TEE CTP1 as before
- Check I could access our TFS 2010
- And checked I could login via http://tfspreview.com
So success, the tip being using the official Eclipse distribution, as you never know what another distribution might have removed.