October 25, 2010 | SQL Server

### Fun with software : uninstalling SQL Server 2008 R2 Evaluation Edition

Update 2012-07-23  :  Note that much of these instructions also work for SQL Server 2012 Evaluation Edition, many of which will start expiring soon…

Here we go 'round the uninstall bush…

Today I spun up a rather aging VM so that I could take some screen shots from the 2008 R2 version of Management Studio.

When I clicked on my shortcut, I received this error:

For searchability, here is the text (with an actual clickable link, imagine that):

Of course what this meant was that, for this particular VM, I had installed an Enterprise Evaluation instance before the RTM bits for Developer Edition were available.  And clearly this happened more than 180 days ago, and I forgot about it.

If you go the link (which ends up at http://www.microsoft.com/sqlserver/en/us/default.aspx), there isn't really any information about converting evaluation software to licensed software (even if I already have licensed bits in hand).  In fact there is not really any information about Evaluation Edition at all, except for an offer to install a second trial instance on my machine.  I'm trying to remove one, but thanks anyway.

So the first thing I do is to install a real, licensed version of SQL Server 2008 R2 Developer Edition.  I figure, if anything, it will at least give me a functional Management Studio again, even if I have an outdated Evaluation Edition engine lying around.  Nope, I run through install, and when I try to launch Management Studio, my evaluation period has still expired.  I plead to #sqlhelp on twitter, and I'm told I need to remove all of the 2008 R2 bits.  This was the first time I'd had any reason to uninstall 2008 R2; at my previous job, we had only just migrated to 2008 in production late last year.  I guess I should test cleanup more often.

Now, removing SQL Server 2008 R2 turns out to be a much bigger challenge than you might expect.  Sure, you can go through the Control Panel and uninstall all of the components individually, but this is a hassle, and it still might not work very smoothly.  To clear a path, I've been uninstalling applications that might be related (e.g. Visual Studio), and even applications with no hope in hell of being related: Office 2010, Flash, Windows Live "Essentials"… I even uninstalled an instance of SQL Server 2008 (not an eval), and when I tried to remove the setup support files, I received this warning:

Why on earth are the R2 Common Files dependent on SQL Server 2008 Setup Support Files?  And further to that, I'd like to know why, when I clicked No on this dialog, it seemed to remove the SQL Server 2008 Setup Support Files anyway.  It turns out there is some flag that removes the entry from the Programs and Features list, even if you don't go through with the uninstall.  All was returned to normal when I closed the window and opened it again.

Anyway, let's see what happens when I try to remove R2 via the Control Panel.  I right-click the item in the list (and as you can see, "the list" is pretty short – and never mind the blurred out entries, I'll talk more about those soon, and they aren't related to R2):

When I choose Uninstall/Change, I get this box, and I click Remove of course:

When I click Remove, I get the Setup Support Rules dialog (just like I do for a new installation), and then when I click OK, I get this lovely dialog (I trimmed it so I wouldn't have to shrink it, but you get the gist):

Why does this not seem like it will end well?

Because according to the dialog, nothing is going to be removed (usually you see actual features with checkboxes).  I should not even be able to see a Next > button.  But for fun, I'll click it anyway, since my only other option at this point is to Cancel.  I click Next > a couple of times, then a big shiny Remove button, and then after several seconds I get another even more lovely dialog, indicating that the uninstall has crashed:

And again for searchability (typo and all):

 TITLE: SQL Server Setup failure.—————————— SQL Server Setup has encountered the following error: No feature were uninstalled during the setup execution. The requested features may not be installed. Please review the summary.txt logs for further details. Error code 0x84B30002. ——————————OK——————————

At this point I've spent more time on this than I would have if I had just built a brand new VM and started over.  But I was determined to see it through.  So I finally gave in and decided to go the msiexec.exe /x route.  I located all of the R2-related GUIDs in the following registry key:

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

Here is one example:

So I went through the entire list, and saved the following commands to a batch file:

 rem DisplayNamemsiexec /x "{guid}"

And I also added one that wasn't in the GUID list; there was a key under Uninstall called "Microsoft SQL Server 2008 R2" with the following properties:

Here is what my final .bat file looked like. You'll note that I put the Setup Support Files last.  Also please note that your set of GUIDs may be different than mine… I'm just listing what I did as an example:

 rem SQL Server 2008 R2 Common Filesmsiexec /x "{234F6B0D-10AE-4BB7-B2F3-E48D4861952D}" rem SQL Server 2008 R2 Common Filesmsiexec /x "{36F70DEE-1EBF-4707-AFA2-E035EEAEBAA1}" rem SQL Server 2008 R2 Database Engine Sharedmsiexec /x "{A2122A9C-A699-4365-ADF8-68FEAC125D61}" rem Microsoft SQL Server 2008 Setup Support Files msiexec /x "{C0C690C8-F335-4BA4-A2AD-675EAD1DFA90}" rem SQL Server 2008 R2 Database Engine Sharedmsiexec /x "{C942A025-A840-4BF2-8987-849C0DD44574}" rem Microsoft SQL Server 2008 R2 (64-bit)msiexec /x "{20E42995-BBE9-4697-8394-FCDC4338706B}" rem Microsoft SQL Server 2008 R2 Setup (English)msiexec /x "{C3E48238-5FA0-4C82-9509-36D47E371A29}"

Running through these, I had several that returned a dialog about an unexpected error, but I ignored those and plowed through.  When I was finished, I ran the batch file again, and every line item raised this dialog:

This is a good thing; it smells like I'm almost home.  So – finally – I try to run SQL Server 2008 R2 setup again.  To avoid some wasted time, I install only the Management Tools on my first run.  Though, if I'm being honest, even installing just the client tools takes several minutes.  Precious, Monday Night Football minutes.

And, believe it or not, we have success.

That was WAY too painful, and I'll never get that time back. Hopefully this post will prevent you from going down a similar rathole.  My advice:

1. Build VMs with the expectation that they may need to be paved over and rebuilt from scratch.  Keep SQL Server installation files, service packs, hotfixes, and slipstreamed sources handy on a non-virtualized machine or on removable storage.

2. Try everything in your power to avoid Evaluation Edition. Spend the $49 on Developer, and stop watching the clock or coming up with schemes to set your clock back to the 1980s. Developer is not free like the eval, but it will be easier to migrate / replace than an expired evaluation. I would have gladly spent$49 to not go through what I just documented here.
3. When someone tells you to pave over your VM because R2 "does not uninstall nicely," listen to them.  I have two VMs that were in this state at the beginning of the day.  I'll let you guess how I'm going to deal with the second one.
4. Because it bears repeating: avoid Evaluation Edition if there is any chance at all the software will be expected to outlast the 180-day trial period.  If you can't avoid it, when you're done evaluating, perform a thorough cleansing of your machine.  You never know how old software can learn new, frustrating tricks.

#### 157 comments on this post

• AlexK - October 26, 2010, 6:19 AM

Yeah.
Recently I was helping someone who bought a netbook with preinstalled trial McAfee, which expired. The only thing that worked was to nuke and pave.

• Patrick Flynn - October 26, 2010, 2:14 PM

This wonderful feature works even when eval edition is upgraded before expiry.
Scenario was: Installed veal edition to test functionality. after 90 days uninstalled eval and installed the licensed standard edition. After another 90 days the database engine kept going but SSMS, SQL Agent and other components ceased functioning as they had "expired".

• Mark Broadbent - October 27, 2010, 6:22 PM

Oh dear oh dear. Thanks for highlighting this mess.

• Jason Coombes - November 18, 2010, 1:59 PM

Just hit this one today as I had originally installed the tools from SQL 2008 Enterprise Evaluation but later upgraded to SQL 2008 R2 Developer Edition (engine and tools). Luckily the solution was quite straight forward after following Option 2 in this KB article:
http://support.microsoft.com/kb/971268
Re-ran the edition upgrade for R2 and selected to only upgrade shared tools (SSMS, etc) and now I'm back and running again.

• Larry Watson - December 1, 2010, 5:04 AM

Thank god

• Dave - December 7, 2010, 7:01 AM

Thanks a lot.  What a nightmare.

• Mark - December 29, 2010, 12:35 AM

Thanks so much for this info.  I am in the bat file stage but things look promising.  Like Dave said, what a nightmare.  On the plus side I did learn quite a bit.

• Laurie - January 4, 2011, 11:36 PM

Thank you for sharing! It was wuch a nightmare!

• Victor M Sanchez (Atharky) - January 25, 2011, 6:12 PM

OMG! i come later to this post! this issue was raises by the uninstallation of Denali for me… painfull and long work to resolve.
I go to publish this issue in spanish in my blog if you don't have any problem.

• AaronBertrand - January 25, 2011, 7:05 PM

Hi Victor, of course I have no issue with you posting a translation to your blog.
Cheers,
Aaron

• Junior - January 31, 2011, 10:43 AM

Thanks a lot,
I also tried with Windows Installer Cleanup Utility which didn't help (the tool is retired anyway, but it helped a lot before)

• Bairo - February 3, 2011, 11:21 AM

veramente un grande aiuto. Thank you.

• Jade - February 10, 2011, 6:53 PM

Thank you….10 hours fighting with the server. We won though!
If you can call it a win…
But yeah SQL is installed with no errors.
Had to do some CCleaner work though (since they retired Windows Installer Cleanup Utility…omg M$admitting they did something wrong?!), and the WMI component seemed to be busted, had to rebuilt the repository. haha did you read this one though? http://support.microsoft.com/kb/971268 so funny…if i could uninstall it the right way you think I wouldnt M$? made me lol. just like the instructions on a peanut bag :" Open bag, eat".
Thanks man 🙂

• Devin D. - February 19, 2011, 3:40 AM

Thank you… My whole day has been wasted trying to fix this issue.  Took forever to uninstall everything, but it did work.

• Jim B. - March 4, 2011, 10:45 PM

Thank you for this information – I was going crazy trying to get SQL 2008 R2 uninstalled!

• Alex B - March 11, 2011, 9:35 PM

Excellent article.  Being a OSX and *nix admin, I'm constantly flustered by windows uninstall failures, and the mystery locations files get stuck in.  Love it when I can write a script to clean up the MS mess 😉  Next time though, I'll mark my calendar before the 180 days expires!
Cheers!

• Munshi Verma - March 19, 2011, 7:20 AM

Aaron! You rooock man!
You saved my day indeed. I have been hitting my head on ways to get rid of those SQL Server 2008 R2 Database Engine Shared and the Common Files, but couldn't until saw your above blog…:)
Thanks a tonn!
Keep up the good work!
Thanks and regards,
Munshi Verma
verma_munshi@yahoo.com

• Jyotsna - March 28, 2011, 2:58 AM

Thanks Aaron..
It worked perfect, thanks for sharing this information.

• Ben - April 14, 2011, 1:27 PM

Thanks a lot.
You saved me much frustration and time.
Re-installing the OS server was not an option, so your help was invaluable.

• Johnny_D - April 18, 2011, 6:50 PM

Thank you, Aaron.
That worked for me, after 24 hours of finding the answer, finally I've found it. Thanks a lot.

• MARC - April 20, 2011, 2:21 AM

I have gone through this hell before, however I needed to uninstall again today.  I had no problems uninstalling from Control Panel in Windows 7 – HOWEVER – I stopped IIS on my machine today (God knows why) and had NO problems whatsoever. Luck or the right thing to do, I have no idea !!

• Raj - April 20, 2011, 10:10 AM

Thanks a lot.
Great job Aaron….
Finally done, after 24 hours of finding the answer.

• Chuck - April 21, 2011, 6:18 PM

Thank for the details instructions.  This worked for me.

• Noravia Rodriguez - April 22, 2011, 8:42 PM

It could sound strange but for my surprise I went to Control Panel – Uninstall Prgrams – And choose SQL Server 2008 64bits – Change – Remove.
Here was the only place where I could find the instance installed to be able to remove it.
If facing the same please let me know
Thanks

• anonmemo - May 2, 2011, 10:18 AM

thank you so much. I THINK it has worked for me, still gotta wait and see lol

• Marie Haggberg - May 6, 2011, 7:13 AM

My experience was similar to yours: created a VM, installed the 2008 R2 evaluation edition, then decided to repurpose the VM for use in training. Uninstalled the eval edition (not!) and couldn't install 2008 R2.
Your solution worked perfectly and cleared all the evaluation detritus from the VM. Thank you for this helpful post.

• Srinath - May 15, 2011, 10:24 AM

Thanks a lot. It helped me to resolve the issue.

• Ilan - May 24, 2011, 10:31 AM

Thank you so much!

• yasser - June 2, 2011, 5:09 AM

Really thank u !

• KM - June 9, 2011, 2:39 AM

Thank you! Thank you thank you thank you! Thank you! 🙂
I thought I was never going to get it to go away!

• Jeroen - June 27, 2011, 11:01 AM

You saved my life, many thanks!

• lanex - June 29, 2011, 6:10 PM

Thank you Aaron for sharing!!! I had the same pain, but with a happy end, because:
I went through fixes steps on http://www.sqlcoffee.com/Troubleshooting073.htm
Thank you, Alberto Morillo!!! SQLCoffee.com

• Date - July 20, 2011, 3:22 PM

Thank you very much! It works!

• Mark A - August 2, 2011, 1:53 PM

I love you and want to have your babies.  Was going absolutely nuts on how to remove this horrid piece of software (or at least the installer is horrid).

• Henrik Badsted - August 19, 2011, 9:09 PM

Great, helped me a lot 🙂
THX from Copenhagen, Denmark….

• JD - August 27, 2011, 1:32 AM

Thank you so much!

• Alex - August 31, 2011, 4:30 PM

Thank u man!

• Priya - September 6, 2011, 10:23 AM

• drGian - September 6, 2011, 8:47 PM

I was stuck in this nightmare after not even intending to install the eval version.  had a production box that suddenly stops working and the bosses are yelling.  If I hadn't found these (relatively simply) instructions i'd have been screwed.  Thanks.

• Jhony - September 7, 2011, 11:40 PM

Thanks Aaron :)..I was facing same error…and i was trying to resovle this error from past 2 days…finally i read your articles…and it helped me a lot…issue got resolved and installed sql successfully….Thanks a lot again 🙂

• KenCov - September 14, 2011, 1:01 AM

Thanks Aaron, This was very frustrating to say the least.  Your article helped me out tremendously.

• Anthony S - September 14, 2011, 1:56 AM

Thank you Aaron.  I wasted two days on this until I found your blog and followed your instructions.  Viola!

• Bob Hoffman - September 22, 2011, 10:01 PM

Incredibly useful back door technique. I used it for a related SQL 2008 issue but it looks like it can get rid of any software that refuses to leave by the front door. Thanks so much.

• VaKa - October 17, 2011, 12:29 PM

That's great!
Thanks so much.

• Marc G, - October 25, 2011, 11:09 PM

I'll jump on the old bandwagon and say thanks Aaron for this solution, I was in the same boat as all y'all and this solution worked like a charm! Rock on!

• MorpheusMTL - October 26, 2011, 6:27 PM

Wow! after 2 days lost, this recipe is the best thing I found. In my case I had to sort order to resolve uninstall dependencies, i.e. I had to ask removal of "engine shared" at the top of my batch file list. When I ran the batch file a 2nd time, everything was perfectly remove (unbelievable!). Thanks for sharing, Morpheus

• Frankanie - October 29, 2011, 5:10 AM

It work well with a complete f*ck up installation where is impossible to uninstall with a soft and normal way.  After that, SQL 2008 R2 was able to complete all installation without problem.

• dd - November 1, 2011, 6:36 AM

You just saved my day. Thank you very much!

• Aleksander - November 16, 2011, 12:16 AM

Man, I love you. Thanks so much!

• Arvand Fazeli - November 18, 2011, 5:44 PM

since this is the painfull way of doing it i wouldn't suggest doing it.
after i followed ur steps i was stuck with other problems which finally made me to remove every registery associated with sql server but that didn't end pretty well either.
my suggestion is that to use windows "fix it" wich is designed to this taks.

• Amanda - November 21, 2011, 6:39 AM

Thank you so much for this fantastic post!

• AJ - November 23, 2011, 4:31 PM

You saved my time mate!

• Evald - November 23, 2011, 5:17 PM

Thanks!!!

• Samuel (Brazil) - December 7, 2011, 4:03 PM

OI Aaron. Queria saber se é possível você acessar meu notebook e realizar esse procedimento. E quanto seria o valor desse trabalho?

• Jamin - December 13, 2011, 10:16 PM

• Rose - December 20, 2011, 3:55 PM

Thanks so much. it was important ti me…

• Antonio - December 22, 2011, 8:50 PM

Perfectly removed that … software with a simple .bat file.
Thanks so much for sharing your guide!

• Randy - January 11, 2012, 1:14 AM

you saved me again sir, Thank you very much

• Jamigo - January 11, 2012, 12:20 PM

Thank you very much!!!!

• Jaids - January 12, 2012, 3:53 AM

Aaron it works. I had it on WIN7 X86 my issue wasn't the evaluation period error but the sql server engine wasn't working and corrupted. I would go and buy the DEV 49 buks one :-). wtf i learned it hard way wasted a whole week trying Add Remove Program feature.
Thanks again

