I believe you must specify the full path to the file, e.g. C:\Temp\Configuration.ini
- otherwise SQL Server setup tries to find it in the extraction folder for the setup, which is typically C:\some_big_long_gui\
.
You also have some configuration options (such as IAcceptSQLServerLicenseTerms
) which are not valid for the edition you're using (that one specifically was added in SQL Server 2008 R2). I was able to install SQL Server 2008 Express successfully using the following configuration file (I removed unnecessary SSAS / SSRS / SSIS options for Express, all the verbose comments, and the invalid entries):
[SQLServer2008]
INSTANCEID="SQLEXPRESS"
ACTION="Install"
FEATURES=SQLENGINE
HELP="False"
INDICATEPROGRESS="False"
X86="False"
ERRORREPORTING="False"
SQMREPORTING="False"
INSTANCENAME="SQLEXPRESS"
SQLSVCSTARTUPTYPE="Automatic"
ENABLERANU="True"
SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"
SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS"
SECURITYMODE="SQL"
ADDCURRENTUSERASSQLADMIN="True"
SAPWD="mds134"
TCPENABLED="0"
NPENABLED="0"
BROWSERSVCSTARTUPTYPE="Disabled"
And the following command line:
SQLEXPR_x86_ENU.exe /QS /ConfigurationFile="C:\Temp\Configuration.ini"
You will have to instruct your users to specify the path for this. You can make this an argument to your bootstrapper, but I don't know of a way to have setup find your configuration file without specifying an explicit path for it. If you tell your users to copy both the exe and the ini file to the same folder, I'm sure your wrapper could figure out the command line necessary. Otherwise your users will have to lend a hand in determining the path.
Another option would be to just use a massive command line instead of using a configuration file at all. This seems to be two less steps in the setup process anyway (ensuring that the ini file has been copied and determining where it is). Unless the purpose is to allow users to change some arguments using the config file. I think those should perhaps be in a config file you deploy with the wrapper instead of the config file for Express.
If you're building a new application to deploy SQL Server, why aren't you using SQL Server 2012? I'm not sure it overcomes the configuration file issue (this page seems to imply it isn't required, but I was not successful with 2008 or with 2012), but at least you'll be using a much more recent version, with more features and a longer support sunset, more predictable command-line arguments (I did not expect them to change between 2008 and 2008 R2), and less chance that a database will be too modern for the version of the engine installed.
Following up on my comment, you have to select ENU\x64\SQLEXPRADV_x64_ENU.exe
for installation.
Download link.
Then run the installation package and follow instruction until you get feature selection page.
Follow rest of the steps and complete the installation.
Now Verify the RS installation :
Note: You must be logged in as a member of the local administrators group on the computer where SQL Server 2012 Express is installed.
Navigate to Start -> All Programs -> Microsoft SQL Server 2012 -> Configuration Tools -> Reporting Services Configuration Manager.
In the RS Configuration Connection dialog, make sure that your local report server instance (for example SQLExpess) is selected and click Connect.
In the RS Configuration Manager left pane, select Web Service
URL.
Make sure that the Virtual Directory parameter is set to ‘ReportServer_’ (‘ReportServer_SQLEXPRESS’ for the SQLEXPRESS instance), and that the TCP Port is set to 80. Click Apply.
In the Reporting Services Configuration Manager left pane, select Database.
On this page, ensure that the SQL Server Name and Database Name fields contain correct values. If not, click the Change Database button and complete the Report Server Database Configuration wizard.
In the Reporting Services Configuration Manager left pane, select Report Manager URL.
On this page, ensure that the Virtual Directory parameter is set correctly, and that the URL is valid.
Click Exit to close the RS Configuration Manager.
Best Answer
According to the documentation, SQL Server Configuration Manager requires Local Administrator permissions since various SQL Server Configuration items are stored in the local system registry.
From the "SQL Server Properties (Startup Parameters Tab)" in the SQL Server Configuration Manager Help:
You can confirm membership in the local Administrators via one of the following methods:
Start a command-prompt on the machine where SQL Server is installed, and run this:
Assuming the machine is a member of your Active Directory Domain, you can run the "Active Directory Users and Computers" Microsoft Management Console, either from the Domain Controller for your domain, or from your workstation if you install the tool by downloading the Microsoft Remote Server Administration Tools. Once you have "Active Directory Users and Computers" running, you need to find your user account, then check the "Member of" tab to see if you are a "Domain Administrator" or "Enterprise Administrator".
On the server where SQL Server is installed, you can check the "User Accounts" from "Control Panel".