Friday 4 January 2013

System Center 2012 SP1 Setup Software Prerequisites

Since I'm updating my lab environment (more like a wipe and reload) to Service Pack 1 for System Center 2012 I thought I'd just take the time quickly (mainly for my own reference) to document the prerequisites needed for deploying the various components.

This is all based on installing it on Windows Server 2012 as the Server OS and SQL Server 2012 in a clustered, named instance setup.

This post is focused on software pre-reqs, not design or account pre-reqs.  See my other post here about service accounts and System Center 2012.  This post is also not a step by step install guide.


Virtual Machine Manager (SCVMM)
Very simple for SCVMM, before the SCVMM installation install the Windows ADK and only choose:
  • Deployment Tools
  • Windows Preinstallation environment (Windows PE)
Alternatively you can use the following PowerShell snippet to automate the download and install of the ADK components if your server has Internet access:

$dwnld = "C:\Downloads"
if (!(Test-Path -path $dwnld))
 {
 New-Item $dwnld -type directory
 }
$object = New-Object Net.WebClient
$ADKurl = 'http://download.microsoft.com/download/9/9/F/99F5E440-5EB5-4952-9935-B99662C3DF70/adk/adksetup.exe'
$object.DownloadFile($ADKurl, "$dwnld\adksetup.exe")
Start-Process -FilePath "$dwnld\adksetup.exe" -Wait -ArgumentList "/quiet /features OptionId.DeploymentTools OptionId.WindowsPreinstallationEnvironment"
After that there is nothing extra required.



Configuration Manager (ConfigMgr)
Slight bug/feature in Server 2012 when it comes to installing .NET Framework 3.5 where you'll need the install media to get it installed using the following command:
N.B. This command line assumes you have the source media in the D drive.

dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess


To install all other features via PowerShell:

Get-Module ServerManager

Install-WindowsFeature Web-Windows-Auth,Web-ISAPI-Ext,Web-Metabase,Web-WMI,BITS,RDC, NET-Framework-Features,Web-Asp-Net,Web-Asp-Net45,NET-HTTP-Activation, NET-Non-HTTP-Activ,UpdateServices-Services,UpdateServices-RSAT


Also required is the Windows ADK and only choose:
  • Deployment Tools
  • Windows Preinstallation environment (Windows PE)
  • User State Migration Tool (USMT)
Alternatively you can use the following PowerShell snippet to automate the download and install of the ADK components if your server has Internet access:

$dwnld = "C:\Downloads"
if (!(Test-Path -path $dwnld))
 {
 New-Item $dwnld -type directory
 }
$object = New-Object Net.WebClient
$ADKurl = 'http://download.microsoft.com/download/9/9/F/99F5E440-5EB5-4952-9935-B99662C3DF70/adk/adksetup.exe'
$object.DownloadFile($ADKurl, "$dwnld\adksetup.exe")
Start-Process -FilePath "$dwnld\adksetup.exe" -Wait -ArgumentList "/quiet /features OptionId.DeploymentTools OptionId.WindowsPreinstallationEnvironment OptionId.UserStateMigrationTool"
ConfigMgr has more pre-reqs (Silverlight 5 etc) but these should be remediated by the ConfigMgr installer automatically.


Service Manager (SCSM)
For all SCSM roles we need to use dism to add .Net 3.5 before we can even start the installer

dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess

Management Server & Data Warehouse
SQL Analysis Management Objects (AMO) from here
SQL Native Client from here N.B As stated earlier this is the SQL 2012 Native Client, you'll need the version matching your SQL environment.

Both of these pre-reqs are part of the SQL 2012 Feature Pack

Report Viewer 2008 SP1 is also required, but not on the Data Warehouse.

If the server you are installing SCSM on has internet access then you could use this Powershell snippet to download and install the Prerequisites automatically.

$dwnld = "C:\Downloads"
if (!(Test-Path -path $dwnld))
 {
 New-Item $dwnld -type directory
 }
