Description du problème : La semaine dernière, j'étais avec mon client effectuant plusieurs installations sans assistance de SQL Server 2008 :  Setup.exe /q /configurationfile=c:\myconfiguationfile.ini

Dans le fichier myconfiguationfile.ini, le paramètre INSTANCEDIR positionné avec la valeur "E:\"

Mais le programme d'installation a échoué avec le message: « Caractères illégaux dans le chemin d'accès » comme ci-dessous dans 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.

Nous pouvons voir qu'après E: il manque le \


Cause :
Le programme d'installation de SQL Server 2008 semble ne pas interprèter INSTANCEDIR correctement. Il considère "\"" comme un caractère d'échappement de guillemets, ce qui est mauvais.


Solution de contournement :
Utilisez  "E:\\" au lieu de "E:\" si vous voulez installer SQL dans le dossier racine.

Dédicace à  Paulo. A, qui a découvert une autre solution de contournement. Il suffit de supprimer les guillemets, comme INSTANCEDIR=E:\ au lieu de INSTANCEDIR="E:\"

 

Update : Depuis, la documentation a été mise à jours

Procédure : installer SQL Server 2008 R2 à partir de l'invite de commandes :

"Notez l'utilisation des caractères d'échappement :
/INSTANCEDIR=c:\PathName est pris en charge.
/INSTANCEDIR=c:\PathName\ est pris en charge.
/INSTANCEDIR="c:\PathName\\" est pris en charge.
/INSTANCEDIR="c:\PathName\" n'est pas pris en charge."

 

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |