CSS SQL Server Engineers

This is the official team Web Log for Microsoft Customer Service and Support (CSS) SQL Support. Posts are provided by the CSS SQL Escalation Services

SQL Server 2008, Visual Studio 2008 SP1, and .Net Framework 3.5 SP1 explained....

SQL Server 2008, Visual Studio 2008 SP1, and .Net Framework 3.5 SP1 explained....

  • Comments 62

PLEASE NOTE: This blog post has been updated from its original posting to clarify other details about installation of SQL Server 2008 and Visual Studio 2008 SP1.

I must say that I'm personally proud to see our release of SQL Server 2008. I've been involved with the product team on this release since its early inception in December of 2004 so this moment does bring me great satisfaction.

I've posted a few entries already on features specific to SQL Sever 2008 that are important to CSS, one of them called Extended Events. I'll continue to regularly post more about the release over the coming months especially leading up to this year's PASS conference in Seattle in November (where CSS will once again come prepared to share our experiences and knowledge of internals).

One of the jobs of CSS is to help customers with issues they encounter and our team is ready to help you when you contact us on SQL Server 2008. In that spirit, I want to make sure you know about a possible issue you might encounter today if you download SQL Sever 2008 and attempt to install it on a machine with Visual Studio 2008 already installed. If you have previously installed a CTP build of SQL Server 2008 you may also be affected by this problem so please read this carefully.

If you have Visual Studio 2008 (any version prior to SP1) already installed, SQL Server 2008 installation will block you from installing if you pick any one of the following features:

  • Business Intelligence Development Studio
  • Integration Services
  • Management Tools (Either Basic or Full)

If you do not select one of these features, then you will not encounter the problem I'm about to describe. If you don't have Visual Studio 2008 already installed and have never installed a CTP build of SQL Server 2008, you should not have this problem.

You may also encounter this problem if you have installed a CTP build of SQL Server 2008 prior to the SQL Server 2008 RTM installation. This is because if you picked the above SQL features when installing a SQL Server 2008 CTP build, we will install the following Visual Studio component on your system which creates registry keys that are used as part of our rule check: Visual Studio 2008 Shell (integrated mode). But from our CTP builds this component is not at the SP1 level.

If you have picked one of these SQL features as part of the SQL Server 2008 RTM setup, then at the screen titled Installation Rules, you will encounter a failure that will prevent you from proceeding as seen by the following screen examples:

image

Notice the Next button is grayed out preventing you from proceeding with the installation. If you select the link for "Failed" you get this dialog box:

image

To give you a behind the scenes look, the Installation rule check here is looking in the registry to see if VS 2008 SP1 has been installed on your system. The installation by SQL Server 2008 CTP builds of the Visual Studio 2008 Shell (integrated mode) component creates one of these registry keys giving the appearance to our rule check that a Visual Studio SKU has been installed but the version is not SP1.

Note for those struggling to figure out the details of this check. The registry key we are attempting to look for is:

HKLM\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0

Be aware that if you are on x64, Visual Studio IDE is 32bit so the key will be:

HKLM\Software\WOW6432Node\Microsoft\DevDiv\VS\Servicing\9.0\IDE

SQL Server 2008 RTM requires the Visual Studio SP1 versions of these  components. So we bundled with our SQL Server 2008 RTM setup the necessary SP1 updates for these. However, we did not include the full release of VS 2008 SP1 with our setup. If we didn't block this in our setup, you would be left with an installation of Visual Studio that is not supported (part of VS would have SP1 bits and part would not). So the decision was made to check for this condition during our setup and prevent you from being placed in an unsupported state. This is also why you may be blocked if you had installed a SQL Server 2008 CTP build, had uninstalled it, but had not manually uninstalled the Visual Studio 2008 Shell (integrated mode) component. Our SQL CTP uninstall does not uninstall this Visual Studio component.

We have documented this situation in our Release Notes for the product which you can read on the download page, through the readme.htm file, or through the direct link off the download center which I've provided here:

