But I Digress…And Explain How to Fix Microsoft’s “Error 1721″ When Installing TFS 2010 Power Tools
I’m going to pause the tutorials for a quick post on an interesting challenge I had to solve over the past couple of days. I was installing Microsoft’s Team Foundation Server Power Tools and ran into a snag – it consistently failed to install. I’m not an expert on Microsoft’s installation technology (even though I worked there for a number of years), but I know quite a bit more after this latest adventure!
Team Foundation Server is Microsoft’s application lifecycle management product – it manages source code, task assignments, bug tracking, and a whole lot more. It’s actually a pretty good product. It allows me to delve into my current project’s code metrics pretty deeply, but I really needed to Power Tools installed to generate some custom notifications.
Well, downloading the tools was easy, but every time I’d try to install, I’d get an insidious error: “Error 1001.” You see, we’re not even to Error 1721 yet. With Error 1001, that’s all I got. No other descriptive text. No hints. Nothing. Just…Error…1001.
A few Googles and Bings later (I’m an equal opportunity searcher), I came across a little gem – Microsoft Fix It. I downloaded this tool, let it run for what seemed an entire lunch hour, and voilà! My Error 1001 was banished. She gave me no more information on her way out than when she arrived, but she seems gone for good. But she left in her place the dreaded Error 1721.
At least with this new yoke around my neck, I had a more descriptive message:
There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: DevEnvSetup, location: D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\, command: D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\devenv /setup
But what could this mean? I went to my trust command prompt, copied and pasted the command line (even with its double “\\” intact), and it ran just fine. I tried everything – running from a command line using msiexec /i (using both normal and “Run As Administrator” credentials), logging using msiexec /log, even eventually swearing loudly at my computer. But no joy.
Then I realized something…when I had copied that failing line from the msiexec log onto the command line, it actually initially failed because the command wasn’t enclosed in quotes; what worked was really this:
“D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\devenv” /setup
So, for some magical reason, it seemed my copy of Windows might be looking for quotes to make this work. But the command is buried deep in the installation .MSI file, which is a binary format. So, how to make this change?
Enter the Orca MSI editor, a fun little tool that allows you to edit all things MSI. As you can in the screenshot, the line that calls devenv /setup is pretty easy to find:
I simply added quotes so that it read “[VSDIRECTORY]\devenv” /setup, reran setup, and it worked! Actually I was inspired to make a few other text prompt changes in the MSI, none of which are family friendly enough for this blog.