4 Prerequisites Missing from SharePoint 2013 PrerequisitesInstaller.exe

There is an old adage that says “When all else fails, READ THE INSTRUCTIONS!”  This is particularly true when it comes to installing Beta releases.  Unfortunately many people, including me, don’t always read all the release notes before installing.  When the preview Beta of SharePoint 2013 was released a couple weeks ago I very quickly downloaded it and spent the first evening installing it into a Virtual environment.  After all, I had installed lots of Betas in the past and I was normally able to work through any of the issues that came up.  Since I knew the client I would be installing it at soon had servers that could not download files directly from the Internet I even updated a 2010 PowerShell script that I got from AutoSPInstaller  on CodePlex to download all the new 2013 prerequisites.  (You can see that post here)  So I was very surprised when someone pointed out to me the next day that there were three (3) prerequisites that aren’t included and that are only mentioned in the documentation.  You’ll find them in step 6 of the various installation walkthroughs: single server with SQL, single server with SQLExpress, and multiple servers.

PrereqInstall

To keep you from making the same mistake I did here are descriptions and download locations for the 3 updates.  NOTE: These all are specific to Server 2008 r2 and probably aren’t needed if installing on Server 2012 RC.

  • KB 2554876 – The SharePoint parsing process crashes in Windows Server 2008 R2
  • KB 2708075 – IIS 7.5 configurations are not updated when you use the ServerManager class to commit configuration changes
  • KB 2472264 – You cannot customize some TCP configurations by using the netsh command in Windows Server 2008 R2

UPDATE: A Fourth required KB is being added to the list

I and several other people have been having issues getting the Search service to provision in SharePoint 2013.  The original suggested fix was to run Windows Update on the server and install all important updates.  This did indeed solve the issue.  But required installation of 53 updates in my case and since some servers aren’t connected to the Internet a number of people in the Forums started looking for a better solution.  That solution was to install KB 2567680 which is a security update for Server 2008 r2 and can be downloaded from:

KB 2567680MS11-063: Vulnerability in Windows Client/Server Run-time subsystem could allow elevation of privilege: August 9, 2011

I hope this saves you some time and trouble.  It should provide a more stable environment as you test the Beta.

Installing SharePoint 2013 Prerequisites Without an Internet Connection

There are already several blog posts about how to install SharePoint 2013, so I won’t duplicate them here.  But all of these posts are written assuming that you SharePoint server can access the Internet.  You need this to be able to automatically download the 10 additional prerequisites that need to be installed BEFORE you can install SharePoint 2013.  But what if your SharePoint server is behind a firewall or in a disconnected Virtual machine?  How can you get the prerequisites installed then?

You could download them manually, copy them to the server and install them.  but this presents several challenges.  For example, the first pre-requisite is .Net Framework 4.5.  Try using your search engine to find an official Microsoft site where you can download that.  Once you do you are left with the question of whether to install the Beta or Release Candidate version.  Once you’ve done all that you still have to find and download the other nine prerequisites.  But there is an easier way.

In the past you could find Powershell scripts on the Internet that you could use to download all the SharePoint prerequisites to a subdirectory.  In this post I’ve taken one of those scripts and updated it with the right links for the SharePoint 2013 prerequisites.  Then once the prerequisites are downloaded and copied to the SharePoint server I’ve created a batch file that you can use to install all the prereqs using the SharePoint prerequisite installer.  I’ve also included a list of the prerequisites and where you can download them from in case you want to get them manually.

Downloading the Prerequisites (Powershell)

