Description of the problem: Last week, I was with my customer performing multiple unattended installations of SQL Server 2008: Setup.exe /q /configurationfile=c:\myconfiguationfile.ini
In myconfiguationfile.ini, the switch INSTANCEDIR is set to "E:\" like INSTANCEDIR="E:\"
But the setup was fail with the message: "Illegal characters in path" like below in details.txt:
Slp: Exception type: Microsoft.SqlServer.Chainer.Infrastructure.InputSettingValidationException
Slp: The path E:MSSQL10.X\MSSQL\DATA is malformed or not absolute.
We can see the after E: there is a missing \
Cause: SQL Server 2008 setup seems to not interpret INSTANCEDIR correctly. It will treat "\"" as an escape character of quotation mark which is wrong.
Workaround: Use "E:\\" instead of "E:\" if you want to install SQL to root folder.
Dedication to Paulo A., he found out another workaround. He removes the double quote like INSTANCEDIR=E:\ instead of INSTANCEDIR="E:\"
Update : Since the documentation was been updated
How to: Install SQL Server 2008 R2 from the Command Prompt :
"Note the use of escaping characters:
/INSTANCEDIR=c:\PathName is supported.
/INSTANCEDIR=c:\PathName\ is supported
/INSTANCEDIR="c:\PathName\\" is supported.
/INSTANCEDIR="c:\PathName\" is not supported."
Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |