This describes the (automated) installation of the 64 bit version of SQL Server 2008 R2 Express, for use as a DB for MediaPortal's TV Server.
2008 R2 is the last member of the MS SQL Server family to use version 3.5 of the .NET Framework, which is included in Windows 7.
The methodology described here enables its automated, offline installation from an elevated command prompt.
The basic principles of this methodology are:
- Download the desired version of SQL Express.
- Prepare the files for installation.
- Prepare a configuration file,
- Launch the installation.
To use this methodology, you must be logged in with an account having administrative privileges.
Download the desired version of SQL Express.
Download "SQLEXPRWT_x64_ENU.exe" from this Microsoft site. If you have only a 32-bit operating system, "SQLEXPRWT_x86_ENU.exe" should also work, but has not been tested. Some changes in the configuration file below may be required. The version containing "WT" (which means "with tools") in the name is recommended to enable the simultaneous installation of MS SQL Server Management Studio.
Prepare the files for installation.
- Open a command line window in the directory where you saved the file downloaded in the step above. In Windows 7, you can do this by holding down the SHIFT key, right-clicking the directory name in Explorer and choosing "Open command window here" from the resulting pop-up menu.
- Type in the name of the file you downloaded (it may be enough to type "SQL" followed by a TAB), and add the argument "/x".
The result should look like this:
- When you press "Enter" you will be prompted for a place to store the files. Click the "Browse" button, select an appropriate directory and click "OK".
- Copy the text under "Configuration file (MPSQL.ini)" below, open Notepad and paste the text into the open window.
- Save the file as "MPSQL.ini" in the directory you chose in step 3 above.
Launch the installation.
- In Notepad, select "New" from the "File" menu.
- Copy the text under "Setup command file (setup.cmd)" below and paste it into the empty window.
- Save the file as "setup.cmd" in the directory you chose in step 3 above.
- Use Explorer (or your favorite file manager) to navigate to the directory used in steps 3, 5 and 8.
- Right-click on the newly created file "setup.cmd" and select "Run as administrator" from the resulting pop-up menu.
- The database will now be created with an administrative (sa) password of "MediaPortal" (or whatever you substitute for it in MPSQL.ini). This is the password you will need when installing TV Server.
This method evades the restrictions on passwords generally enforced by SQL Server. These restrictions would normall prevent use of a weak password, such as "MediaPortal". This is unlikely to be problematic as long as the database is only accessible within your local (home) network. If you plan to allow access from outside, please follow the recommendations for installation using a strong password in the command line as shown in the earlier wiki article, "SQL Server 2008".
Configuration file (MPSQL.ini)
;SQLSERVER2008 Configuration File
; Required: specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE.
; Startup type for Browser Service.
; Manual - Service startup is manual mode (default).
; Automatic - Service startup is automatic mode.
; Disabled - Service is disabled
; Install in English, regardless of system localization
; 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.
; Specifies features to install, uninstall, or upgrade.
; The list of top-level features include SQL, AS, RS, IS, and Tools.
; The SQL feature will install the database engine, replication, and full-text.
; The Tools feature will install Management Tools, Books online, Business
; Intelligence Development Studio, and other shared components.
; This example installs just the DB engine and the Management Studio
; Displays the command line parameters usage
; Required: Accept SQL Server license terms
; Specifies that the detailed Setup log should be piped to the console.
; 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 the installation directory.
INSTANCEDIR="C:\Program Files\Microsoft SQL Server"
; Required: 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).
; Specify 0 to disable or 1 to enable the Named Pipes protocol.
; Setup will not display any user interface.
; Setup will display progress only without any user interaction.
; Set SA password (required for SECURITYMODE=SQL).
; Complexity requirements not tested for configuration file. Interactive
; installation rejects passwords without special characters, even if they meet
; the other 3 criteria (digits, lower- and upper-case letters).
; Enable mixed-mode authentication (default is Windows only)
; Specifies a Windows collation or an SQL collation to use for the Database Engine.
; Account for SQL Server service: Domain\User or system account.
; Windows account(s) to provision as SQL Server system administrators.
; Specify whether 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.
; Specify 0 to disable or 1 to enable the TCP/IP protocol.
; Parameter that controls the user interface behavior.
; Incompatible with QUIET & QUIETSIMPLE
; Valid values are Normal for the full UI, and AutoAdvance for a implied UI.
; If true, specifies that Setup should install into WOW64.
; This command line argument is not supported on an IA64 or a 32-bit system.
Setup command file (setup.cmd)