http://download.microsoft.com/download/4/9/e/49eeb41a-a769-4520-80d6-671b8ae2bd06/SQLServer2008ReleaseNotes.htm

The Release Notes also refer to a KB article which describes this situation: http://support.microsoft.com/kb/956139. This is a good time to ask that anyone installing our product to take time to read the Release Notes and readme thoroughly before you go through SQL Server 2008 setup.

So what is the resolution for this issue? Most customers are in this state because they have installed VS 2008 RTM. This is why the installation rule says to install VS 2008 SP1. For those who have encountered this because of a SQL Server 2008 CTP build, I have a solution for you as well, but it is not to install VS 2008 SP1. Read on and I'll give you the solutions you need.

If you have installed Visual Studio 2008 RTM, you have the following 3 options:

1) Install VS 2008 SP1 from here. You don't even have to exit the setup screen from SQL Server 2008 where you were blocked. Simply put on VS 2008 SP1 (installing VS 2008 SP1 does take some time so I realize "Simply" is maybe not the best choice of words here) and on the Install Rules screen select the button Re-run at the top right. Now you should not get a failure and can select the Next button to proceed with installation.

When you have applied VS 2008 SP1, The "About Microsoft Visual Studio" menu selection which shows version information should say:

Microsoft Visual Studio 2008
Version 9.0.30729.1 SP
Microsoft .NET Framework
Version 3.5 SP1

2) Uninstall VS 2008 completely and then install SQL Server 2008. Then install VS 2008 RTM and immediately apply VS 2008 SP1. Just applying VS 2008 RTM after SQL Server 2008 RTM leaves you in an unsupported state with possible problems when using Visual Studio 2008 (we don't know of any issues you would have with SQL Server 2008). This option may be something to consider should you have an issue with VS 2008 SP1 but need to get SQL installed while you are trying to figure out the problem.

3) When you install SQL Server 2008, don't select one of the features I listed at the top of this post that requires VS 2008 SP1 binaries: Business Intelligence Development Studio, Integration Services, or Management Tools (Basic or Custom). After you decide to install VS 2008 SP1, you can go back and install these features.

If you have not installed Visual Studio 2008 RTM but have this problem it is because Visual Studio 2008 Shell (integrated mode) is installed on your system but not at the SP1 level. This is probably because it was left over from a SQL Server 2008 CTP installation.

Your solution is simple: Uninstall this component either through Add/Remove Programs or Programs/Features Uninstall.  I also recommend you uninstall the component Visual Studio Tools for Applications 2.0 as part of this if it exists. Both of these could have been left over from your SQL 2008 CTP installation. You can even do this while the SQL Server 2008 setup Installation Rules screen is still active. Just uninstall these and select Re-run to proceed with the installation.

I want to also make 4 other important points to clarify some questions on this topic:

1) If you have not installed Visual Studio 2008, then you should not have this problem unless you have previously installed a CTP build of SQL Server 2008. Furthermore, there is no requirement for you to put on any updates for Visual Studio or the .Net Framework after installing SQL Server 2008 RTM. If you never use Visual Studio 2008 on the computer where you are installing SQL Server, then you do not have to worry about any updates for Visual Studio. SQL Server 2008 comes with everything you need.

2) If you install SQL Server 2008, don't have Visual Studio 2008 installed, but now want to install Visual Studio 2008, you must install VS 2008 SP1 after installing Visual Studio 2008 RTM. The Visual Studio 2008 RTM setup will proceed but you may encounter problems with Visual Studio. SQL Server 2008 RTM and Visual Studio 2008 RTM is not a supported configuration if you have chosen features that require VS 2008 SP1 bits (BIDS, Integration Services, or Management Tools).