• Jaids - January 12, 2012, 4:26 AM

well if you run the batch file while you have SSIS server running you can get in trouble and it won't delete few registry files. Here we go i am going to delete any thing related to MSFT SQL on this puppy. I wish release team did have a complete documentation around it so people knew before evaluating the application. smh…..

• BisschopsG - January 23, 2012, 1:58 PM

Hi,
Thank you for this, this was exactly the same for me and solve my issye while trying to remove a R2 to put a 2k8 instead.
Regards,

• Hani Allawnha - January 26, 2012, 10:29 PM

• fleep - February 5, 2012, 6:03 AM

booya…. werked fer me too! PIA but thx

• David - February 14, 2012, 7:38 AM

This worked great.  Thank you.
Love the bat file trick.

• ShelLuser - February 15, 2012, 7:12 AM

Wonderful tip, thanks a lot!
I also fell into the eval trap. I recently discovered MS' Express versions of IIS and SQL 2008 and because the pg_sql driver with PHP 5.3 (shipped with IIS 7 Express) gave me lots of issues I decided to give the SQL Express a go. Forgetting that 2008R2 eval. was in the way.
Rest is as you described above. Best part: I learned something new here!
This tip went straight into my OneNote bag of Windows goodies.
Thanks a bunch, saved me lots of time and grief!

