This project is read-only.


1) Download the latest release from

2) Right-click the zip file, click Properties and select Unblock – this step is important because blocked PowerShell scripts cannot be executed if your ExecutionPolicy setting is RemoteSigned or higher.

3) Unzip the file (preferably to a network share)

4) Edit the Run-Install.config file for your configuration

AppSettings Section

<!-- This section contains default settings to be used for all installs - these can be overridden -->

The AppSettings section contains basic configuration options that apply to the process, and are not a specific version of SQL.

1) WindowsScriptsFolder – this setting defines the folder on the destination server that hold any scripts located in the PowerShellScripts folder

2) FilePath – defines the default working folder used to copy all of the setup files to the destination server

ScriptConfigs Section

<!-- This section contains settings used by individual pre/post scripts - these must be reviewed and set -->
    <ParamName="Domain"Value="" />
    <ParamName="Group"Value="" />
    <ParamName="FailOnFileSystem"Value="1" />
    <ParamName="FailOnDiskAlign"Value="1" />
    <ParamName="FailOnCompressed"Value="1" />
    <ParamName="Services"Value="" />
    <ParamName="Servers"Value="" />
    <ParamName="MaxFileCount"Value="8" />
    <ParamName="MaxFileInitialSizeMB"Value="1024" />
    <ParamName="MaxFileGrowthSizeMB"Value="2048" />
    <ParamName="FileGrowthMB"Value="512" />
    <ParamName="CoreMultiplier"Value="1" />
    <ParamName="CMSServer"Value="" />
    <ParamName="CMSInstance"Value="" />
    <ParamName="CMSGroupName"Value="" />
    <ParamName="PortNumber"Value="1433" />
    <ParamName="Email"Value="" />
    <ParamName="Relay"Value="" />
    <ParamName="ReplyTo"Value="" />
    <ParamName="DisplayName"Value="" />
    <ParamName="ProfileName"Value="" />

The ScriptConfigs section is used as a central location for any pre/post install scripts that require end user configuration. The Name attribute for each Script element reflects the name of the Script that it applies to and there is a separate Param element for each configurable parameter. Most of the values are blank and will need to be populated for your environment. If any of the values are left blank, then the corresponding script will be skipped when the tool is used.

*Note – in the Configure-DatabaseMail section you can substitute “[computername]” in any of the Value parameters and it will be replaced at runtime with the name of the server you are installing on.  This can be used if you want to include the server name in the email address to see what server an error originated on .

DataCenters Section

  <!-- This section contains the list of valid data centers and their respective Auto-Install source locations-->
  <DataCenterName="Data Center 1"Location="Location 1"FilePath="\\alfkidc-2\DataCenter1\AutoInstall\" />
  <DataCenterName="Data Center 2"Location="Location 2"FilePath="\\alfkidc-2\DataCenter2\AutoInstall\" />

The DataCenters section is used to support environments that are spread across multiple data centers. Because the SPADE process will copy over the installation files for the version of SQL Server that is specified, sometimes 6GB or more, this node was created to allow the user to specify a separate file location that is local to each data center. Only one entry is required and must point to the folder location that will house the SPADE files.

SqlVersions Section

  <ConfigurationTemplateName="Configuration_2008.ini"Category="SQLSERVER2008" />
    <ProductStringName="Minimal"Value="SQLENGINE,CONN,BC,SSMS,ADV_SSMS" />
    <ProductStringName="Full"Value="" />
    <EditionName="Standard"Key=""FolderName="SQL2008\Standard" />
    <EditionName="Enterprise"Key=""FolderName="SQL2008\Enterprise" />
    <SettingName="SQLSYSADMINACCOUNTS"Value='"alfki\SQL_DBA" "alfki\SQL_Ops"' />
    <SettingName="INSTALLSQLDATADIR"Value="C:\SystemDbs" />
    <SettingName="SQLBACKUPDIR"Value="C:\Backups" />
    <SettingName="SQLUSERDBDIR"Value="C:\Data" />
    <SettingName="SQLUSERDBLOGDIR"Value="C:\Logs" />

The SqlVersions section is the heart of the configuration file and allows you to specify each version/edition of SQL Server that you choose to support and what its standard configuration looks like. Each Version element contains the following information:

1) Version Name – the name of the SQL Server version

2) ConfigurationTemplate – the template used to create the unattended install file - these files are required for the SPADE process and should not be modified

3) ProductStrings – a named list of product strings that are used to define the standard features of each install - this list can be modified and added to, but should always have a default string defined

4) Editions – a list of the different editions of SQL Server that you want SPADE to be able to install – each entry defines the edition name, the license key, and the sub folder that will contain files from the installation media

NOTE: SQL 2005 keys should be entered without dashes (-) and SQL 2008 and above should be entered with dashes

5) TemplateOverries – this list defines unattended install options that are used to apply your organizations configurations for a standard SQL Server setup

NOTE: for a full list of the possible settings, please review the Books Online documentation for installing SQL Server from the command line -

5) Run the SQL SPADE Helper application to build the SQL Server installation folders - Launch the SqlSpadeHelper.exe application located in the Tools folder where you unzipped SPADE

Click on the “SPADE Folder Builder” button



Click on the “…” button and browse to the Run-Install.config file


Select the Data Center that you want to build the folder structure for and then click the Check button




For each entry that is missing or empty, select the row and select the operation to perform

1) None – take no action

2) Create Folder – create the folder, but leave it empty

3) Populate Folder – create and populate the folder from the media source


Click on the Build Folders button


7) Review the scripts in the PreScripts and PostScripts folders to ensure that they meet your needs.  Any script that you choose to not use can either be deleted or excluded from the Auto-Install process by putting an “_” at the beginning of the file name.

Last edited Apr 21, 2014 at 2:12 AM by sarasotasql, version 5


No comments yet.