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.

 

SharePoint 2013 Public Beta is Live

Office-2013-LogoUnless you’ve been living under a rock, you’ve probably already heard that the Office 15 Public Preview Beta went live YESTERDAY at about 3:30 PM. I thought it might be haelpful to put a list of useful links in one web post for everyone who is trying to find things.  Here are links to a number of sites that I visited last night to download either bits, documentation or training.

Download Links

SharePoint Server 2013 Preview Download – SharePoint Server 2013 Preview is designed to bring people together to get work done. Whether you’re using it to manage your enterprise content, make it easy for business end users to share ideas and information, or help developers build innovative new applications, SharePoint Server 2013’s improvements in scale, security, and flexibility have you covered.

Office 365 ProPlus Preview Download – Office 365 ProPlus Preview is your new Office delivered fast to all your Windows devices. Office 365 ProPlus Preview includes Word, PowerPoint, Excel, Outlook, OneNote, Access, Publisher, and Lync. You will be able to preview Office 365 ProPlus applications and manage up to 25 users with a preview account.

SharePoint Foundation 2013 Preview Download – SharePoint Foundation 2013 is the essential solution for organizations that need a secure, manageable, web-based collaboration platform.

Office Web Apps Server Preview Download – Office Web Apps Server Preview is a new Office server product that delivers browser-based versions of Word, PowerPoint, Excel, and OneNote. A single Office Web Apps Server farm can support users who access Office files through SharePoint 2013 Preview, Lync Server 2013 Preview, Exchange Server 2013 Preview, shared folders, and web sites.

Office 365 Small Business Premium Preview – Welcome to the next generation of Office 365, a powerful service that transforms the way you get things done. Office 365 is the smart choice for managing your business efficiently and professionally—without the need for technical expertise.

Office 365 Enterprise Preview – Create professional content more easily than ever, securely connect with customers and partners, and take advantage of powerful tools for more effective management, control and compliance with enterprise-grade security, data loss prevention, and rights management.

Office 365 Home Premium Preview – Best for families who want Office on up to 5 household PCs or tablets.

Other Office 2013 Downloads – On this page you can get other office products like Exchange, Visio, Project, etc.

Documentation

Developer documentation on MSDN – Find how-tos, overviews, training, and API references, and other documentation for SharePoint 2013 Preview

Setup a SharePoint 2013 Dev Environment – Learn the steps to set up a SharePoint 2013 Preview development environment by installing SharePoint 2013 Preview and Visual Studio 2012.

Training

Developer Training Videos – Developer-focused how to training and walkthrough videos about Office 2013 and SharePoint 2013 including changes and new features for search, social, ECM, WCM, and REST. Learn about apps for Office and SharePoint.

IT Pro Training – Download walkthroughs, training, and reviews of new features, changes and options in Office 2013 for ITPros.

Keep watching this space.  I have more information about SharePoint 2013 to come.

SharePoint MVP for the 5th Year!

Last weekend was really exciting for two reasons.  First, because my eldest daughter got married on Saturday.  We were so busy getting ready for the wedding that I almost forgot about my MVP award date on July 1st.  But soon enough the wedding was over and things started to get back to normal on Sunday and there was my the email announcing my MVP award again this year for SharePoint. This is my fifth year and I get more EXCITED about the program every year. Every year I make more friends and contacts through the program.  Their help and support is invaluable when it comes to learning all the nooks and crannies in this product.  I often wonder how I learned as much as I did before I gained access to the resources and contacts available to me as an MVP.  And every year brings more opportunities for learning and sharing that knowledge with others in the community.

But the bottom line is still that I wouldn’t be an MVP if it weren’t for all of you out there in the community. In the last year I’ve begun to run into a number of people who recognize my name from the MSDN Forums. Its been great to meet all of you in person and thanks for all the questions that you’ve asked.  Some of them provide an easy outlet for sharing what I already know.  But others provide challenges to learn new things so I can help answer questions.  Without your stimulating questions I wouldn’t be receiving this award. I hope to continue to live up to the honor and hope that I never get complacent about what its really about: Helping to support the SharePoint community.