• Kelsor - March 4, 2012, 7:06 AM

Thank you very much Aaron. You're a great help 😀

• Dean - March 6, 2012, 12:14 AM

Thanks Aaron! I had the same issue that started witn an install of Server 2008 Standard from a DVD that failed because it was looking for a sqlncli.msi for Server 2008R2 on the 2008 DVD. What a mess. Glad to have it behind me now.

• Dave - March 9, 2012, 2:14 PM

Aaron – you're a champ, thanks so much for this information it was invaluable…!

• Banx - March 22, 2012, 1:33 AM

Genius. Thank You!

• jeff chen - March 22, 2012, 10:52 PM

I have the same problem, it bother me a lot, now I have solved it by the way mentioned above, thanks

• Theo - March 25, 2012, 6:29 PM

I tried running the bat file but it fails with the message
"_R" is not recognized as an internal or external command, operable program or batch file"
The underscore is a square symbol on screen rather than an alpha character.
I ran the bat file as an administrator, but got same error.
I found the MsDtsServer100 service was running so I stopped it. But still the same error.
The bat file is sitting on C:\ root folder, should it be in a specific folder ?
I created the .bat file using Rob Farley's Powershell Script and the bat file name created is uninstallR2.bat
Has anyone else used Rob's script? and got the above issue.

