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.
-
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.