The following may help packagers that are upgrading to SDK 3.1.
We have been using Orca and MSIval 2.0.26. Even though for us Windows
Installer SDK is very robust (we did not encounter any problem with
our setups on XP and VISTA), we decided to update our Windows
Installer SDK to 3.1 version (see Chat Summary - The Future of MSI in
this Forum)
I always run a set of preliminary research tests before doing such
dramatic change in our automation and one of my first tests was to
export a table at a time from one of our MSIs to the UISample.Msi
delivered with SDK 3.1.4. Then I run validation before importing the
next tables (I tested File, Media, Components, Feature,
FeatureComponents, Directory, CreateFolder, CustomAction, Registry,
Signature, Shortcut, RemoveFile, LockPermissions, LaunchCondition,
Binary, AppSearch, and so on…)
If you import the media table from a MSI built with SDK 2.0.26 and
import it in the UISample.Msi delivered with SDK 3.1.4 it will
validate. But if you import the Custom Action Table from a MSI built
with SDK 2.0.26 and import it in the UISample.Msi delivered with SDK
3.1.4 it will import fine but it will not validate and give the error:
MERGE ERROR Fatal schema conflict between CUB file and database.
Unable to perform evaluation.
I noticed that the headers of these 2 tables have changed:
1) The Custom Action Table of SDK 2.0.26:
Action Type Source Target
s72 i2 s64 S255
CustomAction Action
The CustomAction Table of SDK 3.1.4:
Action Type Source Target
s72 i2 S72 S255
CustomAction Action
Note the S72 vs. the s64 for the Source column.
2) The Media Table of SDK 2.0.26:
DiskId LastSequence DiskPrompt Cabinet VolumeLabel Source
i2 i2 L64 S255 S32 S32
Media DiskId
The Media Table of SDK 3.1.4:
DiskId LastSequence DiskPrompt Cabinet VolumeLabel Source
i2 i2 L64 S255 S32 S72
Media DiskId
Note the S72 vs. the s S32 for the Source column.
Doing the import of the tables by stages allowed me to get the
validation error before going too far into it.
I changed the header of my Custom Action table and of the Media table
to fit the SDK 3.1 specifications.
The MSI validates and installs fine.
I am still looking at the other tables but until now I did not find
more differences.
I hope this will help some of us!
Dominique G. Schneider
Huntsville Alabama
Please don't send me direct emails, use the newsroom or go to
http://contactez.net/portfolio.html