• John B. - March 31, 2012, 2:49 AM

Thank you very much.  I owe you 3 handfuls of hair that have remained on my head…

• C. - April 7, 2012, 1:07 AM

My SQL Server installation wasn't even broken, but the uninstaller kept giving me the same selection of features to uninstall over and over. I just wanted SQL Server to be gone completely from my system. Your Howto solved that, thanks.

• Crocky - April 17, 2012, 10:25 PM

Same for me!
Big Thank to you…

• Sean - April 19, 2012, 12:23 AM

• P'PLOY - April 20, 2012, 7:12 PM

โคตรเทพ อ่ะ ใช้แล้ว Uninstall ได้เลยค่ะ ขอบคุณมากนะคะ

• PJK - April 22, 2012, 9:26 PM

Your blog … helped tremendously … unfortunately Ifound it after I did proceed down the rathole and won't get the time back.  My problem was a 2008R2 upgrade on a cluster that lost some binaries in the ftp … the upgrade failed at the PONR with the INSTANCE.INACTIVE at the new version and the INSTANCE of the 2008.  Long story short … I tried repairing, tried upgrading again, unistall of the engine,replication… finally removing the 2008 node from the cluster, removed all the 2008 and got caught in still and the INTANCE.INACTIVE and the final vicous removal of 2008R2 ..  In the wee hours of the a.m.  I came across your blog and finally got the remnants removed via the msiexec.exe /x route… had I found your article earlier … it would have kept me from removing the node and the 2008.  This article applies to any version of 2008R2 and its removal.