3) The binaries we need from VS 2008 SP1 are not related to the .Net Framework 3.5 SP1 update. SQL Server 2008 does require the .Net Framework 3.5 SP1 update but for different reasons. SQL Server 2008 setup will install the released version of .Net Framework 3.5 SP1 if it detects it is not already installed. This is one of the first things SQL Server 2008 setup does when executed. Even if you have the .Net Framework 3.5 SP1 Beta, SQL Server 2008 will update it to the RTM version of .Net Framework 3.5 SP1. The .Net Framework 3.5 SP1 is available for separate download by customers here (in fact VS 2008 SP1 will as part of its installation process install the .Net Framework 3.5 SP1). SQL Server 2008 has the exact same version of the .Net Framework 3.5 SP1 installation as is on the download center so you will not need to apply any updates for it.

One important detail about the .net framework dependency. Business Intelligence Development Studio (BIDS) has the dependency for updates at the .net 3.5 sp1 level. All other SQL Server components depend on .net 2.0 sp2. But .net 2.0 sp2 is not available as a general download and rather than waiting to see if you pick BIDS as a feature, we decided to make the .net 3.5 sp1 framework update a pre-installation step. The one exception to this rule is on Itanium (IA64) platforms running Windows Server 2003. This is because .net 3.5 is not supported on IA64 platforms on operating system versions less than Windows Server 2008. So...since we still need .net 2.0 sp2 on these platforms and you cannot run BIDS on IA64, we include on the media source for SQL Server 2008 a specific package to install .net 2.0 sp2 on IA64 for Windows Server 2003.

4) Visual Studio Express SKUs cannot be updated with Visual Studio 2008 SP1. You must run the Express full installation which has been updated to the SP1 level. So if you have for example Visual C# 2008 Express, you must go to http://www.microsoft.com/express/download/#webInstall to install the updated full download. You do not have to uninstall your RTM Express SKU. You must follow this procedure for any Express SKU you have installed.

To summarize the situation:

1) If you don't have Visual Studio 2008 installed and have never installed a SQL Server 2008 CTP build, SQL Server 2008 RTM comes with everything you need and you should not encounter this problem.

2) If have Visual Studio 2008 installed, you must install VS 2008 SP1 before you install SQL Server 2008 RTM (or don't pick features that require it).

3) If you do not have VS 2008 installed but are encountering this problem, do not attempt to install VS 2008 SP1. Rather, uninstall Visual Studio 2008 Shell (integrated mode) and Visual Studio Tools for Applications 2.0. You should then be allowed to proceed with the installation.

4) SQL Server 2008 RTM comes with the .Net Framework 3.5 SP1 final release. This requirement is independent of the binaries we need from VS 2008 SP1. There is no need for you to run any update to the .Net Framework after installing SQL Server 2008.

5) If you install Visual Studio 2008 RTM after installing SQL Server 2008 RTM, you must install VS 2008 SP1 to be supported if you are using the features in SQL Server that depend on VS 2008 SP1 (BIDS, Integration Services, or Management Tools).

Bob Ward
Microsoft

clip_image001_2

