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