$object = New-Object Net.WebClient
$AMOurl = 'http://go.microsoft.com/fwlink/?LinkID=239666&clcid=0x409'
$SNCurl = 'http://go.microsoft.com/fwlink/?LinkID=239648&clcid=0x409'
$RPTurl = 'http://download.microsoft.com/download/0/4/F/04F99ADD-9E02-4C40-838E-76A95BCEFB8B/ReportViewer.exe'
$object.DownloadFile($AMOurl, "$dwnld\SQL2012AMO.msi")
$object.DownloadFile($SNCurl, "$dwnld\SQL2012NCli.msi")
$object.DownloadFile($RPTurl, "$dwnld\ReportViewer.exe")
Start-Process -FilePath msiexec -ArgumentList /i, "$dwnld\SQL2012AMO.msi", /qn -Wait
Start-Process -FilePath msiexec -ArgumentList /i, "$dwnld\SQL2012NCli.msi", /qn, IACCEPTSQLNCLILICENSETERMS=YES -Wait
Start-Process -FilePath "$dwnld\ReportViewer.exe" -ArgumentList /q -Wait



Orchestrator (SCORCH)
Again, we need to use dism to add .Net 3.5 before we can even start the installer

dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess

The only other pre-req is the IIS role, but if this isn't installed the SCORCH setup will do this for you anyway.

However, if you'd like to prep the server manually, use the following PowerShell command:

Add-WindowsFeature Web-Server,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Digest-Auth,Web-Windows-Auth,Web-Net-Ext,Web-Asp-Net,Web-CGI,Web-Mgmt-Tools,NET-WCF-HTTP-Activation45,NET-WCF-MSMQ-Activation45,NET-WCF-Pipe-Activation45,NET-WCF-TCP-Activation45,MSMQ,RDC,WAS



Operations Manager (SCOM)

Operations Console
Microsoft Report Viewer 2010 Redistributable Package is required on any device where the console is to be installed and that is usually at least one management server.

The following PowerShell script will download and install it for you.

$dwnld = "C:\Downloads"
if (!(Test-Path -path $dwnld))
 {
 New-Item $dwnld -type directory
 }
$object = New-Object Net.WebClient
$RPTurl = 'http://download.microsoft.com/download/E/A/1/EA1BF9E8-D164-4354-8959-F96843DD8F46/ReportViewer.exe'
$object.DownloadFile($RPTurl, "$dwnld\ReportViewer.exe")
Start-Process -FilePath "$dwnld\ReportViewer.exe" -ArgumentList /q -Wait


Web Console
The SP1 Operations Manager 2012 web console requires the some IIS Server Features to be enabled.

The following PowerShell line will install and enable the required features:

Add-WindowsFeature Web-Server,Web-Request-Monitor,Web-Windows-Auth,Web-Asp-Net,Web-CGI,Web-Mgmt-Tools,NET-WCF-HTTP-Activation45,Web-Metabase

If for some reason the pre-req checker is complaining about "Enable the ISAPI and CGI restrictions in IIS for ASP.NET 4.x" then try a reboot first but if it still complains then try the following command and then another reboot.  It says the command doesn't work in Server 2012/IIS8 but it worked for me after a reboot.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -enable -r



App Controller
The following PowerShell line will install and enable the required features:

Add-WindowsFeature NET-Framework-Features,NET-Framework-Core,Web-Mgmt-Console,Web-Static-Content,Web-Default-Doc,Web-Http-Errors,Web-Http-Logging,Web-Request-Monitor,Web-Http-Tracing,Web-Stat-Compression,Web-Filtering,Web-Basic-Auth,Web-Windows-Auth,Web-ISAPI-Filter,Web-ISAPI-Ext,Web-Net-Ext,Web-Asp-Net45


General
If you need to check if a server has some of the features installed already, use this PowerShell line:

Get-WindowsFeature | where {$_.Installed -eq "True"} | ft DisplayName, Name, Installed

No comments: