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:     Message:
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 |