none
Fehler 1603 bei der Installation RRS feed

  • Frage

  • Hallo,

    ich wollte heute SharePoint 2013 SP1 mit AutoSPInstaller auf einem physischen Server installieren.
    Leider wird die Installation vom SharePoint mit einem 1603 Fehler abgebrochen.
    Folgende Fehlerbeschreibung kommt (Bootstrapper not working)

    Problem signature:
      Problem Event Name: OfficeClassicSetup
      SETUP EXE VERSION: 15.0.4454.1000
      SETUP DLL NAME: SVRSETUP.DLL
      SETUP DLL VERSION: 15.0.4569.1503
      ERROR CODE: 1603
      MSI HRESULT: Unspecified
      ERROR DETAILS: FC73469E
      FIRST ERROR CODE: 1603
      OS Version: 6.3.9600.2.0.0.272.7
      Locale ID: 1031

    Read our privacy statement online:
      http://go.microsoft.com/fwlink/?linkid=280262

    If the online privacy statement is not available, please read our privacy statement offline:
      C:\Windows\system32\en-US\erofflps.txt

    Im Internet habe ich schon nachgeschaut, aber leider haben die Lösungen nicht geholfen:

    - vCores auf 2 erhöhen --> geht nicht, da physische Maschine
    - mehrere Registry-Einträge --> geht trotzdem nicht
    - Task Scheduler mit der Registry starten und wieder stoppen --> Gemacht, geht auch nicht

    Folgende Werte hat dieser Server:

    - Server 2012 R2
    - 4 CPU Cores
    - 16GB RAM
    - 1 TB Festplatte im RAID 1 aufgeteilt in C: - 100GB und D: - 833GB

    Der Zugriff auf den SQL-Server ist gewährt und der RAM für den SQL-Server ist auf 4GB limitiert.

    Ich hoffe jemand hatte den gleichen Fehler und kann mir da jetzt helfen.

    Gruß,
    Robert

    /Edit:

    Hier noch der Fehler von der Installation als LOG-Eintrag:

    2015/12/03 12:12:17:021::[3620] MSI(INFO): '12/03/2015 12:12:17.021 [3468]: Assembly Install: Entering CAssemblyCache::UninstallAssembly(0, Microsoft.SharePoint.Client.ServerRuntime.Resources,fileVersion="15.0.4561.1000",version="15.0.0.0000000",culture="en-US",publicKeyToken="71E9BCE111E9429C",processorArchitecture="MSIL")
    '
    2015/12/03 12:12:17:100::[3620] MSI(INFO): '12/03/2015 12:12:17.100 [3468]: Assembly Install: Exiting CAssemblyCache::UninstallAssembly with hr=00000000
    '
    2015/12/03 12:12:17:115::[3620] MSI(INFO): '12/03/2015 12:12:17.115 [3468]: Assembly Install: Entering CAssemblyCache::UninstallAssembly(0, Microsoft.SharePoint.Client.Runtime.Resources,fileVersion="15.0.4420.1017",version="15.0.0.0000000",culture="en-US",publicKeyToken="71E9BCE111E9429C",processorArchitecture="MSIL")
    '
    2015/12/03 12:12:17:193::[3620] MSI(INFO): '12/03/2015 12:12:17.193 [3468]: Assembly Install: Exiting CAssemblyCache::UninstallAssembly with hr=00000000
    '
    2015/12/03 12:12:17:209::[3620] MSI(INFO): '12/03/2015 12:12:17.209 [3468]: Assembly Install: Entering CAssemblyCache::UninstallAssembly(0, Microsoft.SharePoint.WorkflowActions.intl.resources,fileVersion="15.0.4420.1017",version="15.0.0.0000000",culture="neutral",publicKeyToken="71E9BCE111E9429C",processorArchitecture="MSIL")
    '
    2015/12/03 12:12:17:287::[3620] MSI(INFO): '12/03/2015 12:12:17.287 [3468]: Assembly Install: Exiting CAssemblyCache::UninstallAssembly with hr=00000000
    '
    2015/12/03 12:12:17:303::[3620] MSI(INFO): '12/03/2015 12:12:17.303 [3468]: Assembly Install: Entering CAssemblyCache::UninstallAssembly(0, Microsoft.SharePoint.Workflows.intl.resources,fileVersion="15.0.4420.1017",version="15.0.0.0000000",culture="neutral",publicKeyToken="71E9BCE111E9429C",processorArchitecture="MSIL")
    '
    2015/12/03 12:12:17:365::[3620] MSI(INFO): '12/03/2015 12:12:17.365 [3468]: Assembly Install: Exiting CAssemblyCache::UninstallAssembly with hr=00000000
    '
    2015/12/03 12:12:17:396::[3620] MSI(INFO): '12/03/2015 12:12:17.381 [3468]: Assembly Install: Entering CAssemblyCache::UninstallAssembly(0, Microsoft.SharePoint.WorkflowServicesBase.Intl.Resources,fileVersion="15.0.4420.1017",version="15.0.0.0000000",culture="en-US",publicKeyToken="71E9BCE111E9429C",processorArchitecture="MSIL")
    '
    2015/12/03 12:12:17:459::[3620] MSI(INFO): '12/03/2015 12:12:17.459 [3468]: Assembly Install: Exiting CAssemblyCache::UninstallAssembly with hr=00000000
    '
    2015/12/03 12:12:17:459::[3620] MSI(COMMONDATA): '1: 2 2: 1 '
    2015/12/03 12:12:17:459::[3620] MSI(COMMONDATA): '1: 2 2: 1 '
    2015/12/03 12:12:17:475::[3620] MSI(TERMINATE): '<NULL>'
    2015/12/03 12:12:17:475::[3620] 12/03/2015 12:10:57 MSI transaction rolled back.
    2015/12/03 12:12:17:475::[3532] Not showing completion dialog because it was not requested.
    2015/12/03 12:12:17:475::[3532] Catalyst execution finished: 12/03/2015 12:12:17.  Return code: 1603.
    2015/12/03 12:12:17:475::[3532] PERF: TickCount=5517421 Name=RunSetup Description=End function


    • Bearbeitet h725rk Montag, 7. Dezember 2015 07:28
    Montag, 7. Dezember 2015 07:05