Leave a Comment
  • Please add 7 and 8 and type the answer here:
  • Post
  • So, If doing a new clean install, then I want to install SQL 2008 first then VS2008 and then VS2008 SP1, correct?

  • NO, you want to install VS 2008, VS 2008 SP1, and then SQL Server 2008.

  • Hi,

    I have the following:

    HKLM\Software\WOW6432Node\Microsoft\DevDiv\VS\Servicing\8.0

    Is that ok, or shall i delete 8.0 before I install sql server 2008 express version?

    Thank you for your helpp.

  • I installed VS Studio Pro 2008 that comes with SQL Server 2005, then I Installed VS 2008 SP1, then I tried to install SQL Server 2008 Express with advanced services but I got an error, could not install it.

    What should I do?

    Thanks

  • My VS2008 installations were the various Express editions, with each having its own registry entry e.g. HKLM\SOFTWARE\Microsoft\DevDiv\VCS\Servicing\9.0\SP for Visual C# 2008 Express.

    It turns out all were VS2008 SP1 except for VC++ Express, which was the cause of the failed install.  I uninstalled VC++ 2008 (pre-SP1), and the SQL Server 2008 install (Management Tools) subsequently completed without a hitch.

    Without the registry info provide by Bob I would have never gotten to the bottom of this - many thanks!

  • Thanks for the info burt, had same problem here.

    After deinstalling VC++ 2008 Express, I was able to install the management tools.

    Ridiculously bad install experience. Microsoft, thank you for wasting 5 hours of my life. And all this just to be able to change the authorization mode from Integrated to SQL Server one.

    It seems that the colossal incompetence that manifested itself in the OS division (Vista) now reached the developer's tools division too.

  • I am not able to install SQL Server 2008 Express with Advanced Services. I have Visual Studio 2008 Professional Edition with SP1 already installed and I never installed a previous BETA version of SQL Server 2008 Express on this PC. The error message I am getting from the MS website when I try to DL it on the "Web Platform Installer v2.0" is:

    "You must install Visual Basic 2008 SP1 before you can install SQL Server 2008 Express with Advanced Services".

    Why does it say "Visual Basic"? Dunno. I searched MS website for such a service pack and as far as I can tell it does not exist.

    Any suggestions? I REALLY hope that I do not have to uninstall and reinstall my Visual Studio 2008.

    Thanks,

    Chad

  • Same issue here as well. Anyone have a fix on this? "You must install Visual Basic 2008 SP1 before you can install SQL Server 2008 Express with Advanced Services".

  • you certainly know your stuff.  Thx.

  • I struggled with this for hours as well - everything SHOULD have passed without issue (I had uninstalled ALL previous SQL 2005 and 2008 components and Visual Studio already was at SP1 level). I uninstalled a bunch of other stuff that I probably didn't need to, still no luck. Finally, I modified the reg keys that Bob listed

    (

    HKLM\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0

    and

    HKLM\Software\WOW6432Node\Microsoft\DevDiv\VS\Servicing\9.0

    )

    and I changed all the "SP" keys to 1. Now it works.  Sheesh, what a rediculous process.

  • I wasted an entire day and am writing this at night and STILL NOT able to install SqlServer2008 after VS2008 and VS2008 SP1.  My entire system is messed up with so many trials of installing and uninstanlling.

    After I installed VS2008 and VS2008 SP1, everything reads like you mentioned in your post,

    Microsoft Visual Studio 2008

    Version 9.0.30729.1 SP

    Microsoft .NET Framework

    Version 3.5 SP1

    But still, Sql2008 failed on "Previous release of Microsoft Visual Studio ...".

    Please explain, HOW EXACTLY to get this work?  By the way, I'm using Win7.

    Thanks,

    Ray.

  • This is the best solution for it:

    Setup.exe /ACTION=install /SkipRules=VSShellInstalledRule

  • I was having the same problems with VS2008 SP1 and even though I had upgraded to SP1 it still was failing.  I saw previous threads concerning the regedit keys.  When I looked I saw some entries that weren't VS entries.  Another thread mentioned removing VS Express VB and C++.  I had a version of VS express installed on my machine.  Once I uninstalled all the VS Express programs I was able to the Management Studio to install.  Nice to know that only have a couple of days of hacking around was I able to fix this.

  • I'm having problems installing SQL Server 2008 on a Vista x64 box.  I'm not having the problem discussed above; but, a Bing search led me to this blog.  Towards the end of the install process, I get an Access Denied pop-up with no detail as to what was denied access.  A check of the installation summary log shows an error of -2068643839 (0x84B30001) with no additional information as to what was denied access.  A check of the event logs was of no help either.  I'm logged in as Administrator when doing the installation.

  • Just FYI I've been struggling for this for the past day..

    I've had Visual Studio Team system SP1, I actually spent the time to uninstall everything related to VS and SQL Server and still after reinstalling Team System it failed. I also made sure non or the previously identified applications where uninstalled with no luck.

    I resorted to deleting the 64 registry keys and it worked. I first deleted the 32 bit key but it wasn't the problem.

    Thanks to these comments its the only way I would have resolved without going calling tech support (and I'm willing to do anything to avoid those 5 hour calls :))

Page 3 of 5 (62 items) 12345