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 | 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.
See Also
Send comments about this topic to Microsoft
Build date: 8/13/2009
© 2009 Microsoft Corporation. All rights reserved.