Tuesday, May 29, 2012

SQL 2012 Upgrade Gotcha: "Windows PowerShell 2.0 already installed" rule failure

SQL Server 2012 requires PowerShell 2.0 to be installed on the machine you're putting SQL 2012 on. So, if you're running an instance of SQL Server prior to 2012 that you want to upgrade on a Windows Server 2008 R1 machine, you will need to install PowerShell 2.0 first.


You can find the PowerShell installer as part of the Windows PowerShell 2.0 and WinRM 2.0 for Windows Server 2008 x64 Edition (KB968930) package at the Microsoft Download Center.

If you don't install PowerShell 2.0 in advance on Windows Server 2008 R1 machines you will be informed by SQL Server 2012 setup that the "Windows PowerShell 2.0 already installed." rule failed. If you click the "details" link, you will get the following message:

Rule "Windows PowerShell 2.0 already installed." failed. Setup did not detect Windows PowerShell 2.0 was installed. To continue with this feature selection, manually install Windows PowerShell 2.0 by following the instructions at blah, blah, blah, yadda, yadda, yadda...

The link that is provided in the above message is mostly useless. It just brings you to the Knowledge Base article and doesn't provide any information on how to actually get the update you need. This update requires a reboot of the server so you can go ahead and quit out of the SQL Server 2012 installer.

By the way, if you're doing a fresh installation of SQL Server 2012, go ahead and put it on Windows Server 2008 R2 and save yourself the headache of upgrading the OS in the future.

Did this help you? Please let me know in the comments!

4 comments:

  1. I have download the Windows6.0-KB968930-x86 and install successfully. after that, install sql2012 also fail.     

    Exception type: Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngineRuleFailureException
    Message:
    Setup did not detect Windows PowerShell 2.0 was installed. To continue with this feature selection, manually install Windows PowerShell 2.0 by following the instructions at http://go.microsoft.com/fwlink/?LinkId=186214, search for Windows PowerShell 2.0 through Windows Update or do not select the features that require Windows PowerShell 2.0.
    HResult : 0x84be0260
    FacilityCode : 1214 (4be)
    ErrorCode : 608 (0260)

    ReplyDelete
    Replies
    1. I presume that your server is a 32-bit machine since you were able to install the 32-bit version of the WinRM 2.0. If this is the case, double check your installation of PowerShell and make sure it works by getting into the IDE and running some "Get" commands. See PowerShell docs for more info.

      PowerShell docs: http://technet.microsoft.com/en-us/library/bb978526.aspx

      Is this a fresh installation or are you upgrading from an earlier version of SQL Server? If you're doing a fresh install on a new machine I suggest you go ahead and put Windows Server 2012 on it. Also go with 64-bit if you can so you don't limit yourself on memory.

      Delete
    2. Thank you.
      Enable the PowerShell feature, this default version is 1.0. After that, did the PowerShell 2.0 update. Then , install SQL14 succeed.

      Delete
  2. https://support.microsoft.com/en-us/kb/968930

    ReplyDelete