You can use the following Powershell script to download all the SharePoint 2013 prerequisites and put them in a subdirectory that you specify.  Download Download-All_SP2013_PreReqs.ps1 script here.

   1:  Import-Module BitsTransfer
   2:  ## Prompt for the destination path
   3:  $DestPath = Read-Host -Prompt "- Enter the destination path for downloaded files"
   4:  ## Check that the path entered is valid
   5:  If (Test-Path "$DestPath" -Verbose)
   6:  {
   7:      ## If destination path is valid, create folder if it doesn't already exist
   8:      $DestFolder = "$DestPath\PrerequisiteInstallerFiles"
   9:      New-Item -ItemType Directory $DestFolder -ErrorAction SilentlyContinue
  10:  }
  11:  Else
  12:  {
  13:      Write-Warning " - Destination path appears to be invalid."
  14:      ## Pause
  15:      Write-Host " - Please check the path, and try running the script again."
  16:      Write-Host "- Press any key to exit..."
  17:      $null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
  18:      break
  19:  }
  20:  ## We use the hard-coded URL below, so that we can extract the filename (and use it to get destination filename $DestFileName)
  21:  ## Note: These URLs are subject to change at Microsoft's discretion - check the permalink next to each if you have trouble downloading.
  22:  $UrlList = ("http://download.microsoft.com/download/D/0/F/D0F564A3-6734-470B-9772-AC38B3B6D8C2/dotNetFx45_Full_x86_x64.exe", # Microsoft .NET Framework 4.5
  23:              "http://download.microsoft.com/download/5/2/B/52B59966-3009-4F39-A99E-3732717BBE2A/Windows6.1-KB2506143-x64.msu", # Windows Management Framework 3.0 (CTP2)
  24:              "http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi", #Microsoft SQL Server 2008 r2 Native Client
  25:              "http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu", #Windows Identity Foundation (KB974405)
  26:              "http://download.microsoft.com/download/E/0/0/E0060D8F-2354-4871-9596-DC78538799CC/Synchronization.msi", # Microsoft Sync Framework Runtime v1.0 SP1 (x64) 
  27:              "http://download.microsoft.com/download/A/6/7/A678AB47-496B-4907-B3D4-0A2D280A13C0/WindowsServerAppFabricSetup_x64.exe", #Windows Server AppFabric
  28:              "http://download.microsoft.com/download/0/1/D/01D06854-CA0C-46F1-ADBA-EBF86010DCC6/r2/MicrosoftIdentityExtensions-64.msi", # Windows Identity Extensions
  29:              "http://download.microsoft.com/download/9/1/D/91DA8796-BE1D-46AF-8489-663AB7811517/setup_msipc_x64.msi", # Microsoft Information Protection and Control Client
  30:              "http://download.microsoft.com/download/8/F/9/8F93DBBD-896B-4760-AC81-646F61363A6D/WcfDataServices.exe", # Microsoft WCF Data Services 5.0
  31:              "http://download.microsoft.com/download/7/B/5/7B51D8D1-20FD-4BF0-87C7-4714F5A1C313/AppFabric1.1-RTM-KB2671763-x64-ENU.exe" # CU 1 for AppFabric 1.1 (KB2671763)
  32:              )
  33:  ForEach ($Url in $UrlList)
  34:  {
  35:      ## Get the file name based on the portion of the URL after the last slash
  36:      $DestFileName = $Url.Split('/')[-1]
  37:      Try
  38:      {
  39:          ## Check if destination file already exists
  40:          If (!(Test-Path "$DestFolder\$DestFileName"))
  41:          {
  42:              ## Begin download
  43:              Start-BitsTransfer -Source $Url -Destination $DestFolder\$DestFileName -DisplayName "Downloading `'$DestFileName`' to $DestFolder" -Priority High -Description "From $Url..." -ErrorVariable err
  44:              If ($err) {Throw ""}
  45:          }
  46:          Else
  47:          {
  48:              Write-Host " - File $DestFileName already exists, skipping..."
  49:          }
  50:      }
  51:      Catch
  52:      {
  53:          Write-Warning " - An error occurred downloading `'$DestFileName`'"
  54:          break
  55:      }
  56:  }
  57:  ## View the downloaded files in Windows Explorer
  58:  Invoke-Item $DestFolder
  59:  ## Pause
  60:  Write-Host "- Downloads completed, press any key to exit..."
  61:  $null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

 

Downloading the Prerequisites (Manual Links)