• PJK - April 22, 2012, 9:42 PM

Re-title your article … End the Nightmare of removing 2008R2 and Beyond

• Romulus - April 22, 2012, 10:49 PM

Thanks! You saved me a lot of time!

• Anonymous - April 24, 2012, 8:44 PM

Thanks a lot ..you are a life savior…

• David - May 8, 2012, 12:09 AM

The manual uninstall worked, UGLY, but it worked!

• Michael_M - May 13, 2012, 12:53 PM

Hi Aaron,
you just saved my life , ok not my life but my weekend.
Thx.
Michael

• Axel - May 27, 2012, 3:55 PM

Hi Aaron
I had success with uninstalling SQL Server 2008 SP1. (Programs and features/View installed updates). After un-install it was possible to either upgrade the edition (maintenance) or to de-install the instances.
Axel

• ucuncu - May 28, 2012, 9:11 AM

Hi,
Where will you write command
rem DisplayName
msiexec /x "{guid}"
is in Start->Run

• Mohammad - May 31, 2012, 6:54 AM

Thanks a lot

• Daniele - June 5, 2012, 12:25 PM

Great Works… Many thanks

• tosc - July 3, 2012, 2:19 PM

I ran in the same issue by upgrading / uninstalling SQL Server 2012 RC0.
🙂 tosc

• siri - July 5, 2012, 12:51 PM

please give us  some more needful because while following the same process for uninstallation we are getting error and also only half uninstalltion is done

• siri - July 5, 2012, 12:54 PM

i know why it is not displaying my name because i have given you the bad comment so you dont want to publish it.

• Rocky - August 10, 2012, 5:30 PM

Thanks a lot Aaron!
It saves me a lot of valuable time.

• Mikkel - August 31, 2012, 11:05 AM

Thanks a bunch

• Yaqub ahmad - September 8, 2012, 7:13 AM

GREAT THANKS MAN!
I was trying different things spent a whole day!!! but only your solution worked for me!
Great Thanks again!!

• Wako987 - September 18, 2012, 5:48 PM

GOOD VERY GOOD!!!

• Roberto (Italy) - October 18, 2012, 6:27 PM

Thanks Aaron!
I've been struggling with this uninstall problem all morning and none of the other "solutions" I found works.

• Jon - October 18, 2012, 6:52 PM

Wow, You are hero status. Will be using this for our company since we work with db installs all day. Thank you kindly.

• Kris Bogaert - October 22, 2012, 7:46 PM

Thank you for helping to unblock the situation and enabling me to proceed with reinstalls.

• Martin Tallett - November 22, 2012, 6:05 PM

Spot on, thanks for your help. The advice sounds good too, I will but the developer version next time.

• Suwandi Halim - November 28, 2012, 4:06 PM

Save me alot. Thanks

• Gary Smith - December 9, 2012, 8:11 PM

Crumbs, many thanks for this.

• Jeremy Still - December 13, 2012, 8:00 PM

Whew! Thank you!

• mohsen sharify - January 7, 2013, 3:33 PM

tanx man
you saved my time!

• Rajendran - January 9, 2013, 7:56 AM

In my case it is a diff problem. The sql2008 r2 is removed successfully but not from the control panel! Unable to remove the title from control panel. When I install again it is not done.

• TomB - January 16, 2013, 11:41 PM

Thanks for the excellent idea, Aaron.  What would you do with a key that has no corresponding GUID?  I see a key "Microsoft SQL Server 10" with a DisplayName value "Microsoft SQL Server 2008 R2", an UninstallString value ""c:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\x86\SetupARP.exe" /x86", but no GUID (i.e. no SQLProductFamilyCode).

• AaronBertrand - January 16, 2013, 11:45 PM

TomB that depends, is this key preventing you from doing anything? Or is it just cosmetics at this point? Without a GUID it shouldn't actually be able to enforce blocking the install of anything else.
Sounds like a beta of some kind from very early in the 2008 or 2008 R2 lifecycle. Of course you know this, but I'll state it anyway: you should always be installing beta software on a virtual machine or other device that you don't care if you lose, have to wipe/reformat, etc. 🙂

• TomB - January 17, 2013, 1:31 AM

Thanks again, Aaron, very helpful and an amazingly quick response!  I don't think it was preventing anything.  (I'm definitely practicing on a VM before trying this for a customer.)

• JamesH - January 18, 2013, 3:18 PM

Thanks for the info!

• Charan - January 25, 2013, 7:50 AM

Thank you sir, I was struggling to uninstall. great help it is.

• yagao0o - March 5, 2013, 7:13 AM

It helps me alot.THANKS!

• Brechbert - March 6, 2013, 4:03 PM

Thank you so much!!!

• Dominik Gauss - March 6, 2013, 4:19 PM

To make things a little easier and uninstall everything SQL Server brought along use this code snipplet. You will need the installation media you used to install sql server.
1. open command prompt (cmd.exe):
2. enter the following lines of code
REM —————————-
pushd "path\to\install\media"
for /f "tokens=*" %a in ('dir /b /s /a:-D *.msi') do (
msiexec /x "%a"
pause
)
REM —————————-
This will uninstall any msi package sql server installed during setup.
You might want to repeat this once or twice to eliminate any leftover dependencies.
And one last note: Do yourself a favour and reboot inbetween the individual runs.

• Pratik Vyas - April 9, 2013, 5:54 PM

this is simply AWESOME:)…Saved a lot of time and money…

• Robert Schmalz - April 16, 2013, 11:06 PM

Thank you Aaron.  Add one more poor soul who lost beaucoup time until discovering your solution.  Jesus H. Christ! Microsoft should be ashamed of themselves (but are they ever ashamed? no). I've never seen such a confusing mess before.  Thanks again.

• HHR - May 19, 2013, 10:14 PM

thanks a lot. it's work very good

