The installation created from Tutorial 1 gives you a functioning installation database created from a set of templates. There are three templates that are used to create the installation database: a database schema, a collection of install sequences, and a user interface.
The database schema contains database tables definitions for all the Windows Installer database tables.
The install sequences define the sequence of actions taken to install a product onto the target machine. The sequence template contains database tables for the various sequences (InstallExecuteSequence, InstallUISequence, etc.) that are populated with the recommended default sequences from the SDK documentation.
The user interface template contains a collection of dialogs to guide the user through the installation process. This database is populated with the suggested sequence of dialogs in the SDK documentation.
Because these templates are very general, you will usually want to refine the basic installation by editing the database with Orca.
In the case of 'zoom', you might want to remove the user registration dialog and the license dialog. To remove a dialog with Orca, follow these steps.
Open the database with Orca and select the Dialog table.
33K PNG, 178K JPEG |
In the database rows pane, click the Dialog column to sort the dialog rows by the name of the dialog.
33K PNG, 178K JPEG |
Select the rows for the dialogs you wish to delete. Select Edit / Cut Row(s), Tables / Drop Row(s), or press the Delete key to remove the rows from the table.
33K PNG, 183K JPEG |
Now we remove the controls that were associated with those dialogs. Display the Control table and sort the rows by the Dialog column. Select the rows corresponding to the controls on the deleted dialogs and remove them.
41K PNG, 214K JPEG |
Display the ControlCondition table and sort the rows by the Dialog column. Select any rows corresponding to the deleted dialogs and remove them.
Display the ControlEvent table and sort the rows by the Dialog column. Select any rows corresponding to the deleted dialogs and remove them.
Now the dialogs and their controls have been cut out of the middle of the dialog sequence. However, the dialogs before and after the removed dialogs still refer to the deleted dialogs with their Next and Back buttons.
To find these dangling references, select Tools / Validate... from the menu. The validation dialog box appears. Select Full MSI Validation Suite for the Evaluation File and click Go. This will validate the contents of the tables in the database.
Any informational, warning or error messages generated by the internal consistency evaluators will be displayed in the validation dialog box. Click 'Close' to close the validation dialog box, and Orca will then display the validation errors in a pane at the bottom.
35K PNG, 188K JPEG |
Correct the errors in the dialog sequence. The original
sequence was as follows: WelcomeDlg
,
LicenseAgreementDlg
, UserRegistrationDlg
,
SetupTypeDlg
. With the LicenseAgreementDlg
and UserRegistrationDlg
removed, the sequence becomes:
WelcomeDlg
, SetupTypeDlg
.
In the ControlEvent table, modify the row for the
Next
control on the WelcomeDlg
. Change the
Argument column to the value
SetupTypeDlg
.
Similarly, modify the row for the Back
control on the
SetupTypeDlg
. Change the Argument
column to the value WelcomeDlg
. There are two rows for
the Back
control on the SetupTypeDlg
with
different values for the Condition column. Delete
one of the rows. On the remaining row, change the value of the
Argument column to WelcomeDlg
and NULL
out the Condition column.
34K PNG, 183K JPEG |
Revalidate the database to ensure that the sequence errors are corrected and that no other errors have been made during editing.
31K PNG, 172K JPEG |
Save the modified database.
You can follow the same steps in this tutorial to modify the template database izfree uses to create your new package. So that you can keep the original database templates distributed with izfree, make a copy of the templates directory before editing the templates. Then tell izfree to use the new template location the next time you use the New Package tool.