PDA

View Full Version : Automating Multiple Builds


Staggan
03-18-2009, 10:31 AM
Hello.

Is there a way to automate the build process?

We have a piece of software we want to patch from version 3.01 to version 3.26

Inbetween there are 20 versions. A single patch to patch all versions to latest is almost 15Mb, so instead I want to patch from each of the older versions to the latest as a single patch.

I can do this by manually doing a build from 3.01 -> 3.26 then 3.02 to 3.26

Can I automate the process and say build ALL versions as single patches up to the latest version?

Thanks

Martyn Hughes

Staggan
03-18-2009, 11:48 AM
I should add that there are so many versions out there because the product has been live for almost 18 months now, and we have a number of older installers being hosted on other websites outside our control. Those sites still bring in quite a few users and so we cannot afford to drop these.

Thanks

jassing
03-18-2009, 06:27 PM
The power of visual patch is that you include ALL your released versions into one patch file. Just include all 20 versions; and you release 1 single exe as a patch to your current version.

Staggan
03-19-2009, 06:23 AM
Hello Jassing.

We do that already, but it means that a patch from an almost new version of the game to the latest can be 15Mb because it includes patches for ALL previous versions. Doing this our way, that same patch could be 1Mb instead.

This has implications in two important areas, speed of download for the end user and bandwidth savings for us.

We can do it with two patches, one for those below version XX and one for those above version XX, and this can reduce our patch size to around 5Mb, but using what I am suggesting here we can reduce that even more.

I can achieve what I want manually, I just thought there may be a way to do this automatically.

Thanks

Martyn

jassing
03-19-2009, 09:56 AM
Unattended Build Options
The following command line options are supported by Visual Patch's design environment for an unattended build process:

Note: The unattended build returns 0 as a process return code if successful, or non-zero if not. You can use this return code to make your batch files respond to the success or failure of the Visual Patch build process.

/BUILD
Tells Visual Patch to build the project file passed in on the cmd line or from a batch file. For example:
"C:\Program Files\Visual Patch 3.0\Visual Patch.exe" /BUILD "C:\TestProj.vp2"

/CONFIG:<<ConfigName>>
Specifies the build configuration to use in the build. If not specified, the first build configuration found in the project is used. For example:

"C:\Program Files\Visual Patch 3.0\Visual Patch.exe" /BUILD "C:\TestProj.vp2" "/CONFIG:DebugConfig"

/LOG:<<log file path>>
Specifies the location of a log file to output the build status to. If the file exists, it will be overwritten. If the file does not exist, it will be created. For example:

"C:\Program Files\Visual Patch 3.0\Visual Patch.exe" /BUILD "C:\TestProj.vp2" "/LOG:C:\output\Log.txt"

If no log file path is specified, it will be created by default in the output directory.

/STDOUT
Makes the build status go to the standard output device (console). For example:

"C:\Program Files\Visual Patch 3.0\Visual Patch.exe" /BUILD "C:\TestProj.vp2" "/STDOUT"

/CONST:<<ini file path>>
Lets you specify an INI file that contains design-time constants to override the ones in the project. You can define as many design-time constants as you want in the INI file, with each constant on a separate line beneath the [Constants] section. Each constant that is defined in the INI file must already be defined in the project file. For example:



[Constants]
#OUTPUTDIR#=C:\Output\Foobar 2002\Release
#PATCHNAME#=foobar2002patch.exe
#BUILD#=release

When you use the /CONST option along with /BUILD, the specified project file is loaded into Visual Patch, the constants described in the specified unattended-build INI file are set, and the patch executable is generated-all without any interaction.



For example:
"C:\Program Files\Visual Patch 3.0\Visual Patch.exe" /BUILD "C:\TestProj.vp2" "/CONST:C:\MyProj\Config.ini"

Staggan
03-25-2009, 10:47 AM
Thanks.

Got it working now, and works just as we needed