I have a requirement to install SQL Server 2012 Express on some machines, and SQL Server Enterprise on some others, and I'm attempting to avoid using separate packages to do so.
It's pretty simple to install SQL Server 2012 Express from the full Enterprise media when the installer is run interactively.
However, when I attempt to install Express in quiet mode using a generated configuration INI
file, the installer hits a brick wall.
A digest of the error summary follows:
Overall summary:
Final result: Failed: see details below
Exit code (Decimal): -2068578304
Exit facility code: 1204
Exit error code: 0
Exit message: RANU is supported only for SQL Server Express.
Start time: 2014-07-11 17:27:21
End time: 2014-07-11 17:27:51
Requested action: Install
...
Package properties:
Description: Microsoft SQL Server 2012
ProductName: SQL Server 2012
Type: RTM
Version: 11
Installation location: Z:\UIP-07.30\3rdParty\Microsoft\mssql\ent\x64\setup\
Installation edition: Evaluation
Slipstream: True
SP Level 2
It's clear that the SQL Server installer is trying to install the wrong edition.
It's missing some info that should be in the INI
file, and my best guess is that it's the PID key. With no PID at all, the installer defaults to installing the Eval edition (which causes it to halt because the RANU arg is valid only for Express). The PID drives the Edition that is selected for install.
The root problem (if the above is correct) is that a PID for Express edition must be specified, but this is not available anywhere as far as I can tell.
Am I barking up the right tree?
Does anyone know a valid PID for SQL Server Express?
Is there an alternate technique for using the full SQL media to do a silent/unattended install of Express?
EDIT:
Per request, below is the full SUMMARY.TXT
output.
Overall summary:
Final result: Failed: see details below
Exit code (Decimal): -2068578304
Exit facility code: 1204
Exit error code: 0
Exit message: RANU is supported only for SQL Server Express.
Start time: 2014-07-11 17:22:07
End time: 2014-07-11 17:22:38
Requested action: Install
Setup completed with required actions for features.
Troubleshooting information for those features:
Next step for SQLEngine: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Next step for Replication: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Next step for Conn: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Next step for Adv_SSMS: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Next step for SSMS: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Next step for SNAC: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Next step for SNAC_SDK: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Next step for Writer: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Next step for Browser: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Machine Properties:
Machine name: FOO
Machine processor count: 4
OS version: Windows Server 2008 R2
OS service pack: Service Pack 1
OS region: United States
OS language: English (United States)
OS architecture: x64
Process architecture: 64 Bit
OS clustered: No
Product features discovered:
Product Instance Instance ID Feature Language Edition Version Clustered Configured
Package properties:
Description: Microsoft SQL Server 2012
ProductName: SQL Server 2012
Type: RTM
Version: 11
Installation location: Z:\UIP-07.30\3rdParty\Microsoft\mssql\ent\x64\setup\
Installation edition: Enterprise
Slipstream: True
SP Level 2
Product Update Status:
Success: KB 2958429
Product Updates Selected for Installation:
Title: Service Pack 2
Knowledge Based Article: KB 2958429
Version: 11.2.5058.0
Architecture: x64
Language: 1033
Update Source: Slipstream
User Input Settings:
ACTION: Install
ADDCURRENTUSERASSQLADMIN: false
AGTSVCACCOUNT: NT AUTHORITY\NETWORK SERVICE
AGTSVCPASSWORD: <empty>
AGTSVCSTARTUPTYPE: Disabled
ASBACKUPDIR: Backup
ASCOLLATION: Latin1_General_CI_AS
ASCONFIGDIR: Config
ASDATADIR: Data
ASLOGDIR: Log
ASPROVIDERMSOLAP: 1
ASSERVERMODE: MULTIDIMENSIONAL
ASSVCACCOUNT: <empty>
ASSVCPASSWORD: <empty>
ASSVCSTARTUPTYPE: Automatic
ASSYSADMINACCOUNTS: <empty>
ASTEMPDIR: Temp
BROWSERSVCSTARTUPTYPE: Disabled
CLTCTLRNAME: <empty>
CLTRESULTDIR: <empty>
CLTSTARTUPTYPE: 0
CLTSVCACCOUNT: <empty>
CLTSVCPASSWORD: <empty>
CLTWORKINGDIR: <empty>
COMMFABRICENCRYPTION: 0
COMMFABRICNETWORKLEVEL: 0
COMMFABRICPORT: 0
CONFIGURATIONFILE: c:\foo.ini
CTLRSTARTUPTYPE: 0
CTLRSVCACCOUNT: <empty>
CTLRSVCPASSWORD: <empty>
CTLRUSERS: <empty>
ENABLERANU: true
ENU: true
ERRORREPORTING: false
FEATURES: SQLENGINE, REPLICATION, CONN, SSMS, ADV_SSMS
FILESTREAMLEVEL: 0
FILESTREAMSHARENAME: <empty>
FTSVCACCOUNT: <empty>
FTSVCPASSWORD: <empty>
HELP: false
IACCEPTSQLSERVERLICENSETERMS: false
INDICATEPROGRESS: false
INSTALLSHAREDDIR: C:\Program Files\Microsoft SQL Server
INSTALLSHAREDWOWDIR: C:\Program Files (x86)\Microsoft SQL Server
INSTALLSQLDATADIR: <empty>
INSTANCEDIR: C:\Program Files\Microsoft SQL Server
INSTANCEID: SQLExpress
INSTANCENAME: SQLEXPRESS
ISSVCACCOUNT: NT AUTHORITY\Network Service
ISSVCPASSWORD: <empty>
ISSVCSTARTUPTYPE: Automatic
MATRIXCMBRICKCOMMPORT: 0
MATRIXCMSERVERNAME: <empty>
MATRIXNAME: <empty>
NPENABLED: 0
PID: *****
QUIET: false
QUIETSIMPLE: true
ROLE:
RSINSTALLMODE: DefaultNativeMode
RSSHPINSTALLMODE: DefaultSharePointMode
RSSVCACCOUNT: <empty>
RSSVCPASSWORD: <empty>
RSSVCSTARTUPTYPE: Automatic
SAPWD: <empty>
SECURITYMODE: SQL
SQLBACKUPDIR: <empty>
SQLCOLLATION: SQL_Latin1_General_CP1_CI_AS
SQLSVCACCOUNT: AUTO2\AspectSQL
SQLSVCPASSWORD: <empty>
SQLSVCSTARTUPTYPE: Automatic
SQLSYSADMINACCOUNTS: AUTO2\ins, AUTO2\Administrator, Administrator
SQLTEMPDBDIR: <empty>
SQLTEMPDBLOGDIR: <empty>
SQLUSERDBDIR: <empty>
SQLUSERDBLOGDIR: <empty>
SQMREPORTING: false
TCPENABLED: 0
UIMODE: Normal
UpdateEnabled: true
UpdateSource: Slipstream
X86: false
Configuration file: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20140711_172127\ConfigurationFile.ini
Detailed results:
Feature: Database Engine Services
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Feature: SQL Server Replication
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Feature: Client Tools Connectivity
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Feature: Management Tools - Complete
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Feature: Management Tools - Basic
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Feature: SQL Client Connectivity
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Feature: SQL Client Connectivity SDK
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Feature: SQL Writer
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Feature: SQL Browser
Status: Failed: see logs for details
Reason for failure: Setup was canceled for the feature.
Next Step: SQL Server Setup was canceled before completing the operation. Try the setup process again.
Rules with failures:
Global rules:
Scenario specific rules:
Rules report file: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20140711_172127\SystemConfigurationCheck_Report.htm
Exception summary:
The following is an exception stack listing the exceptions in outermost to innermost order
Inner exceptions are being indented
Exception type: Microsoft.SqlServer.Chainer.Infrastructure.InputSettingValidationException
Message:
RANU is supported only for SQL Server Express.
HResult : 0x84b40000
FacilityCode : 1204 (4b4)
ErrorCode : 0 (0000)
Data:
SQL.Setup.FailureCategory = InputSettingValidationFailure
DisableWatson = true
Stack:
at Microsoft.SqlServer.Chainer.Infrastructure.InputSettingService.LogAllValidationErrorsAndThrowFirstOne(ValidationState vs)
at Microsoft.SqlServer.Configuration.SetupExtension.ValidateFeatureSettingsAction.ExecuteAction(String actionId)
at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(TextWriter statusStream, ISequencedAction actionToRun, ServiceContainer context)
Inner exception type: Microsoft.SqlServer.Configuration.SqlEngine.ValidationException
Message:
RANU is supported only for SQL Server Express.
HResult : 0x851a0014
FacilityCode : 1306 (51a)
ErrorCode : 20 (0014)
And the INI file being passed, which was generated by the SQL 2012 GUI for an Express install run:
;SQL Server 2012 Configuration File
[OPTIONS]
; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.
ACTION="Install"
; Detailed help for command line argument ENU has not been defined yet.
ENU="True"
; Parameter that controls the user interface behavior. Valid values are Normal for the full UI,AutoAdvance for a simplied UI, and EnableUIOnServerCore for bypassing Server Core setup GUI block.
;UIMODE="Normal"
; Setup will not display any user interface.
QUIET="False"
; Setup will display progress only, without any user interaction.
QUIETSIMPLE="True"
; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found.
UpdateEnabled="True"
; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, RS, IS, MDS, and Tools. The SQL feature will install the Database Engine, Replication, Full-Text, and Data Quality Services (DQS) server. The Tools feature will install Management Tools, Books online components, SQL Server Data Tools, and other shared components.
FEATURES=SQLENGINE,REPLICATION,CONN,SSMS,ADV_SSMS
; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services.
UpdateSource="MU"
; Displays the command line parameters usage
HELP="False"
; Specifies that the detailed Setup log should be piped to the console.
INDICATEPROGRESS="False"
; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system.
X86="False"
; Specify the root installation directory for shared components. This directory remains unchanged after shared components are already installed.
INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"
; Specify the root installation directory for the WOW64 shared components. This directory remains unchanged after WOW64 shared components are already installed.
INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"
; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS).
INSTANCENAME="SQLExpress"
; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will incorporate the instance ID of the SQL Server instance.
INSTANCEID="SQLExpress"
; Specify that SQL Server feature usage data can be collected and sent to Microsoft. Specify 1 or True to enable and 0 or False to disable this feature.
SQMREPORTING="False"
; Specify if errors can be reported to Microsoft to improve future SQL Server releases. Specify 1 or True to enable and 0 or False to disable this feature.
ERRORREPORTING="False"
; Specify the installation directory.
INSTANCEDIR="C:\Program Files\Microsoft SQL Server"
; Agent account name
AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
; Auto-start service after installation.
AGTSVCSTARTUPTYPE="Disabled"
; CM brick TCP communication port
COMMFABRICPORT="0"
; How matrix will use private networks
COMMFABRICNETWORKLEVEL="0"
; How inter brick communication will be protected
COMMFABRICENCRYPTION="0"
; TCP port used by the CM brick
MATRIXCMBRICKCOMMPORT="0"
; Startup type for the SQL Server service.
SQLSVCSTARTUPTYPE="Automatic"
; Level to enable FILESTREAM feature at (0, 1, 2 or 3).
FILESTREAMLEVEL="0"
; Set to "1" to enable RANU for SQL Server Express.
ENABLERANU="True"
; Specifies a Windows collation or an SQL collation to use for the Database Engine.
SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"
; Account for SQL Server service: Domain\User or system account.
SQLSVCACCOUNT="AUTO2\AspectSQL"
; Windows account(s) to provision as SQL Server system administrators.
SQLSYSADMINACCOUNTS="AUTO2\ins" "AUTO2\Administrator" "Administrator"
; The default is Windows Authentication. Use "SQL" for Mixed Mode Authentication.
SECURITYMODE="SQL"
; Provision current user as a Database Engine system administrator for SQL Server 2012 Express.
ADDCURRENTUSERASSQLADMIN="False"
; Specify 0 to disable or 1 to enable the TCP/IP protocol.
TCPENABLED="0"
; Specify 0 to disable or 1 to enable the Named Pipes protocol.
NPENABLED="0"
; Startup type for Browser Service.
BROWSERSVCSTARTUPTYPE="Disabled"
Best Answer
You were right about the pid.
Adding /PID="11111-00000-00000-00000-00000" to command line helps.
I had to search through the whole setup directory with RegEx -(.{5}|.{11})- and try everything I found. The right pid was in the file Microsoft.SqlServer.Configuration.SetupExtension.dll at address 000f68f4 (for SQL Server 2014 x64 setup media).