In case you don’t want to use Powershell, or just want to download one of the prereqs that you missed.  Here are the direct download links for all the prereqs.

  • .NET Framework 4.5
  • Windows Management Framework 3.0 (CTP2) – PowerShell 3.0
  • Microsoft SQL Server 2008 r2 Native Client
  • Windows Identity Foundation (KB974405)
  • Microsoft Sync Framework Runtime v1.0 SP1 (x64)
  • Windows Server AppFabric
  • Windows Identity Extensions
  • Microsoft Information Protection and Control Client
  • Microsoft WCF Data Services 5.0
  • CU Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763)

    Installing from a local Subdirectory

    Once you’ve downloaded all the prerequisite files you will need to copy them to a subdirectory on the SharePoint server.  Once the files are on the SharePoint server you can use the regular SharePoint 2013 prerequisiteinstaller.exe to install them.  Running prerequisiteinstaller.exe /? displays the following dialog which shows the switches you need to install the prerequisites from a local location.

  • 2013 prerequisites

    Once you know what the switches are you can use the following batch file to invoke the prerequisiteinstaller.exe and provide it with the local location for all the prereqs.  (Note:  the ‘^’ is a line continuation character in a windows batch file.  If it gives you trouble just remove it and put everything on two lines.)  Note:  You will need to substitute the path where you copied the prerequisite files in the first line. Download PreReq2013.bat Batch File Here. 

    set PreReqPath=E:\Install\SharePoint\PrerequisiteInstallerFiles
    PrerequisiteInstaller.exe /SQLNCli:%PreReqPath%\sqlncli.msi  ^
        /PowerShell:%PreReqPath%\Windows6.1-KB2506143-x64.msu  ^
        /NETFX:%PreReqPath%\dotNetFx45_Full_x86_x64.exe  ^
        /IDFX:%PreReqPath%\Windows6.1-KB974405-x64.msu  ^
        /Sync:%PreReqPath%\Synchronization.msi  ^
        /AppFabric:%PreReqPath%\WindowsServerAppFabricSetup_x64.exe  ^
        /IDFX11:%PreReqPath%\MicrosoftIdentityExtensions-64.msi  ^
        /MSIPCClient:%PreReqPath%\setup_msipc_x64.msi  ^
        /WCFDataServices:%PreReqPath%\WcfDataServices.exe  ^
        /KB2671763:%PreReqPath%\AppFabric1.1-RTM-KB2671763-x64-ENU.exe    

     

    Once the files are all on the server and the lines above are in a .bat file you can just run the batch file and wait for it to install all the pre-requisites. 

    Note: You will probably have to re-boot the server once during the install and again at the end before installing SharePoint itself.

 

Installing SharePoint 2013 Prerequisites Without an Internet Connection

There are already several blog posts about how to install SharePoint 2013, so I won’t duplicate them here.  But all of these posts are written assuming that you SharePoint server can access the Internet.  You need this to be able to automatically download the 10 additional prerequisites that need to be installed BEFORE you can install SharePoint 2013.  But what if your SharePoint server is behind a firewall or in a disconnected Virtual machine?  How can you get the prerequisites installed then?

You could download them manually, copy them to the server and install them.  but this presents several challenges.  For example, the first pre-requisite is .Net Framework 4.5.  Try using your search engine to find an official Microsoft site where you can download that.  Once you do you are left with the question of whether to install the Beta or Release Candidate version.  Once you’ve done all that you still have to find and download the other nine prerequisites.  But there is an easier way.

In the past you could find Powershell scripts on the Internet that you could use to download all the SharePoint prerequisites to a subdirectory.  In this post I’ve taken one of those scripts and updated it with the right links for the SharePoint 2013 prerequisites.  Then once the prerequisites are downloaded and copied to the SharePoint server I’ve created a batch file that you can use to install all the prereqs using the SharePoint prerequisite installer.  I’ve also included a list of the prerequisites and where you can download them from in case you want to get them manually.

Downloading the Prerequisites (Powershell)

