Uisample.msi Modifying Specification 2004/03/10
#CCCCFF | purple | column name
#CCFFCC | green | condition
#FFFFCC | yellow | new value
#FFCCCC | red | description
*: | white | no changing of the original content.
1. add "Directory" Table
Directory | Directory Parent | DefaultDir
TARGETDIR | * | SourceDir
ProgramFilesFolder | TARGETDIR | .:PROGRA~1|program files
INSTALLDIR | TempFolder | .
TempFolder | TARGETDIR | .:Temp
2. add "Component" Table
Component | ComponentId | Directory | Attributes | Condition | KeyPath
AllOtherFiles | {31CCF52F-FCB3-4239-9D82-05CDA204867A} | INSTALLDIR | 8 | * | *
3. add "File" Table
File | Component | FileName | FileSize | Version | Language | Attribute | Sequence
place.txt | AllOtherFiles | place.txt | 18 | * | * | 16384 | 1
4. add "Media" Table
DiskID | LastSequence | DiskPrompt | Cabinet | VolumeLabel | Source
1 | 1 | * | #Data1.cab | * | *
5. add "Feature" Table
Feature | Feature Parent | Title | Description | Display | Level | Directory | Attributes
NewFeature1 |  | NewFeature1 | * | 2 | 1 | INSTALLDIR | 0
6. add "FeatureComponents" Table
Feature | Component
NewFeature1 | AllOtherFiles
7. insert into "Property" Table
Property | Value
Manufacturer | SUN Microsystems
ProductCode | {3D11E9FC-142F-4945-8010-861EAA24850F}
ProductName | Default
ProductVersion | 1.00.0000
UpgradeCode | {20AC1669-B481-4CAD-82AF-2CD00005F304}
JnlpFileName | ok
UninstallInfo | ok
ShortCut | yes
Locale | en
Association | yes
ARPCONTACT | http://www.sun.com/
ARPURLINFOABOUT | http://www.sun.com/
ARPURLUPDATEINFO | http://www.sun.com/
ARPCOMMENTS | Generated by Java MSI Package Generator
CacheType | user
8. modify "Property" Table
Property | Value
ARPHELPLINK | http://www.sun.com/
ComponentDownload | http://www.sun.com/
9. add "CustomAction" Table
Action | Type | Source | Target
CustomInstallAction | 1 | CustomDLL | InstallAction
CustomUninstallAction | 1 | CustomDLL | UninstallAction
10. insert into "InstallExecuteSequence" Table
Action | Condition | Sequence
CustomInstallAction | NOT Installed | 6650
CustomUninstallAction | Installed | 6651
11. insert into "Binary" Table
Name | Data
CustomDLL | the dll we provide (msiactions.dll)
JarPack | anything
12. modify "Control" Table
Dialog | Control | Type | X | Y | Width | Height | Attributes | Property | Text
MaintenanceTypeDlg | ChangeLabel | * | * | * | * | * | 0 | * | *
MaintenanceTypeDlg | ChangeButton | * | * | * | * | * | 5767168 | * | *
MaintenanceTypeDlg | ChangeText | * | * | * | * | * | 0 | * | *
MaintenanceTypeDlg | RepairLabel | * | * | * | * | * | 0 | * | *
MaintenanceTypeDlg | RepairButton | * | * | * | * | * | 5767168 | * | *
MaintenanceTypeDlg | RepairText | * | * | * | * | * | 0 | * | *
MaintenanceTypeDlg | RemoveButton | * | * | 65 | * | * | * | * | *
MaintenanceTypeDlg | RemoveLabel | * | * | 65 | * | * | * | * | *
MaintenanceTypeDlg | RemoveText | * | * | 78 | * | * | * | * | *
MaintenanceTypeDlg | Title | * | * | * | * | * | * | * | [DlgTitleFont]Remove installation
MaintenanceTypeDlg | Description | * | * | * | * | * | 196608 | * | *
VerifyReadyDlg | Description | * | * | * | * | * | * | * | The [Wizard] is ready to begin the installation
VerifyReadyDlg | Text | * | * | * | * | * | * | * | Click Install to begin the installation. Click Cancel to exit the wizard.
MaintenanceWelcomeDlg | Description | * | * | * | * | * | * | * | The [Wizard] will allow you to remove [ProductName] from your computer. Click Next to continue or Cancel to exit the [Wizard].
MaintenanceWelcomeDlg | Next | * | * | * | * | * | * | * | [ButtonText_Remove]
VerifyRemoveDlg | Text | * | * | * | * | * | * | * | Click Remove to remove [ProductName] from your computer. Click Cancel to exit the wizard.
VerifyRemoveDlg | Title | * | * | * | * | * | * | * | {\DlgFontBold8}Remove [ProductName]
WelcomeDlg | Next | * | * | * | * | * | * | * | SunButton
WelcomeDlg | Description | * | * | * | * | * | * | * | WelcomeDescription
13. modify "Dialog" Table
Dialog | HCentering | VCentering | Width | Height | Attributes | Title | Control Fist | Contrl Default
MaintenanceTypeDlg | * | * | * | * | * | * | * | RemoveButton
14. modify "ControlEvent" Table
Dialog | Control | Event | Argument | Condition | Ordering
WelcomeDlg | Next | * | AfterWelcomeDlg | * | *
delete the line starting with "LicenseAgreement/Next/NewDialog/SetupTypeDlg"
LicenseAgreementDlg | Next | NewDialog -> EndDialog | Return | IAgree = "Yes" | *
delete all lines starting with "MaintenanceWelcomeDlg/Next", and add following
MaintenanceWelcomeDlg | Next | [InstallMode] | Remove | 1 | 1
MaintenanceWelcomeDlg | Next | [Progress1] | Removing | 1 | 2
MaintenanceWelcomeDlg | Next | [Progress2] | removes | 1 | 3
MaintenanceWelcomeDlg | Next | SpawnWaitDialog | WaitForCostingDlg | CostingComplete = 1 | 4
MaintenanceWelcomeDlg | Next | Remove | All | 1 | 5
MaintenanceWelcomeDlg | Next | EndDialog | Return | 1 | 6
15. Insert file "place.txt" into msi file
a. create a zero-byte file place.txt and run "makecab place.txt Data1.cab"
b. msidb.exe -d sun.msi -a Data1.cab
16. Modify "Summary Information" table
Author | Sun Microsystems
17. Modify "Binary" table
Name | Data
bannrbmp | the banner bitmap with .idb extension
dlgbmp | the left panel bitmap with .idb extension
18. Import the localized welcome message table