SharePoint 2013 has reached RTM

sp2013

Earlier today Microsoft announced that Office 2013, including SharePoint Server 2013, reached the Release to Manufacturing (RTM) build.  That means that coding and testing is complete and work will now commence on getting these products packaged up and into the appropriate distribution channels for customers.  YOu can read the full announcement here: 

Office Reaches RTM!


But here are some of the high points and important details covered in the announcement.

  • People who purchase Office 2010 after October 19, 2012 will get a free upgrade to Office 2013 when it is released.
  • Surface RT tablets will include a preview version of Office 2013 when they ship on October 26th.
  • Office 365 customers will begin to see some of the new 2013 capabilities with the next service update in November.
  • TechNet and MSDN subscribers should have access to RTM code by mid-November.  Which happens to be just after the SharePoint Conference November 12-15, 2012.

Speaking at the Cleveland SharePoint User’s Group

sp2013

I will be speaking at the Cleveland SharePoint User Group on Wednesday, October 24th. The meeting will start at 5:00pm. My topic will be "SharePoint 2013: An Overview of the New Features for IT-Pros”. Here’s a brief description of the talk:


Like every new release the SharePoint 2013 Preview Beta has generated a lot of “buzz” over the last few months.   But the important question is, “What’s in it for me and my organization?”  In this talk we’ll try to provide an overview, with demos, of the most significant new features for end users and the administrators who manage SharePoint environments.  This will not include the new “App” model for developers which will  require its own separate discussion.  Here are the topics I will cover:

  • Search – many of the new features in SharePoint 2013 leverage a new Search engine that incorporates everything Microsoft has learned from its FAST Search acquisition
  • Web content management – a new search based page navigation environment that offers better flexibility and control
  • Mobile – improvements have been made to how SharePoint is displayed and used on a variety of mobile devices
  • Records management – a new eDiscovery process takes records management and compliance to the next level
  • Social computing – a more intuitive way to share, follow, and collaborate on information using familiar social networking paradigms
  • Upgrade – only the database attach method remains, but there have been significant improvements to the process

You are invited to participate in the Cleveland SharePoint Group! Cleveland’s forum to share and collaborate on SharePoint as an application, development platform, and integration framework.

Cleveland SharePoint Group Presents

Wednesday, October 24th from 5pm – 7pm

Register for the Event

Cleveland Microsoft Office at 6050 Oak Tree Blvd.
Independence, 44131

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.