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 3.3.2435 onwards:
    TCHAR szAltProductCodes[1024];
} 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 3.3.2435 onwards: }
    szAltProductCodes: array[0..1023] of TCHAR;
end;

Data members

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 version 3.3.2435 onwards.