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 6 and 4 and type the answer here:
  • Post
  • Many of you may have read my post about dependencies with Visual Studio 2008 SP1 and the .Net Framework

  • Дошли сегодня руки поставить  sql server 2008. ставлю, а майор Томин мне и говорит "rule previous

  • Дошли сегодня руки поставить sql server 2008. ставлю, а майор Томин мне и го

  • If you had Visual Studio 2008 RTM (or a Beta of SP1) already installed on your machine, the installation

  • Got stuck as above, but didn't seem to find a match in the list of choices. I had Visual Studio 2008 Shell but without mention of (integrated mode).  I now recall I once installed IronPython, which had some VS 2008 components.  De-installing the Shell solved the problem and SQL 2008 install then worked.

  • Applying VS2008 Professional SP1, resolved the problem for me.  However, my situation isn't described above, so I am leaving a comment, in hopes it will aid someone else.

    ----------------------

    My story:  I'm using VS2008 TEAM SYSTEM SP1 (verified in Help-About) but still had the symptom described.  

    The cause was that VS2008 PROFESSIONAL had been installed prior to Team System, and the Professional SP1 hadn't been applied.   It wasn't immediately obvious because the Professional IDE was replaced by the Team System IDE.   It was only by comparing file versions of some of the DLLs with the same files on a colleagues machine that I was able to determine the problem.

    I had incorrectly assumed that the Team System install replaced all Professional files (since it replaced the shortcuts to the IDE, etc.), and that installing Team System SP1 would upgrade all files necessary, regardless of whether they had been initially placed there by the Professional or Team System installs.  This is obviously not the case.

    In short, the solution is just as described above, even though the IDE led me to believe I was already at the correct SP level.

  • I installed VS08 SP1 atop VS08 Professional Edition but was still failing this rule. Turns out I also had Express editions of C# and C++ 2008 installed. Uninstalling these fixed the problem.

  • Deleting this value helped me proceed where I had been stuck for months:

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

    Thank you!!!

  • This is rediculous, you should be ashamed of the SQL 2008 installation process.

    1. Should not have dependancy on any version of Visual Studio or service packs.

    2. How complicated can you make copying files? I can drop oracle sqldeveloper and other tools into a directory and be done - I'm working an hour on installing the client tools for SQL 2008 - first I need new installer program 4.5, then I need PowerShell

    3. Where are the command line tools? How do I test connectivity - do you think I am going to install VS2008 on every single web server?

    4. SQL 2008 is so freaking locked down it takes a half a day to get it to accept connections from another server.

    Somebody at MS needs to get back into the real world - in the real world you don't install VS2008, SQL 2008 and IIS on each and every server in your shop. VS2008 SP level should affect it and it alone and NOTHING ELSE ON YOUR MACHINE SHOULD CARE!!!!

    Why are you still fooling with the registry? What happened to an app.config file in the directory with the program - then installation is copy 100 files into a directory, install a service, adjust app.config and you are done - not the nightmare of crap you have designed and shovel out.

  • I have Already Installed VS 2008 SP1 and

    version is same as

    Microsoft Visual Studio 2008

    Version 9.0.30729.1 SP

    Microsoft .NET Framework

    Version 3.5 SP1

    but i still can`t install MS SQL 2008 :-(

    Please help

  • This is a giant waste of peoples time. I completely uninstalled VS2008 and it still fails with "Previous version od VS2008 installed"! % hrs monkeying with this! The registry key is not there after deleting so it must be looking at soemthing else. A fine example of the right know knowing what the left is doing at MS.

  • This is a giant waste of peoples time. I completely uninstalled VS2008 and it still fails with "Previous version od VS2008 installed"! 4 hrs monkeying with this! The registry key is not there after deleting so it must be looking at soemthing else. A fine example of the right know knowing what the left is doing at MS.

  • Sorry for taking so long to get to these comments:

    1) I didn't create the blog post to make excuses for the poor job we did on these dependencies with SQL 2008. No excuses. I created this to help those who ran into problems so Rob and Jim your comments are understandable. I've given feedback over this problem to our product team

    2) No to Atta and Jim who are still having problems:

    I went back and looked over the code again for the message box "Previous releases of Microsoft Visual Studio...".

    The code looks in the following registry key:

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

    or

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

    There could be subkeys under here to check because VS has several components that have to be upgraded to SP1 to avoid this problem. Any where you see the reg value of SP it must be 1 or greater.

    Bob Ward

  • I checked everything like Bob Ward sai. No help! Still couldn't install sql 08.

  • For this last comment I need to figure out why these suggestions are not helping. Please contact me at bobward@microsoft.com for the details on why these suggestions are not working.

Page 2 of 5 (62 items) 12345