TWUPackageData

The TWUPackageData structure defines the package information that is maintained for a package during a Tarma WebUpdate session. Most of the information is initialized from the package information file, but some fields are updated locally during the session.

typedef struct _TWUPackageData
{
    UINT uStructSize;
    DWORD dwInternalUse;
    DWORD dwVersionLow;
    DWORD dwVersionHigh;
    LPARAM lUserCookie1;
    LPARAM lUserCookie2;
    TCHAR szPackageName[64];
    TCHAR szProductCode[64];
    TCHAR szDisplayName[256];
    TCHAR szDisplayVersion[64];
    TCHAR szInstallerPath[1024];
    TCHAR szInstallerArgs[1024];
    TCHAR szDependsOn[1024];
    TCHAR szDownloadPath[MAX_PATH];
    // From __TWUVER__ == 3003 onwards:
    TCHAR szAltProductCodes[1024];
    // From __TWUVER__ == 5001 onwards:
    TCHAR szNewsURL[256];
    unsigned __int64 ulDownloadSize;
} TWUPackageData;

Delphi version:

type TWUPackageData = record
begin
    uStructSize: UINT;
    dwInternalUse: DWORD;
    dwVersionLow: DWORD;
    dwVersionHigh: DWORD;
    lUserCookie1: LPARAM;
    lUserCookie2: LPARAM;
    szPackageName: array[0..63] of TCHAR;
    szProductCode: array[0..63] of TCHAR;
    szDisplayName: array[0..255] of TCHAR;
    szDisplayVersion: array[0..63] of TCHAR;
    szInstallerPath: array[0..1023] of TCHAR;
    szInstallerArgs: array[0..1023] of TCHAR;
    szDependsOn: array[0..1023] of TCHAR;
    szDownloadPath: array[0..259] of TCHAR;
    { From __TWUVER__ == 3003 onwards: }
    szAltProductCodes: array[0..1023] of TCHAR;
    { From __TWUVER__ == 5001 onwards: }
    szNewsURL: array[0..255] of TCHAR;
{$IFNDEF UNICODE}
    dwFiller: DWORD;
{$ENDIF}
    ulDownloadSizeLow: DWORD;
    ulDownloadSizeHigh: DWORD;
end;

Data members

Field Description
uStructSize Is set to sizeof(TWUPackageData) when the package information is created and should not be modified.
dwInternalUse Reserved for internal processing purposes. You should never modify this field.
dwVersionLow Low-order DWORD of the package version as specified by the Version key in the package section of the package information file.
dwVersionHigh High-order DWORD of the package version as specified by the Version key in the package section of the package information file.
lUserCookie1 Available for client use, for example to store package-specific state information. This field is initialized to 0 when the package information is created and is never modified by the Tarma WebUpdate DLL.
lUserCookie2 Also available for client use, similar to lUserCookie1.
szPackageName Internal name of the package as specified by the package's section header in the package information file.
szProductCode Installed product's unique code, as used to register the product's uninstallation information as specified by the ProductCode key in the package section of the package information file.
szDisplayName User-visible name of the package as specified by the DisplayName key in the package section of the package information file.
szDisplayVersion User-visible version of the package as specified by the DisplayVersion key in the package section of the package information file.
szInstallerPath Path to the package installer on the server. This field is based on the InstallerPath key in the package section of the package information file, but is made fully qualified based on the package information file's own location on the server.
szInstallerArgs Command line arguments for the package installer as specified by the InstallerArgs key in the package section of the package information file.
szDependsOn List of package dependencies for the package as specified by the DependsOn key in the package section of the package information file.
szDownloadPath Fully qualified path to the (temporary) installer file on the local system. This field is initialized by TWUGetInstallerPackage when it downloads the package installer.
szAltProductCodes Optional list of alternate product codes, separated by commas, as specified by the AltProductCodes key in the package section of the package information file. These product codes are tried, in order, if the primary szProductCode is not present on the target system. This field is only present from __TWUVER__ == 3003 onwards.
szNewsURL Optional URL to a What's New or similar web page that can be used to display release information about the update, as specified by the the NewsURL key in the package section of the package information file. This field is only present from __TWUVER__ == 5001 onwards.
ulDownloadSize

Optional, estimated size of the package installer, in bytes. This field only reflects the value from the DownloadSize key in the package section of the package information file and is only as a good an estimate as that size is. This field is only present from __TWUVER__ == 5001 onwards.

Note: TWU determines the actual download size when the package download starts, but does not update ulDownloadSize.