How to get finebuild to recognize SQLFineServer.bat /drv... settings

Feb 24, 2012 at 7:39 PM

I am trying to use the finebuild Server install option I have configured the sqlfineServer.bat as below but it continues to install everything to the C: drive what am I doing wrong:

REM Copyright © 2008, 2011 Edward Vassie.  Distributed under Ms-Pl License

CALL "SqlFineBuild.bat" %*     /Type:Full         /DEBUG:YES           /IAcceptLicenseTerms  ^

 /DrvProg:E           ^
 /DrvBackup:I  /DrvData:F /DrvDataFT:F /DrvLog:G  /DrvTemp:T    /DrvDBA:H     ^

Feb 25, 2012 at 7:27 AM
Edited Feb 25, 2012 at 7:30 AM


FineBuild was written before Powershell got installed everywhere, and still needs to comply with MS-Dos command line restrictions.

The ^ character is the MS-Dos command continuation character, and must be the last character in each line.  If it is followed by even a single space character it will not be treated as a command continuation character and the following lines will be treated as separate commands.

If a line ends with a ^ and the following line is blank, then the command is treated as complete.  In your example there is a blank line between the /SAPWD: and /DrvProg: parameters, which will mean that the /DrvProg: parameter will not be added to the FineBuild command line.  Also, the last line of the command should not include the ^ character.

If a parameter contains spaces it must be delimited within double-quote characters ". (Do not use two single-quote characters.)  If you have an opening quote you must also have a closing quote, otherwise the Dos command interpreter will treat everything else as part of the parameter value.  In your example you have an opening quote for /SAPWD: but no closing quote.

There are some other restrictions that are on page 17 of the Reference Manual.  Eventually this information will be moved to the Wiki but for now please see the Reference Manual.

Once you get past this, it is useful to know that FineBuild exploits VBScript Named Arguments.  A Named Argument always starts with a / and ends with a : and the value of the argument must start immediately after the : character. 

A Named Argument is not case sensitive, but the value given with the named argument is case-sensitive.  For example, /SAPWD:MySAPassword /sapwd:MySAPassword /SaPwd:MySAPassword are all equivalent, but /SAPWD:MySAPassword and /SAPWD:mysapassword are NOT equivalent.

If you supply the same Named Argument more than once, FineBuild will only see the first value that you supplied.  For Example, if you supply /DrvProg:E /DrvProg:H, then FineBuild will only see the value E for /DrvProg:.

The syntax %* near the beginning of the command file allows additional parameters to be given at run time.  For example if you have a command file SQLFineServer that includes a parameter /DrvProg:E, you can type SQLFineServer /DrvProg:W to override the value given in the command file so that FineBuild uses the value /DrvProg:W

Feb 27, 2012 at 3:59 PM

ah-ha, The line/character spacing was throwing it off thanks so much.  will try again today.