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.
Note that empty directories are not checked by ICE56. The directory structure passes validation with multiple root directories if the extra directories are empty.
ICE56 reports the following errors for the example shown.
Directory 'TARGETDIR' has a bad DefaultDir value. Directory 'Root2' is an invalid root Directory.
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.