Great tool for migrating from SQL Server 7 or 2000 to new 2005 version can easily crash with strangeful mystery errors if you use Microsoft Update for being up-to-date with .NET Framework. If you have .NET Framework newer than 2.0, Upgrade Advisor failed to analyze database engine component.
If you encounter error with analyzing SQL Server database engine without any description what happened, check what version of .NET Framework you have installed. Nowhere documented requirements is to have .NET Framework 2.0, any higher version will cause the Upgrade Advisor crash.

My personal little investigation with debugger revelead that problem is related to crash of BPACMD.EXE commandline tool that is called by Upgrade Advisor.
By default, debugging is turned off. So run regedit, and create new key-value pair named „EnableLog“ of type DWORD with value „1“ under HKEY_LOCAL_MACHINEMICROSOFTFusion. Then you will see more details. It enables me to reveal true problem.

Then re-run C:Program FilesMicrosoft SQL Server 2005 Upgrade AdvisorBPAbpacmd.exe again to see that you haven’t .NET Framework 2.0 machine configuration file. But I haven’t .NET Framework installed at all!! Volià! Stupid installer didn’t noticed me about this requirement! I suppose that if I have lastest .NET Framework (3.5), it will be backward compatible or Upgrade Advisor installer will warn be instead of such silly hard to troubleshoot error.
So uninstall all .NET Frameworks of all versions (2.x, 3.x) (including all .NET Service and Language Packs). Then download, install, re-run Upgrade Adviser again!

Final note from practice: Keep in mind that Upgrade Advisor cannot check crypted database objects (stored procedures, views, …). Thay can be rich source of many potencial incompatibilities. So uncrypt them first.

Elcoj says: (February 4, 2009 at 4:22 pm)
Hello,
I have already seen it somethere
Have a nice day
Elcoj
Raquel says: (March 12, 2009 at 11:14 pm)
Hi!!!
You made my day, I’ve been trying to update to SQL 2005 but the &%#”$ setup program failed authenticating sa user, which by the way had a really strong password (or so I tell myself). Once I read your post I noticed that the f*****g thing actually runs the upgrade advisor, and since it fails on a strange way, it sends an error that is not related to the .Net version. Once I uninstall the newer .Net everything started runnning just fine!
So thanks again this is really helpful ^__^
Raquel
Steve says: (April 2, 2009 at 1:39 pm)
Brilliant.
Just a point to note. I had to remove the .Net framework 2.0 completely and let the SQL Installer re-install it for this to work. Presumably becuase the framwork 2.0 had been updated by windows update.
GP_Pro says: (June 16, 2009 at 6:07 am)
UN-F-ING BELIEVABLE! Hours wasted scouring for an answer that should have been CLEAR in MSFT documentation and/or help files. Why can’t they get their aps to play nicely with one another?
Thank you SO MUCH for this post….I may get to bed before mid-night after all!
Some days being an independant consultant isn’t all it’s cracked up to be….this was one of those days!
Abdul says: (August 26, 2009 at 4:13 pm)
Thank you so much, I have spent all day banging my head against a wall trying to figure out why I could not upgrade my MSDE2000 instance to SQL Server 2005 Express!
Upgrade Advisor didn’t mind the original installation of NET Framework being installed on the server, but it didn’t like Framework 3.5 SP1 on there at all.
Microsoft can be stupid sometimes, can’t they
stug says: (August 27, 2009 at 11:04 am)
Hi,
asked Microsoft for any solution and got THE SOLUTION! If you run the Advisor in a Microsoft.NET 3.5 enviroment.
The file: BPAClient.dll is called in “C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\BPA”
but setup copied it to “C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\BPA\Bin”.
Copy that file to the first filesystem link. If that doesnt work, copy the content of the whole folder to the other.
PS: It’s a Microsoft bug. So the support call was for free
Sikots says: (May 3, 2010 at 3:29 pm)
Confirmed…
God damn Microsoft! Just wasted 4 hours before I found this article! Thanks stug for the cure for this cancer
Tony says: (September 22, 2009 at 12:10 pm)
Thank you, thank you, thank you! Microsoft, eh?
Mark says: (October 12, 2009 at 9:43 pm)
Messing with the Microsoft.NET versions did not help me at all, but copying the BPAClient.dll file up one directory did. I had to copy that file from C:\Program Files\Microsoft SQL Server 2005 Upgrade Advisor\BPA\bin to C:\Program Files\Microsoft SQL Server 2005 Upgrade Advisor\BPA and the BPAcmd.exe error went away and the analysis ran with no problems. Thanks!
Pete The Van says: (February 18, 2010 at 3:14 pm)
@stug says: (August 27, 2009 at 11:04 am) Reply and @Mark
This fixed my problem – many thanks guys.