• Dana in STL - June 4, 2013, 9:17 PM

Thank you, Aaron, this saved me a ton more trouble than re-installing a whole physical server.

• NTT - June 5, 2013, 6:45 AM

Thanks a lot.

• Lakshmi - June 11, 2013, 11:53 AM

• Jochen - June 13, 2013, 5:48 PM

Thanks for that. Worked very well.

• Raj - July 12, 2013, 4:41 AM

Wow! Your solution really helped! You are a rock star!!

• Muhammad Farooq - July 13, 2013, 7:11 AM

thanks alot,its working for me

• Enoch Robinson - July 24, 2013, 11:01 PM

This totally worked for me. It was definately a mess that complicated a Crystal Reports Server uninstall. Thank you very much for this article!

• Marcelo Bezerra - October 1, 2013, 1:55 AM

man, what a piece of this was this….. well, i really need to say: thank you

• Michele Simone - October 4, 2013, 5:37 PM

Thank you very much, Aaron, I was getting crazy with that damn uninstall! Your solution spared me a stomachache…

• Brad - October 7, 2013, 9:58 PM

I didn't read through all these comments but wanted to leave a note about my situation.  I spent a couple hours trying to uninstall SQL 2008 R2 and it never uninstalled completely, which really frustrated me.  I did a repair, which used my new product key but I was still getting the error messages.  I did some searching and finally stumbled on the edition upgrade.
I was getting the "Evaluation period has expired message" too.  I ran the "SQL Server Installation Center" \ "Maintenance" \ "Edition Upgrade".  I had a valid key for Standard Edition and used that.  This worked for me.

• sql_user - November 20, 2013, 11:56 AM

This is very much helpful! you save the day. Thank you!

• Monish Jain - November 21, 2013, 1:56 AM

Thank you very much Aaron. This is the only way I could uninstall SQL Server 2008 R2 from my machine.

• Carlo - December 17, 2013, 6:14 PM

Thank you so much! I was going nuts trying to uninstall SQL Server 2008 R2. Worked like a charm.

• Thomas C.Vandyke - March 10, 2014, 10:14 AM

Thank You so much for above info. It's very beneficial for me. It's looks like tech support as usual.

• Marsha - March 19, 2014, 12:45 AM

thank you for your notes.  It helped me out.
I have one issue left.  it could be the order of uninstalling the guids.
I have one guid that was for SQL Server 2008 R2 SP2 Database Engine Shared
that would not remove.  it was toward the bottom of my list to delete.
I get error  The error code is 2331. The arguments are: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Bin\{C942A025-A840-4BF2-8987-849C0DD44574}sqlca.dll,  The application has failed to start because its side-by-side configuration is incorrect
also found this message
Activation context generation failed for "C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Bin\{C942A025-A840-4BF2-8987-849C0DD44574}sqlca.dll". Dependent Assembly Microsoft.VC80.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4027" could not be found. Please use sxstrace.exe for detailed diagnosis.
Has anyone else had this problem?
thanks

• Marsha - March 27, 2014, 11:32 PM

I finally got it to work.  I had to uninstall my sql server 2008 enterprise edition before I could get the sql server 2008 R2 express edition to uninstall.  then I installed sql server 2008 enterprise edition
and restored master and msdb databases.
Alot of work, but my enterprise edition maintenance plans can be modified now.

• martin ng - May 19, 2014, 5:31 PM

you stopped me from tearing all of my hair out.
unfortunately, i had already wasted half a day before i chanced upon your article. Now i get to keep my other half of the day and saved my hair. Thanks!

• Marcos - June 30, 2014, 10:45 PM

Perfect!
Thanks!

• Flemming - August 7, 2014, 12:01 PM

You, Sir, are a god among men! Thank You!

• Gina - September 10, 2014, 3:40 AM

Well, I had had gone half a day but at least I still have hair!  Thanks for this, worked like a charm!

• ATTENTION PLS! - September 21, 2014, 12:36 AM

To BEST DELETE Database Engine Shared!!
Run first
and then

• Ugandhar - September 29, 2014, 8:30 AM

Hi Aaron Bertrand,
Thanks a lot, this is very useful info, I could resolve my problem now.
Pls keep on posting this type of useful info.
Thanks a lot once again…

• Ugandhar - September 29, 2014, 8:30 AM

Hi Aaron Bertrand,
Thanks a lot, this is very useful info, I could resolve my problem now.
Pls keep on posting this type of useful info.
Thanks a lot once again…

• Ugandhar - September 29, 2014, 8:30 AM

