InstallSite Documentation for InstallShield 6

Store Values in the Uninstall Log File

These samples use undocumented features of InstallShield 6

1. Store values:

string ar(3);

ar(0) = "one";
ar(1) = "two";
ar(2) = "three";

LogDB.Property("MyString") = "string value";
LogDB.Property("MyNumber") = 1243;
LogDB.Property("MyArray") = ar;

2. Get values

str = LogDB.Property("MyString")
MessageBox(LogDB.Property("MyArray")(2), 0);
// etc.

3. For per-component values you can use following instead of LogDB:

export prototype NewComponent1_Installing();
function NewComponent1_Installing()
    number n;
    string strDate;
    object objLog;
begin
    set objLog = LOG;

    GetSystemInfo(DATE, n, strDate);

    objLog.Property("InstallationDate") = strDate;
end;

export prototype NewComponent1_UnInstalling();
function NewComponent1_UnInstalling()
    object objLog;
begin
    set objLog = LOG;

    MessageBox("Uninstalling component installed on " +
    objLog.Property("InstallationDate"), 0);
end;

The values are per-component, meaning that you can use the same value name for multiply components. This code should be used ONLY from component events.

4. With both above methods you can view stored values in LogViewer

With global values (LogDB) click on root node of the tree in LogViewer. With per-componet values click on component node in the viewer.