You can use the following Powershell script to download all the SharePoint 2013 prerequisites and put them in a subdirectory that you specify.  Download Download-All_SP2013_PreReqs.ps1 script here.

   1:  Import-Module BitsTransfer
   2:  ## Prompt for the destination path
   3:  $DestPath = Read-Host -Prompt "- Enter the destination path for downloaded files"
   4:  ## Check that the path entered is valid
   5:  If (Test-Path "$DestPath" -Verbose)
   6:  {
   7:      ## If destination path is valid, create folder if it doesn't already exist
   8:      $DestFolder = "$DestPath\PrerequisiteInstallerFiles"
   9:      New-Item -ItemType Directory $DestFolder -ErrorAction SilentlyContinue
  10:  }
  11:  Else
  12:  {
  13:      Write-Warning " - Destination path appears to be invalid."
  14:      ## Pause
  15:      Write-Host " - Please check the path, and try running the script again."
  16:      Write-Host "- Press any key to exit..."
  17:      $null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
  18:      break
  19:  }
  20:  ## We use the hard-coded URL below, so that we can extract the filename (and use it to get destination filename $DestFileName)
  21:  ## Note: These URLs are subject to change at Microsoft's discretion - check the permalink next to each if you have trouble downloading.
  22:  $UrlList = ("http://download.microsoft.com/download/b/a/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe", # Microsoft .NET Framework 4.5
  23:              "http://download.microsoft.com/download/5/2/B/52B59966-3009-4F39-A99E-3732717BBE2A/Windows6.1-KB2506143-x64.msu", # Windows Management Framework 3.0 (CTP2)
  24:              "http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi", #Microsoft SQL Server 2008 r2 Native Client
  25:              "http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu", #Windows Identity Foundation (KB974405)
  26:              "http://download.microsoft.com/download/E/0/0/E0060D8F-2354-4871-9596-DC78538799CC/Synchronization.msi", # Microsoft Sync Framework Runtime v1.0 SP1 (x64) 
  27:              "http://download.microsoft.com/download/A/6/7/A678AB47-496B-4907-B3D4-0A2D280A13C0/WindowsServerAppFabricSetup_x64.exe", #Windows Server AppFabric
  28:              "http://download.microsoft.com/download/0/1/D/01D06854-CA0C-46F1-ADBA-EBF86010DCC6/r2/MicrosoftIdentityExtensions-64.msi", # Windows Identity Extensions
  29:              "http://download.microsoft.com/download/9/1/D/91DA8796-BE1D-46AF-8489-663AB7811517/setup_msipc_x64.msi", # Microsoft Information Protection and Control Client
  30:              "http://download.microsoft.com/download/8/F/9/8F93DBBD-896B-4760-AC81-646F61363A6D/WcfDataServices.exe", # Microsoft WCF Data Services 5.0
  31:              "http://download.microsoft.com/download/7/B/5/7B51D8D1-20FD-4BF0-87C7-4714F5A1C313/AppFabric1.1-RTM-KB2671763-x64-ENU.exe" # CU 1 for AppFabric 1.1 (KB2671763)
  32:              )
  33:  ForEach ($Url in $UrlList)
  34:  {
  35:      ## Get the file name based on the portion of the URL after the last slash
  36:      $DestFileName = $Url.Split('/')[-1]
  37:      Try
  38:      {
  39:          ## Check if destination file already exists
  40:          If (!(Test-Path "$DestFolder\$DestFileName"))
  41:          {
  42:              ## Begin download
  43:              Start-BitsTransfer -Source $Url -Destination $DestFolder\$DestFileName -DisplayName "Downloading `'$DestFileName`' to $DestFolder" -Priority High -Description "From $Url..." -ErrorVariable err
  44:              If ($err) {Throw ""}
  45:          }
  46:          Else
  47:          {
  48:              Write-Host " - File $DestFileName already exists, skipping..."
  49:          }
  50:      }
  51:      Catch
  52:      {
  53:          Write-Warning " - An error occurred downloading `'$DestFileName`'"
  54:          break
  55:      }
  56:  }
  57:  ## View the downloaded files in Windows Explorer
  58:  Invoke-Item $DestFolder
  59:  ## Pause
  60:  Write-Host "- Downloads completed, press any key to exit..."
  61:  $null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

 

Downloading the Prerequisites (Manual Links)

In case you don’t want to use Powershell, or just want to download one of the prereqs that you missed.  Here are the direct download links for all the prereqs. 

  • .NET Framework 4.5
  • Windows Management Framework 3.0 (CTP2) – PowerShell 3.0
  • Microsoft SQL Server 2008 r2 Native Client
  • Windows Identity Foundation (KB974405)
  • Microsoft Sync Framework Runtime v1.0 SP1 (x64)
  • Windows Server AppFabric
  • Windows Identity Extensions
  • Microsoft Information Protection and Control Client
  • Microsoft WCF Data Services 5.0
  • CU Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763)

    Installing from a local Subdirectory

    Once you’ve downloaded all the prerequisite files you will need to copy them to a subdirectory on the SharePoint server.  Once the files are on the SharePoint server you can use the regular SharePoint 2013 prerequisiteinstaller.exe to install them.  Running prerequisiteinstaller.exe /? displays the following dialog which shows the switches you need to install the prerequisites from a local location.

  • 2013 prerequisites

    Once you know what the switches are you can use the following batch file to invoke the prerequisiteinstaller.exe and provide it with the local location for all the prereqs.  (Note:  the ‘^’ is a line continuation character in a windows batch file.  If it gives you trouble just remove it and put everything on two lines.)  Note:  You will need to substitute the path where you copied the prerequisite files in the first line. Download PreReq2013.bat Batch File Here. 

    set PreReqPath=E:\Install\SharePoint\PrerequisiteInstallerFiles
    PrerequisiteInstaller.exe /SQLNCli:%PreReqPath%\sqlncli.msi  ^
        /PowerShell:%PreReqPath%\Windows6.1-KB2506143-x64.msu  ^
        /NETFX:%PreReqPath%\dotNetFx45_Full_x86_x64.exe  ^
        /IDFX:%PreReqPath%\Windows6.1-KB974405-x64.msu  ^
        /Sync:%PreReqPath%\Synchronization.msi  ^
        /AppFabric:%PreReqPath%\WindowsServerAppFabricSetup_x64.exe  ^
        /IDFX11:%PreReqPath%\MicrosoftIdentityExtensions-64.msi  ^
        /MSIPCClient:%PreReqPath%\setup_msipc_x64.msi  ^
        /WCFDataServices:%PreReqPath%\WcfDataServices.exe  ^
        /KB2671763:%PreReqPath%\AppFabric1.1-RTM-KB2671763-x64-ENU.exe    

     

    Once the files are all on the server and the lines above are in a .bat file you can just run the batch file and wait for it to install all the pre-requisites. 

    Note: You will probably have to re-boot the server once during the install and again at the end before installing SharePoint itself.

 

Installing SharePoint 2010 RTM on Windows 7 x64

I’ve seen several messages on support forums lately about people having problems trying to install SharePoint 2010 RTM on top of Windows 7 x64 to create a development environment.  The problems seem to stem from changes that have been made to the custom installation sequence required since documentation was written for the BETA.  The Win7 Beta install instructions don’t work quite right for the RTM version.  Microsoft updated the instructions on Technet today (April 30th), but I think they can still be somewhat intimidating since the cover Win7, Vista, and VM installations.  So I thought I would boil them down to just a simple Win7 install and include pictures.  Here are the instructions I’ve tested.  Hope they help you.

Before you Install SharePoint

1. Install Windows 7 x64. Please Note: You can’t use either the K or KN edition (Korean)

2. Install the WCF Hotfix for Microsoft Windows (KB976462). The hotfix is available here: http://go.microsoft.com/fwlink/?LinkID=166231

3. Install the ADO.NET Data Services Update for .NET Framework 3.5 SP1 to enable REST (KB976127). It’s available here: http://www.microsoft.com/downloads/details.aspx?familyid=79d7f6f8-d6e9-4b8c-8640-17f89452148e&displaylang=en

4. Xcopy the SharePoint installation files from the DVD to a folder on your harddrive. If you downloaded them as an executable extract the files using the following command for SPF:

{path to EXE}\SharePoint.exe /extract:{subdirectory}

{path to EXE}\SharePoint.exe /extract:{subdirectory}

or this for SPS:

{path to EXE}\OfficeServer.exe /extract:{subdirectory}

5. Edit the installation configuration file called config.xml located in the \files\Setup\ folder under the subdirectory where you copied or extracted the setup files. Add the following line to the <Configuration> section:


<Setting Id="AllowWindowsClientInstall" Value="True" />

Note: These settings are Case Sensitive. Be very careful with your edits.

6. Install the following included prerequisite:

Microsoft FilterPack Beta – Found in the PrerequisiteInstallerFiles\FilterPack directory where you copied or extracted your files. Run FilterPack.msi

7. Download and install the following prerequisites:

8. Go to Control Panel > Programs and Features > Turn Windows features on or off and enable the following Windows 7 Features:

Win7Features

9. Restart Windows 7 to activate the new feature set.

Install SharePoint Foundation or SharePoint Server

10. To install SharePoint Server 2010 or SharePoint Foundation 2010, run Setup.exe from the folder where you extracted the files.

11. Accept the Microsoft Software License Terms.

1SPF license

12. Choose an installation type. Standalone is the easiest and sufficient for many Developers. You will need a SQL server available if you choose to do a Server Farm install.

2InstallType

13. Once the installation is complete, you are prompted to run the SharePoint Products and Technologies Configuration Wizard. Click the Close button to complete the installation and configure SharePoint.

4SPSwizard

14. After a minute or two the SharePoint Products and Technologies Configuration Wizard will start. Click Next.

15. You will see a dialog box warning you that Windows 7 is not supported for production environments. Click OK

5Win7Unsupported

16. Next you will see a dialog box warning you that some Services will be stopped. Click Yes.

17. You will see a dialog box with a progress bar. Wait for the installation to be complete.

6Progressbar

18. You should see a Configuration Successful dialog when the install is completed. Click Finish and SharePoint will launch the Central Admin website. You can now create additional SharePoint sites as needed and install your development tools.

7success

You can now create additional SharePoint sites as needed and install your development tools.

You can see the full instructions on Technet here:

http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx