bright, fresh software

Build Updates from Commandline

In addition to the easy to use drag-and-drop interface, wyBuild offers a commandline interface for more advanced users. With this commandline interface you can build your updates and add new versions using an XML file.

These are the available commandline switches:

Commandline switch Description
bu Build the updates & server files for your project.
vs The start version - the version of your product that you're building from. If this switch is not present then the update is built from the oldest available version.
ve The end version - the version of your product that you're building to. If this switch is not present then the update is built to the newest available version.
add Add additional versions to your product using the XML specification below.

Examples

Building updates

Building updates from commandline is simple a matter of supplying the version ranges of the update you want to build:

wybuild.exe "C:\YourProject.wyp" /bu -vs="1.0" -ve="1.1"

Adding new versions

You can add new versions to your wyBuild project by using the following commandline:

wybuild.exe "C:\YourProject.wyp" /bu -vs="1.0" -ve="1.2" -add="newversions.xml"

New Versions XML Format

The format of the XML file required to add new versions by commandline is rather simple. Below is an example:

<?xml version="1.0" encoding="utf-8"?>
<Versions>
    <AddVersion>
        <Version>1.2</Version>
        <Changes>Some very very cool stuff</Changes>
        <InheritPrevRegistry />
        <Files dir="basedir">
            <File source="C:\YourProduct\1.2\YourProduct.exe" />
            <File source="C:\YourProduct\1.2\Awesome.dll">NewName.dll</File>

            <Files dir="Sub folder">
                <File source="C:\YourProduct\1.2\Sub folder\File.dat" />
            </Files>
        </Files>

        <Files dir="sys32\YourProduct">
            <File source="C:\YourProduct\1.2\AnotherFile.dll" />
        </Files>
    </AddVersion>
</Versions>

Available destination directories

The Files blocks (<Files dir="basedir"> ... </Files>) have a dir attribute which corresponds to destination directory:

Directory Abbreviation Destination
basedir The directory where your program is installed (e.g. C:\Program Files\YourProgram)
commdesktop The common desktop.
commstartmenu The common start menu.
commappdata The common application data directory.
currappdata The current user's application data directory (e.g. C:\Users\User Name\AppData)
sys32 The system32 directory for 32-bit (e.g. C:\Windows\System32 on 32-bit Windows, C:\Windows\SysWOW64 on 64-bit Windows)
sys32x64 The system32 directory for 64-bit (e.g. C:\Windows\System32 on 64-bit Windows, the update will fail to install on 32-bit Windows)
root The root Windows drive (e.g. C:\)
temp The temporary directory.