| 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 |
| |
| 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 |