Hi Aaron Bertrand,
Thanks a lot, this is very useful info, I could resolve my problem now.
Pls keep on posting this type of useful info.
Thanks a lot once again…

• Lía - October 31, 2014, 3:06 AM

It worked perfectly….thank you very very very much!!!

• Josh - December 18, 2014, 12:05 AM

Aaron…job well done my friend!  You just saved me a major headache and hours of hard work.  Very well written post – and it worked like a charm!

• Eric Peyser - December 31, 2014, 7:11 AM

Great POST !
if you need a bit more granularity and control without having to skim the .reg, you can also do something like this:
"wmic product get > products.txt"  <-lists all of the packages and obj strings with good info.
The removal procedure is the same as yours or you can use "wmic"
Thank you very much for helping me overcome this nightmare of an uninstall.
~Eric Peyser

• Eric Peyser - December 31, 2014, 7:17 AM

To not confuse things I will put this post separate.
You can use notepad++ for marking or ferreting out the blocks of suspect installs in your dump file (products.txt). The search and replace/mark has the ability to search via regex.
~Eric Peyser

• Arman - January 8, 2015, 5:40 AM

Thanks so much.
It works for me

• mehrnoosh - April 14, 2015, 11:05 PM

Thanks a lot
but some sql dll files have remained
would I have any problem re-installing SQL server?

• AaronBertrand - April 16, 2015, 4:26 PM

@mehrnoosh can you be more specific? Just because .dll files are on your system doesn't mean they're being used – not all uninstall routines (especially manual ones like this) actually delete all related files. Did you *try* re-installing?

• JayJay - May 21, 2015, 7:26 AM

Hey Aaron, So I had SQL Server 2012 installed while uninstalling SQL Server 2008 R2. I was able to uninstall SQL Server 2008 easily after stopping all of my SQL Server services. Being as paranoid as I am, I decided to repair my SQL Server 2012 thinking that maybe something might have gone missing and once the repairing was done, returned in the Control Panel to find the SQL Server 2008 R2 Setup Support files along with SQL Server 2008 R2 Management Objects. I'm lost.

• AaronBertrand - May 26, 2015, 7:33 PM

@JayJay: 2008 <> 2008 R2, did you uninstall 2008 or 2008 R2? You may have to remove additional elements like the setup support files even after successfully removing the database engine. The article above was written to assist when the Control Panel methods don't work.

• JayJay - May 27, 2015, 6:12 AM

Oh okay. As I have been looking for answers in the net, several places brought me here so I apologize for getting slightly off-topic and thank you for reaching out. So, I watched a couple of You-Tube videos and it seems that SQL Server 2012 actually came preinstalled with Setup Support files from SQL Server 2008 and Management Objects originally meant for SQL Server 2008 R2. As for your question, I uninstalled 2008 R2. This video shows someone uninstalling SQL Server 2012 with no sign of having 2008 or 2008 R2 in the Control Panel. Skip to 1:40:

.. To save you from confusion, I wanted to keep SQL Server 2012 in my system so I performed repair and it brought back these two properties back into the Control Panel: 1.SQL Server 2008 Setup Support Files & 2.SQL 2008 R2 Management Objects.

• Greg - September 6, 2015, 9:22 PM

Everything uninstalled but I still have SQL Server 2008 and SQL Server Agent 2008 listed in the services.  How do I remove those?

• Kruti - September 29, 2015, 4:20 AM

Amazing post. Really helped a lot

• Karthik J - November 6, 2015, 7:18 AM

Wow…what a wonderful advise and it really worked like a charm…Thanks a lot Aaron and you really saved my time…once again wonderful article and thanks for sharing

• DWalker - March 29, 2016, 12:29 AM

I just ran across this myself — trying to remove SQL Server Management tools 2014 (which is called Express, which actually came from a management-tools-only installation package).  I wonder if anyone from Microsoft has seen this or has commented to you privately…..
The management tools 2014 were not even listed in Programs and Features (Windows 7).
I needed to install some non-Express features so that SSMS would save the DTSX packages that it creates via the import-export wizard…  sheesh.
Microsoft ought to supply a program to "remove all traces of SQL Server".

• AaronBertrand - March 30, 2016, 4:44 PM
• Rex - April 18, 2016, 3:11 PM

Thanks! It does work to me.

• mahnoor - April 29, 2016, 6:03 AM

just install some new feature from sql 2008 after installation just uninstall there is no need for this method try this

• Siegfried Keller - May 9, 2016, 6:04 PM

very good – thank you.
helped me with my rude Unistallation of SQL Server 2008 R2, too.

• jitendra more - May 17, 2016, 4:21 PM

Thanks for your post, its saves some productive hr of mine.