Introduction
I have been using automated installations for a few months now and have used both in-house scripts and the AutoSPInstaller from CodePlex. I have lately used AutoSPInstaller and wanted to go through the various steps used to prepare the installation media.
Update: I have updated the documentation according to v2 of AutoSPIntaller and explain the setup of the configuration files in detail.
Preparing the base media
1. Either download the SharePoint 2010 ISO from MSDN subscriber downloads or copy them from the installation media. I extract the files into the folder c:\SP2010.
2. Run Download-All SP2010 Prereqs.ps1 and add these files to c:\SP2010. This will add all the pre-requisite files into our base media catalog for offline installations. Most servers I install are behind a firewall and do not allow direct access to the internet.
3. Download AutoSPInstaller from CodePlex and extract the files into the c:\SP2010 folder.
4. Download the SharePoint 2010 Language Packs and add them to your folder at c:\SP2010\LanguagePacks. NOTE! Rename the files by appending the locale to the end of the file. For example, ServerLanguagePack_sv-se.exe for Swedish.
5. Slipstream the latest hotfix by downloading the cumulative update package. Extract the contents as:
office2010kb2512800fullfilex64glb.exe /extract:.\
Locate the .msp files and add them to the c:\SP2010\Updates folder.
Your folder layout should now look like this:

Prepare server hardware and software
The following requirements must be fulfilled prior to the installation of SharePoint Server 2010.
Hardware Requirements
| Component | Minimum Requirement |
| Processor | 64-bit, four cores |
| RAM | 8gb for single server, 16gb for multi-server environments. For databases above 2 terabytes see the link below. Recommend 16gb as standard. |
| Hard disk | 80gb for system drive. For databases, see Capacity management and sizing for SharePoint Server 2010. From experience, I recommend 160gb for system drive and a separate 50gb drive for logs and search indexes. |
For full details see http://technet.microsoft.com/en-us/library/cc262485.aspx
Software Requirements
| Component | Minimum Requirement |
| OS | Windows Server 2008 64-bit with SP2 or Windows Server 2008 R2 64-bit (recommended) |
| OS Edition | Standard is customary for SharePoint servers. Will work with Standard, Enterprise, Data Center or Web Server with SP2. Clustered SQL servers require Enterprise edition. |
| Server Roles and Features | No features or roles installed. Note: Install base Windows with drivers only, the setup will take care of IIS and other components. |
| Database | SQL Server 2005 with SP3 and Cumulative Update package 3 or SQL Server 2008 with SP1 and Cumulative Update 2 or SQL Server 2008 R2 (recommended) |
For full details see http://technet.microsoft.com/en-us/library/cc262485.aspx.
System Accounts
These accounts must be created and passwords must be made available before installation begins.
Naming standards are examples and may be changed to reflect internal policies.
| Account Type | Account Name | Rights |
| Install Account | SPS_INSTALL | Full administrator rights on all SharePoint and SQL servers. Will be disabled after install is completed. |
| SQL Service Account | SQL_SERVICE | If not already installed, domain account with no local rights above Domain User. |
| Farm Administrator | SPS_FARM | SQL roles DBCREATOR and SECURITYADMIN. |
| Application Pool | SPS_APP_POOLn | One account per application. For example one per intranet, extranet and public website. Naming standard could be SPS_APP_POOL1 or SPS_APP_POOL_INTRANET. No local rights or SQL rights above Domain User. |
| My Site | SPS:MYSITE | No local rights or SQL rights above Domain User. |
| Services | SPS_SERVICES | No local rights or SQL rights above Domain User. |
| Search Agent | SPS_SEARCH | No local rights or SQL rights above Domain User. |
| Search Crawl Access | SPS_CRAWL | No local rights or SQL rights above Domain User. |
| Profile Access | SPS_PROFILE | No local rights or SQL rights above Domain User. Important: Account needs “replicate changes” rights in Active Directory. For more info, see TechNet. For a script to test if the account was set up correctly, see my CodePlex site. |
| Cache Admin | SPS_CACHEADM | No local rights or SQL rights above Domain User. |
| Cache Reader | SPS_CACHERD | No local rights or SQL rights above Domain User. |
For more information see http://technet.microsoft.com/en-us/library/ee662513.aspx
Prepare server for unATtended installation
Personally, I like drinking coffee better than staring at a monitor. Therefore, I want the installation to bother me as little as possible, i.e. not at all. I don’t want meaningless confirm clicks or silly errors.
1. Turn off the nag by typing “Run…”, “msconfig”, “Tools” and launch “Change UAT Settings”.
2. Turn off warning on file open by typing “Run…” “gpedit.msc”, “User Configuration”, “Administrative Templates”, “Windows Components”, “Attachment Manager”, “Inclusing list for low file types” and add “.exe;” to the list.
For more info, see http://www.windowsreference.com/windows-7/how-to-disable-open-file-security-warning-in-windows-7/
Prepare The Scripts
First of all, open the file config.xml and config-OWA.xml and enter the SharePoint 2010 product key under the PIDKEY parameter. Once done, open the files in Internet Explorer to ensure they open without errors, i.e. that they contain well formed XML.
Now rename the AutoSPInstallerInput.xml file by appending the name of your server. For example, AutoSPInstallerInput-SPQASRV7873.xml. By not having the original file present, we ensure that our environment specific file is loaded and forms a way of documenting the installation.
Open the renamed file and perform the following changes:
- Set the farm passphrase at Configuration/Farm/PassPhrase. Note: Make sure that the farm passphrase is complex or the installation will fail.
- Reference the farm account at the following locations:
- Configuration/Farm/Account/Username
- Cond
- Reference your database server at the following locations:
- Configuration/Farm/Database/DBServer
- Map the service accounts to the ones mentioned earlier as
- Add SPS_SERVICE account to Configuration/Farm/ManagedAccounts where CommonName is “spservice” and to Configuration/EnterpriseServiceApps/VisioService/UnattenderIDUser
- Add SPS_SEARCH account to Configuration/Farm/ManagedAccounts where CommonName is “searchservice” and to Configuration/ServiceApps/EnterpriseSearchService/Account and Configuration/ServiceApps/EnterpriseSearchService/EnterpriseSearchServiceApplications/
EnterpriseSearchServiceApplication/AdminComponent/ApplicationPool/Account - Add SPS_CRAWL to Configuration/ServiceApps/EnterpriseSearchService/EnterpriseSearchServiceApplications/
EnterpriseSearchServiceApplication/ContentAccessAccount - Add SPS_APP_POOL_PORTAL account to Configuration/Farm/ManagedAccounts where CommonName is “portalapppool” and to Configuration/WebApplications/WebApplication[type=Portal]/applicationPoolAccount and Configuration/WebApplications/WebApplication[type=Portal]/SiteCollections/SiteCollection/owner Configuration/WebApplications/WebApplication/applicationPoolAccount
- Add SPS_MYSITE account to Configuration/Farm/ManagedAccounts where CommonName is “mysiteapppool” and to Configuration/WebApplications/WebApplication[type=MySiteHost]/applicationPoolAccount and Configuration/WebApplications/WebApplication[type=MySiteHost]/SiteCollections/SiteCollection/owner
- Add SPS_CACHEADM account to Configuration/Farm/ObjectCacheAccounts/SuperUser
- Add SPS_CACHERD account to Configuration/Farm/ObjectCacheAccounts/SuperReader
In addition, follow the comments in the file to add optional changes.
Execute the script
Run the script c:\SP2010\AutoSPInstaller\AutoSPInstallerLaunch.bat by executing the file with administrative privileges.

Post execution tasks
I’m sure you had a nice coffee by now, so it’s time to document the progress. I normally save any reports from the desktop and also execute the SharePoint Auto Documenter from Sezai. I have compiled a version for SharePoint 2010 here:
http://lekman.codeplex.com/releases/view/55953
Lastly, I check over the farm in health reports and then disable the install account in AD.