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.

 

Published by

Paul Papanek Stork

I am a SharePoint MVP who has specialized in Microsoft products since the mid-1990s. As a "Jack of all Trades" I have developed expertise as a network administrator, developer, and DBA. I works as a consultant/trainer where my breadth of knowledge makes me ideally suited to combine Administrative, Development, and SharePoint Designer topics. My 20+ years of experience and broad background make me a much sought after resource for SharePoint questions that cross traditional boundaries. I was a contributing author to the Developer's Guide to Windows SharePoint Services v3 Platform and the SharePoint Server 2007 Deployment Best Practices. My most recent book, the MCTS Windows SharePoint Services 3.0 Configuration Study Guide: Exam 70-631, was released in October, 2009.