{"id":374,"date":"2012-09-18T16:25:30","date_gmt":"2012-09-18T10:55:30","guid":{"rendered":"https:\/\/blog.binarybits.net\/?p=374"},"modified":"2021-05-03T16:20:10","modified_gmt":"2021-05-03T10:50:10","slug":"installing-sharepoint-2013-prerequisites-without-an-internet-connection","status":"publish","type":"post","link":"https:\/\/blog.binarybits.net\/installing-sharepoint-2013-prerequisites-without-an-internet-connection\/","title":{"rendered":"Installing SharePoint 2013 Prerequisites Without an Internet Connection"},"content":{"rendered":"
When a SharePoint 2013\u00a0needs to be deployed in a server which doesn’t have internet access, and SharePoint requires\u00a0prerequisite to be installed, we can do couple of things.<\/p>\n
Downloading prerequisites<\/strong><\/p>\n <\/strong>We can download prerequisites\u00a0using Powershell. Please use the following script.<\/p>\n \u00a0Once all the prerequisites\u00a0are downloaded, copy them to server in a particular path and create the following batch file.<\/p>\n \u00a0Installing prerequisites<\/strong><\/p>\nImport-Module BitsTransfer\r\n## Prompt for the destination path\r\n$DestPath = Read-Host -Prompt \"- Enter the destination path for downloaded files\"\r\n## Check that the path entered is valid\r\nIf (Test-Path \"$DestPath\" -Verbose)\r\n{\r\n\t## If destination path is valid, create folder if it doesn't already exist\r\n\t$DestFolder = \"$DestPath\\PrerequisiteInstallerFiles\"\r\n\tNew-Item -ItemType Directory $DestFolder -ErrorAction SilentlyContinue\r\n}\r\nElse\r\n{\r\n\tWrite-Warning \" - Destination path appears to be invalid.\"\r\n\t## Pause\r\n\tWrite-Host \" - Please check the path, and try running the script again.\"\r\n\tWrite-Host \"- Press any key to exit...\"\r\n\t$null = $host.UI.RawUI.ReadKey(\"NoEcho,IncludeKeyDown\")\r\n\tbreak\r\n}\r\n## We use the hard-coded URL below, so that we can extract the filename (and use it to get destination filename $DestFileName)\r\n## Note: These URLs are subject to change at Microsoft's discretion - check the permalink next to each if you have trouble downloading.\r\n$UrlList = (\"http:\/\/download.microsoft.com\/download\/D\/0\/F\/D0F564A3-6734-470B-9772-AC38B3B6D8C2\/dotNetFx45_Full_x86_x64.exe\", # Microsoft .NET Framework 4.5\r\n \"http:\/\/download.microsoft.com\/download\/5\/2\/B\/52B59966-3009-4F39-A99E-3732717BBE2A\/Windows6.1-KB2506143-x64.msu\", # Windows Management Framework 3.0 (CTP2)\r\n\t \"http:\/\/download.microsoft.com\/download\/9\/1\/3\/9138773A-505D-43E2-AC08-9A77E1E0490B\/1033\/x64\/sqlncli.msi\", #Microsoft SQL Server 2008 r2 Native Client\r\n\t \"http:\/\/download.microsoft.com\/download\/D\/7\/2\/D72FD747-69B6-40B7-875B-C2B40A6B2BDD\/Windows6.1-KB974405-x64.msu\", #Windows Identity Foundation (KB974405)\r\n\t \"http:\/\/download.microsoft.com\/download\/E\/0\/0\/E0060D8F-2354-4871-9596-DC78538799CC\/Synchronization.msi\", # Microsoft Sync Framework Runtime v1.0 SP1 (x64) \r\n\t \"http:\/\/download.microsoft.com\/download\/A\/6\/7\/A678AB47-496B-4907-B3D4-0A2D280A13C0\/WindowsServerAppFabricSetup_x64.exe\", #Windows Server AppFabric\r\n \"http:\/\/download.microsoft.com\/download\/0\/1\/D\/01D06854-CA0C-46F1-ADBA-EBF86010DCC6\/r2\/MicrosoftIdentityExtensions-64.msi\", # Windows Identity Extensions\r\n \"http:\/\/download.microsoft.com\/download\/9\/1\/D\/91DA8796-BE1D-46AF-8489-663AB7811517\/setup_msipc_x64.msi\", # Microsoft Information Protection and Control Client\r\n \"http:\/\/download.microsoft.com\/download\/8\/F\/9\/8F93DBBD-896B-4760-AC81-646F61363A6D\/WcfDataServices.exe\", # Microsoft WCF Data Services 5.0\r\n \"http:\/\/download.microsoft.com\/download\/7\/B\/5\/7B51D8D1-20FD-4BF0-87C7-4714F5A1C313\/AppFabric1.1-RTM-KB2671763-x64-ENU.exe\" # CU Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763)\r\n\t\t\t)\r\nForEach ($Url in $UrlList)\r\n{\r\n\t## Get the file name based on the portion of the URL after the last slash\r\n\t$DestFileName = $Url.Split('\/')[-1]\r\n\tTry\r\n\t{\r\n\t\t## Check if destination file already exists\r\n\t\tIf (!(Test-Path \"$DestFolder\\$DestFileName\"))\r\n\t\t{\r\n\t\t\t## Begin download\r\n\t\t\tStart-BitsTransfer -Source $Url -Destination $DestFolder\\$DestFileName -DisplayName \"Downloading `'$DestFileName`' to $DestFolder\" -Priority High -Description \"From $Url...\" -ErrorVariable err\r\n\t\t\tIf ($err) {Throw \"\"}\r\n\t\t}\r\n\t\tElse\r\n\t\t{\r\n\t\t\tWrite-Host \" - File $DestFileName already exists, skipping...\"\r\n\t\t}\r\n\t}\r\n\tCatch\r\n\t{\r\n\t\tWrite-Warning \" - An error occurred downloading `'$DestFileName`'\"\r\n\t\tbreak\r\n\t}\r\n}\r\n## View the downloaded files in Windows Explorer\r\nInvoke-Item $DestFolder\r\n## Pause\r\nWrite-Host \"- Downloads completed, press any key to exit...\"\r\n$null = $host.UI.RawUI.ReadKey(\"NoEcho,IncludeKeyDown\")<\/pre>\n
set PreReqPath=\"E:\\Install\\SharePoint\\PrerequisiteInstallerFiles\"\r\nPrerequisiteInstaller.exe \/SQLNCli:%PreReqPath%\\sqlncli.msi ^\r\n\t\/PowerShell:%PreReqPath%\\Windows6.1-KB2506143-x64.msu ^\r\n\t\/NETFX:%PreReqPath%\\dotNetFx45_Full_x86_x64.exe ^\r\n\t\/IDFX:%PreReqPath%\\Windows6.1-KB974405-x64.msu ^\r\n\t\/Sync:%PreReqPath%\\Synchronization.msi ^\r\n\t\/AppFabric:%PreReqPath%\\WindowsServerAppFabricSetup_x64.exe ^\r\n\t\/IDFX11:%PreReqPath%\\MicrosoftIdentityExtensions-64.msi ^\r\n\t\/MSIPCClient:%PreReqPath%\\setup_msipc_x64.msi ^\r\n\t\/WCFDataServices:%PreReqPath%\\WcfDataServices.exe ^\r\n\t\/KB2671763:%PreReqPath%\\AppFabric1.1-RTM-KB2671763-x64-ENU.exe<\/pre>\n