Antworten

  • Hi,
    ergänzend zu Teodoras Beitrag, kann man auch mal alle Voraussetzungen erneut installieren. Dazu können die folgenden PowerShell Scripte für Windows Server 2012 R2 dienen.

    Rollen einrichten:

    Import-Module ServerManager
    
    $windowsServer2012MediaPath = "d:\sources\sxs"
    
    function AddWindowsFeatures($windowsServer2012MediaPath) 
    { 
        Write-Host "==================================================================================="
        Write-Host "Install required Windows Roles/Features for SharePoint 2013 on Windows Server 2012"
        Write-Host ""
        Write-Host "Note: You'll receive prompt to restart your server when the"
        Write-Host "      Windows Server 2012 Role/Feature installation is complete."
        Write-Host "==================================================================================="        
         
          
        # Note: You can use the Get-WindowsFeature cmdlet (its in the ServerManager module) 
        #       to get a listing of all features and roles.
        $WindowsFeatures = @(
    			"Net-Framework-Features",
    			"Web-Server",
    			"Web-WebServer",
    			"Web-Common-Http",
    			"Web-Static-Content",
    			"Web-Default-Doc",
    			"Web-Dir-Browsing",
    			"Web-Http-Errors",
    			"Web-App-Dev",
    			"Web-Asp-Net",
    			"Web-Net-Ext",
    			"Web-ISAPI-Ext",
    			"Web-ISAPI-Filter",
    			"Web-Health",
    			"Web-Http-Logging",
    			"Web-Log-Libraries",
    			"Web-Request-Monitor",
    			"Web-Http-Tracing",
    			"Web-Security",
    			"Web-Basic-Auth",
    			"Web-Windows-Auth",
    			"Web-Filtering",
    			"Web-Digest-Auth",
    			"Web-Performance",
    			"Web-Stat-Compression",
    			"Web-Dyn-Compression",
    			"Web-Mgmt-Tools",
    			"Web-Mgmt-Console",
    			"Web-Mgmt-Compat",
    			"Web-Metabase",
    			"Application-Server",
    			"AS-Web-Support",
    			"AS-TCP-Port-Sharing",
    			"AS-WAS-Support",
    			"AS-HTTP-Activation",
    			"AS-TCP-Activation",
    			"AS-Named-Pipes",
    			"AS-Net-Framework",
    			"WAS",
    			"WAS-Process-Model",
    			"WAS-NET-Environment",
    			"WAS-Config-APIs",
    			"Web-Lgcy-Scripting",
    			"Windows-Identity-Foundation",
    			"Server-Media-Foundation",
    			"Xps-Viewer"
        )
    
        Try 
        { 
    	# Create PowerShell to execute 
            $source = "" 
            if($windowsServer2012MediaPath -ne "") { $source = ' -source ' + $windowsServer2012MediaPath }
    
            $myCommand = 'Add-WindowsFeature ' + [string]::join(",",$WindowsFeatures) + $source
    
    # Execute $myCommand
            $operation = Invoke-Expression $myCommand    
    
            if ($operation.RestartNeeded -eq "Yes") { 
    #Prompt User for Restart
    	   $title = "Restart your server now?"
    	   $message = "Would you like to restart your server now? It is required to complete the Windows Role/Feature Installation."
    
    	   $yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
    	         "Restarts your Windows Server 2012 server now to complete the Role/Feature installation."
    
    	   $no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
    	    "Does not restart your server now... But you should..."
    
    	   $options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
    
    	   $result = $host.ui.PromptForChoice($title, $message, $options, 0) 
    
    	   switch ($result)
    	   {
    	        0 {Restart-Computer;}
    	        1 {"Your server will not restart at this time. Before installing the Pre-requisite files, restart your computer."}
    	   }
            }
        } 
        Catch 
        { 
            Write-Warning "Error when Adding Windows Features. Error details are below:" 
            Write-Error $_ 
            break 
        } 
    } 
    
    AddWindowsFeatures $windowsServer2012MediaPath

    Voraussetzungen herunterladen:

    #***************************************************************************************
    #
    # This script downloads SharePoint 2013 Prerequisites
    #   
    # -These are the Prerequisites for Windows Server 2012 and Windows Server 2012 R2
    # -Run this script as a local server Administrator
    # -Run PowerShell as Administrator
    #
    # Don't forget to: Set-ExecutionPolicy RemoteSigned
    # If you have not done so already within you Windows Server 2012 server
    #****************************************************************************************
    param([string] $SharePoint2013Path = $(Read-Host -Prompt "Please enter the directory path to where you wish to save the SharePoint 2013 Prerequisite files.")) 
     
    # Import Required Modules
    Import-Module BitsTransfer 
    
    
    # Specify download url's for SharePoint 2013 prerequisites
    $DownloadUrls = (
    		    "http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi", # Microsoft SQL Server 2008 R2 SP1 Native Client
    		    "http://download.microsoft.com/download/E/0/0/E0060D8F-2354-4871-9596-DC78538799CC/Synchronization.msi", # Microsoft Sync Framework Runtime v1.0 SP1 (x64)
    		    "http://download.microsoft.com/download/A/6/7/A678AB47-496B-4907-B3D4-0A2D280A13C0/WindowsServerAppFabricSetup_x64.exe", # Windows Server App Fabric
                "http://download.microsoft.com/download/7/B/5/7B51D8D1-20FD-4BF0-87C7-4714F5A1C313/AppFabric1.1-RTM-KB2671763-x64-ENU.exe", # Cumulative Update Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763)
                "http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu", #Windows Identity Foundation (KB974405)
    		    "http://download.microsoft.com/download/0/1/D/01D06854-CA0C-46F1-ADBA-EBF86010DCC6/rtm/MicrosoftIdentityExtensions-64.msi", # Microsoft Identity Extensions
    		    "http://download.microsoft.com/download/9/1/D/91DA8796-BE1D-46AF-8489-663AB7811517/setup_msipc_x64.msi", # Microsoft Information Protection and Control Client
    		    "http://download.microsoft.com/download/8/F/9/8F93DBBD-896B-4760-AC81-646F61363A6D/WcfDataServices.exe" # Microsoft WCF Data Services 5.0
                    ) 
    
    function DownLoadPreRequisites() 
    { 
    
        Write-Host ""
        Write-Host "====================================================================="
        Write-Host "      Downloading SharePoint 2013 Prerequisites Please wait..." 
        Write-Host "====================================================================="
         
        $ReturnCode = 0 
     
        foreach ($DownLoadUrl in $DownloadUrls) 
        { 
            ## Get the file name based on the portion of the URL after the last slash 
            $FileName = $DownLoadUrl.Split('/')[-1] 
            Try 
            { 
                ## Check if destination file already exists 
                If (!(Test-Path " $SharePoint2013Path\$FileName")) 
                { 
                    ## Begin download 
                    Start-BitsTransfer -Source $DownLoadUrl -Destination $SharePoint2013Path\$fileName -DisplayName "Downloading `'$FileName`' to $SharePoint2013Path" -Priority High -Description "From $DownLoadUrl..." -ErrorVariable err 
                    If ($err) {Throw ""} 
                } 
                Else 
                { 
                    Write-Host " - File $FileName already exists, skipping..." 
                } 
            } 
            Catch 
            { 
                $ReturnCode = -1 
                Write-Warning " - An error occurred downloading `'$FileName`'" 
                Write-Error $_ 
                break 
            } 
        } 
        ## for Windows Server 2012 R2
        $FileName = "WcfDataServicesR2.exe"
        $DownLoadUrl = "http://download.microsoft.com/download/1/C/A/1CAA41C7-88B9-42D6-9E11-3C655656DAB1/WcfDataServices.exe" # Microsoft WCF Data Services 5.6
        ## Check if destination file already exists 
        If (!(Test-Path " $SharePoint2013Path\$FileName")) 
        { 
           ## Begin download 
           Start-BitsTransfer -Source $DownLoadUrl -Destination $SharePoint2013Path\$fileName -DisplayName "Downloading `'$FileName`' to $SharePoint2013Path" -Priority High -Description "From $DownLoadUrl..." -ErrorVariable err 
           If ($err) {Throw ""} 
        } 
        Else 
        { 
           Write-Host " - File $FileName already exists, skipping..." 
        } 
    
        Write-Host " - Done downloading Prerequisites required for SharePoint 2013" 
         
        return $ReturnCode 
    } 
    
    function CheckProvidedDownloadPath()
    {
        $ReturnCode = 0
    
        Try 
        { 
            # Check if destination path exists 
            If (Test-Path $SharePoint2013Path) 
            { 
               # Remove trailing slash if it is present
               $script:SharePoint2013Path = $SharePoint2013Path.TrimEnd('\')
    	       $ReturnCode = 0
            }
            Else
            {
               $ReturnCode = -1
               Write-Host ""
    	       Write-Warning "Your specified download path does not exist. Please verify your download path then run this script again."
               Write-Host ""
            } 
        } 
        Catch 
        { 
             $ReturnCode = -1 
             Write-Warning "An error has occurred when checking your specified download path" 
             Write-Error $_ 
             break 
        }     
        return $ReturnCode 
    }
     
    function DownloadPreReqs() 
    { 
        $rc = 0 
        $rc = CheckProvidedDownloadPath  
    
        # Download Pre-Reqs  
        if($rc -ne -1) { $rc = DownLoadPreRequisites } 
    
        if($rc -ne -1)
        {
    
            Write-Host ""
            Write-Host "Script execution is now complete!"
            Write-Host ""
        }
    } 
    
    DownloadPreReqs

    Voraussetzungen installieren:

    $SharePoint2013Path = "C:\Me\Farm Installation"
     
    function InstallPreReqFiles() 
    { 
        $ReturnCode = 0
    
        Write-Host ""
        Write-Host "====================================================================="
        Write-Host "Installing Prerequisites required for SharePoint 2013" 
        Write-Host ""
        Write-Host "This uses the supported installing offline method"
        Write-Host ""
        Write-Host "If you have not installed the necessary Roles/Features"
        Write-Host "this will occur at this time."
        Write-Host "=====================================================================" 
         
            Try 
            { 
                 Start-Process "$SharePoint2013Path\PrerequisiteInstaller.exe" -ArgumentList "`
                                                                                                 /SQLNCli:`"$SharePoint2013Path\PrerequisiteInstallerFiles\sqlncli.msi`" `
                                                                                                 /IDFX:`"$SharePoint2013Path\PrerequisiteInstallerFiles\Windows6.1-KB974405-x64.msu`" `
                                                                                                 /IDFX11:`"$SharePoint2013Path\PrerequisiteInstallerFiles\MicrosoftIdentityExtensions-64.msi`" `
                                                                                                 /Sync:`"$SharePoint2013Path\PrerequisiteInstallerFiles\Synchronization.msi`" `
                                                                                                 /AppFabric:`"$SharePoint2013Path\PrerequisiteInstallerFiles\WindowsServerAppFabricSetup_x64.exe`" `
                                                                                                 /KB2671763:`"$SharePoint2013Path\PrerequisiteInstallerFiles\AppFabric1.1-RTM-KB2671763-x64-ENU.exe`" `                                                                      
                                                                                                 /MSIPCClient:`"$SharePoint2013Path\PrerequisiteInstallerFiles\setup_msipc_x64.msi`" `
                                                                                                 /WCFDataServices:`"$SharePoint2013Path\PrerequisiteInstallerFiles\WcfDataServices.exe`" `
                                                                                                 /WCFDataServices56:`"$SharePoint2013Path\PrerequisiteInstallerFiles\WcfDataServices56.exe`""
            } 
            Catch 
            { 
                $ReturnCode = -1 
                Write-Error $_ 
                break 
            }     
        return $ReturnCode 
    } 
     
    function CheckProvidedSharePoint2013Path()
    {
        $ReturnCode = 0
        Try 
        { 
            # Check if destination path exists 
            If (Test-Path $SharePoint2013Path) 
            { 
               # Remove trailing slash if it is present
               $script:SharePoint2013Path = $SharePoint2013Path.TrimEnd('\')
    	   $ReturnCode = 0
            }
            Else {
    
    	   $ReturnCode = -1
               Write-Host ""
    	   Write-Warning "Your specified download path does not exist. Please verify your download path then run this script again."
               Write-Host ""
            } 
        } 
        Catch 
        { 
             $ReturnCode = -1 
             Write-Warning "An error has occurred when checking your specified download path" 
             Write-Error $_ 
             break 
        }     
        return $ReturnCode 
    }
    
     
    function InstallPreReqs() 
    { 
        $rc = 0 
        $rc = CheckProvidedSharePoint2013Path  
         
        # Install the Pre-Reqs 
        if($rc -ne -1) { $rc = InstallPreReqFiles } 
    
        if($rc -ne -1)
        {
    
            Write-Host ""
            Write-Host "Script execution is now complete!"
            Write-Host ""
        }
    } 
    
    InstallPreReqs


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks
    Kommas richtig setzen!
    Schüler sagen, Lehrer haben es gut.
    Schüler, sagen Lehrer, haben es gut

    Dienstag, 8. Dezember 2015 07:41

Alle Antworten

  • Hallo,

    ist der Server auf dem neuesten Stand?

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 8. Dezember 2015 06:14
    Moderator
  • Ja ist er.
    Dienstag, 8. Dezember 2015 06:58
  • Hallo,

    versuchen Sie folgendes:

    1. Unistall AppFabric according to the article

    http://msdn.microsoft.com/en-us/library/ff637683(v=azure.10).aspx

    2. Then download the WindowsServerAppFabricSetup_x64_6.1 from

    http://go.microsoft.com/fwlink/?LinkId=235496  

    3. Let prerequisite installer install AppFabric using the following command:

     

    prerequisiteInstaller.exe /appfabric:C:\Upload\TEMP\WindowsServerAppFabricSetup_x64.exe

     

    Where C:\Upload\TEMP\WindowsServerAppFabricSetup_x64.exe is full AppFabric Installer path.  

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 8. Dezember 2015 07:24
    Moderator
  • Hi,
    ergänzend zu Teodoras Beitrag, kann man auch mal alle Voraussetzungen erneut installieren. Dazu können die folgenden PowerShell Scripte für Windows Server 2012 R2 dienen.

    Rollen einrichten:

    Import-Module ServerManager
    
    $windowsServer2012MediaPath = "d:\sources\sxs"
    
    function AddWindowsFeatures($windowsServer2012MediaPath) 
    { 
        Write-Host "==================================================================================="
        Write-Host "Install required Windows Roles/Features for SharePoint 2013 on Windows Server 2012"
        Write-Host ""
        Write-Host "Note: You'll receive prompt to restart your server when the"
        Write-Host "      Windows Server 2012 Role/Feature installation is complete."
        Write-Host "==================================================================================="        
         
          
        # Note: You can use the Get-WindowsFeature cmdlet (its in the ServerManager module) 
        #       to get a listing of all features and roles.
        $WindowsFeatures = @(
    			"Net-Framework-Features",
    			"Web-Server",
    			"Web-WebServer",
    			"Web-Common-Http",
    			"Web-Static-Content",
    			"Web-Default-Doc",
    			"Web-Dir-Browsing",
    			"Web-Http-Errors",
    			"Web-App-Dev",
    			"Web-Asp-Net",
    			"Web-Net-Ext",
    			"Web-ISAPI-Ext",
    			"Web-ISAPI-Filter",
    			"Web-Health",
    			"Web-Http-Logging",
    			"Web-Log-Libraries",
    			"Web-Request-Monitor",
    			"Web-Http-Tracing",
    			"Web-Security",
    			"Web-Basic-Auth",
    			"Web-Windows-Auth",
    			"Web-Filtering",
    			"Web-Digest-Auth",
    			"Web-Performance",
    			"Web-Stat-Compression",
    			"Web-Dyn-Compression",
    			"Web-Mgmt-Tools",
    			"Web-Mgmt-Console",
    			"Web-Mgmt-Compat",
    			"Web-Metabase",
    			"Application-Server",
    			"AS-Web-Support",
    			"AS-TCP-Port-Sharing",
    			"AS-WAS-Support",
    			"AS-HTTP-Activation",
    			"AS-TCP-Activation",
    			"AS-Named-Pipes",
    			"AS-Net-Framework",
    			"WAS",
    			"WAS-Process-Model",
    			"WAS-NET-Environment",
    			"WAS-Config-APIs",
    			"Web-Lgcy-Scripting",
    			"Windows-Identity-Foundation",
    			"Server-Media-Foundation",
    			"Xps-Viewer"
        )
    
        Try 
        { 
    	# Create PowerShell to execute 
            $source = "" 
            if($windowsServer2012MediaPath -ne "") { $source = ' -source ' + $windowsServer2012MediaPath }
    
            $myCommand = 'Add-WindowsFeature ' + [string]::join(",",$WindowsFeatures) + $source
    
    # Execute $myCommand
            $operation = Invoke-Expression $myCommand    
    
            if ($operation.RestartNeeded -eq "Yes") { 
    #Prompt User for Restart
    	   $title = "Restart your server now?"
    	   $message = "Would you like to restart your server now? It is required to complete the Windows Role/Feature Installation."
    
    	   $yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
    	         "Restarts your Windows Server 2012 server now to complete the Role/Feature installation."
    
    	   $no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
    	    "Does not restart your server now... But you should..."
    
    	   $options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
    
    	   $result = $host.ui.PromptForChoice($title, $message, $options, 0) 
    
    	   switch ($result)
    	   {
    	        0 {Restart-Computer;}
    	        1 {"Your server will not restart at this time. Before installing the Pre-requisite files, restart your computer."}
    	   }
            }
        } 
        Catch 
        { 
            Write-Warning "Error when Adding Windows Features. Error details are below:" 
            Write-Error $_ 
            break 
        } 
    } 
    
    AddWindowsFeatures $windowsServer2012MediaPath

    Voraussetzungen herunterladen:

    #***************************************************************************************
    #
    # This script downloads SharePoint 2013 Prerequisites
    #   
    # -These are the Prerequisites for Windows Server 2012 and Windows Server 2012 R2
    # -Run this script as a local server Administrator
    # -Run PowerShell as Administrator
    #
    # Don't forget to: Set-ExecutionPolicy RemoteSigned
    # If you have not done so already within you Windows Server 2012 server
    #****************************************************************************************
    param([string] $SharePoint2013Path = $(Read-Host -Prompt "Please enter the directory path to where you wish to save the SharePoint 2013 Prerequisite files.")) 
     
    # Import Required Modules
    Import-Module BitsTransfer 
    
    
    # Specify download url's for SharePoint 2013 prerequisites
    $DownloadUrls = (
    		    "http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi", # Microsoft SQL Server 2008 R2 SP1 Native Client
    		    "http://download.microsoft.com/download/E/0/0/E0060D8F-2354-4871-9596-DC78538799CC/Synchronization.msi", # Microsoft Sync Framework Runtime v1.0 SP1 (x64)
    		    "http://download.microsoft.com/download/A/6/7/A678AB47-496B-4907-B3D4-0A2D280A13C0/WindowsServerAppFabricSetup_x64.exe", # Windows Server App Fabric
                "http://download.microsoft.com/download/7/B/5/7B51D8D1-20FD-4BF0-87C7-4714F5A1C313/AppFabric1.1-RTM-KB2671763-x64-ENU.exe", # Cumulative Update Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763)
                "http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu", #Windows Identity Foundation (KB974405)
    		    "http://download.microsoft.com/download/0/1/D/01D06854-CA0C-46F1-ADBA-EBF86010DCC6/rtm/MicrosoftIdentityExtensions-64.msi", # Microsoft Identity Extensions
    		    "http://download.microsoft.com/download/9/1/D/91DA8796-BE1D-46AF-8489-663AB7811517/setup_msipc_x64.msi", # Microsoft Information Protection and Control Client
    		    "http://download.microsoft.com/download/8/F/9/8F93DBBD-896B-4760-AC81-646F61363A6D/WcfDataServices.exe" # Microsoft WCF Data Services 5.0
                    ) 
    
    function DownLoadPreRequisites() 
    { 
    
        Write-Host ""
        Write-Host "====================================================================="
        Write-Host "      Downloading SharePoint 2013 Prerequisites Please wait..." 
        Write-Host "====================================================================="
         
        $ReturnCode = 0 
     
        foreach ($DownLoadUrl in $DownloadUrls) 
        { 
            ## Get the file name based on the portion of the URL after the last slash 
            $FileName = $DownLoadUrl.Split('/')[-1] 
            Try 
            { 
                ## Check if destination file already exists 
                If (!(Test-Path " $SharePoint2013Path\$FileName")) 
                { 
                    ## Begin download 
                    Start-BitsTransfer -Source $DownLoadUrl -Destination $SharePoint2013Path\$fileName -DisplayName "Downloading `'$FileName`' to $SharePoint2013Path" -Priority High -Description "From $DownLoadUrl..." -ErrorVariable err 
                    If ($err) {Throw ""} 
                } 
                Else 
                { 
                    Write-Host " - File $FileName already exists, skipping..." 
                } 
            } 
            Catch 
            { 
                $ReturnCode = -1 
                Write-Warning " - An error occurred downloading `'$FileName`'" 
                Write-Error $_ 
                break 
            } 
        } 
        ## for Windows Server 2012 R2
        $FileName = "WcfDataServicesR2.exe"
        $DownLoadUrl = "http://download.microsoft.com/download/1/C/A/1CAA41C7-88B9-42D6-9E11-3C655656DAB1/WcfDataServices.exe" # Microsoft WCF Data Services 5.6
        ## Check if destination file already exists 
        If (!(Test-Path " $SharePoint2013Path\$FileName")) 
        { 
           ## Begin download 
           Start-BitsTransfer -Source $DownLoadUrl -Destination $SharePoint2013Path\$fileName -DisplayName "Downloading `'$FileName`' to $SharePoint2013Path" -Priority High -Description "From $DownLoadUrl..." -ErrorVariable err 
           If ($err) {Throw ""} 
        } 
        Else 
        { 
           Write-Host " - File $FileName already exists, skipping..." 
        } 
    
        Write-Host " - Done downloading Prerequisites required for SharePoint 2013" 
         
        return $ReturnCode 
    } 
    
    function CheckProvidedDownloadPath()
    {
        $ReturnCode = 0
    
        Try 
        { 
            # Check if destination path exists 
            If (Test-Path $SharePoint2013Path) 
            { 
               # Remove trailing slash if it is present
               $script:SharePoint2013Path = $SharePoint2013Path.TrimEnd('\')
    	       $ReturnCode = 0
            }
            Else
            {
               $ReturnCode = -1
               Write-Host ""
    	       Write-Warning "Your specified download path does not exist. Please verify your download path then run this script again."
               Write-Host ""
            } 
        } 
        Catch 
        { 
             $ReturnCode = -1 
             Write-Warning "An error has occurred when checking your specified download path" 
             Write-Error $_ 
             break 
        }     
        return $ReturnCode 
    }
     
    function DownloadPreReqs() 
    { 
        $rc = 0 
        $rc = CheckProvidedDownloadPath  
    
        # Download Pre-Reqs  
        if($rc -ne -1) { $rc = DownLoadPreRequisites } 
    
        if($rc -ne -1)
        {
    
            Write-Host ""
            Write-Host "Script execution is now complete!"
            Write-Host ""
        }
    } 
    
    DownloadPreReqs

    Voraussetzungen installieren:

    $SharePoint2013Path = "C:\Me\Farm Installation"
     
    function InstallPreReqFiles() 
    { 
        $ReturnCode = 0
    
        Write-Host ""
        Write-Host "====================================================================="
        Write-Host "Installing Prerequisites required for SharePoint 2013" 
        Write-Host ""
        Write-Host "This uses the supported installing offline method"
        Write-Host ""
        Write-Host "If you have not installed the necessary Roles/Features"
        Write-Host "this will occur at this time."
        Write-Host "=====================================================================" 
         
            Try 
            { 
                 Start-Process "$SharePoint2013Path\PrerequisiteInstaller.exe" -ArgumentList "`
                                                                                                 /SQLNCli:`"$SharePoint2013Path\PrerequisiteInstallerFiles\sqlncli.msi`" `
                                                                                                 /IDFX:`"$SharePoint2013Path\PrerequisiteInstallerFiles\Windows6.1-KB974405-x64.msu`" `
                                                                                                 /IDFX11:`"$SharePoint2013Path\PrerequisiteInstallerFiles\MicrosoftIdentityExtensions-64.msi`" `
                                                                                                 /Sync:`"$SharePoint2013Path\PrerequisiteInstallerFiles\Synchronization.msi`" `
                                                                                                 /AppFabric:`"$SharePoint2013Path\PrerequisiteInstallerFiles\WindowsServerAppFabricSetup_x64.exe`" `
                                                                                                 /KB2671763:`"$SharePoint2013Path\PrerequisiteInstallerFiles\AppFabric1.1-RTM-KB2671763-x64-ENU.exe`" `                                                                      
                                                                                                 /MSIPCClient:`"$SharePoint2013Path\PrerequisiteInstallerFiles\setup_msipc_x64.msi`" `
                                                                                                 /WCFDataServices:`"$SharePoint2013Path\PrerequisiteInstallerFiles\WcfDataServices.exe`" `
                                                                                                 /WCFDataServices56:`"$SharePoint2013Path\PrerequisiteInstallerFiles\WcfDataServices56.exe`""
            } 
            Catch 
            { 
                $ReturnCode = -1 
                Write-Error $_ 
                break 
            }     
        return $ReturnCode 
    } 
     
    function CheckProvidedSharePoint2013Path()
    {
        $ReturnCode = 0
        Try 
        { 
            # Check if destination path exists 
            If (Test-Path $SharePoint2013Path) 
            { 
               # Remove trailing slash if it is present
               $script:SharePoint2013Path = $SharePoint2013Path.TrimEnd('\')
    	   $ReturnCode = 0
            }
            Else {
    
    	   $ReturnCode = -1
               Write-Host ""
    	   Write-Warning "Your specified download path does not exist. Please verify your download path then run this script again."
               Write-Host ""
            } 
        } 
        Catch 
        { 
             $ReturnCode = -1 
             Write-Warning "An error has occurred when checking your specified download path" 
             Write-Error $_ 
             break 
        }     
        return $ReturnCode 
    }
    
     
    function InstallPreReqs() 
    { 
        $rc = 0 
        $rc = CheckProvidedSharePoint2013Path  
         
        # Install the Pre-Reqs 
        if($rc -ne -1) { $rc = InstallPreReqFiles } 
    
        if($rc -ne -1)
        {
    
            Write-Host ""
            Write-Host "Script execution is now complete!"
            Write-Host ""
        }
    } 
    
    InstallPreReqs


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks
    Kommas richtig setzen!
    Schüler sagen, Lehrer haben es gut.
    Schüler, sagen Lehrer, haben es gut

    Dienstag, 8. Dezember 2015 07:41
  • Das neu installieren von App Fabric hat den Server in eine Dauerschleife gebracht.
    App Fabric wurde immer wieder neu installiert.

    Das Script werde ich erst testen können, wenn ich den Server neugemacht habe.

    Dienstag, 8. Dezember 2015 13:39