ICE56

ICE56 validates that the directory structure of the .msi file has a single root directory, that the root is the TARGETDIR property, and that the SourceDir property value is in the DefaultDir column of the Directory table.

If a .msi file has multiple roots or specifies a root other than TARGETDIR, an administrative installation does not create a correct administrative image.

Note that empty directories are not checked by ICE56. The directory structure passes validation with multiple root directories if the extra directories are empty.

Result

ICE56 posts an error if the .msi does not have a single root, TARGETDIR, or if SourceDir is not specified in the DefaultDir column of the Directory table.

Example

ICE56 reports the following errors for the example shown.

Directory 'TARGETDIR' has a bad DefaultDir value. 
Directory 'Root2' is an invalid root Directory.

Directory Table

Directory Directory_Parent DefaultDir
TARGETDIR Temp
Root2 Root2 SourceDir

 

To fix the first error, the TARGETDIR root should have a DefaultDir value of SourceDir. SOURCEDIR is also accepted. It may be possible to make TARGETDIR the parent of the second root, and use the '.' value in the DefaultDir column. See the Directory table for more information.

To fix the second error, the Directory structure should have only one root called TARGETDIR.

ICE Reference