ICE18

Windows Installer

ICE18

ICE18 validates that any empty directories used as a key path for a component are listed in the CreateFolder table.

If the KeyPath column of the Component table is Null, this means that directory listed in the Directory_ column is the key path for that component. Because folders created by the installer are deleted when they become empty, this folder must be listed in the CreateFolder table to prevent the installer from attempting to install every time.

Do not make the SystemFolder directory the key path of a component. Because this folder is present on every operating system, the installer always detects the key path whether or not the component is present. In this case, the key path should be a file, registry entry, or ODBC data source.

When performing a validation ICE18 first checks whether the following are all true:

  • The KeyPath column of the Component table contains a Null value.
  • That there are no files listed for the component in the File table.
  • That there are no files for the component listed in the RemoveFile table and that the value in the DirProperty is the same as the Directory_ column of the Component table.
  • That there are no files for the component listed in the DuplicateFile table and that the value in the DestFolder is the same as the Directory_ column of the Component table.
  • That there are no files for the component listed in the MoveFile table and that the value in the DestFolder is the same as the Directory_ column of the Component table.

If these are all true then ICE18 validates the following:

  • That the Component_ column of the CreateFolder table has the same value as the Component column of the Component table.
  • That the Directory_ column of the CreateFolder table has the same value as the Directory_ column of the Component table.

Result

ICE18 posts an error message if the installation package specifies a directory as the key path for component that is not listed in the CreateFolder table.

See Also

ICE Reference

Send comments about this topic to Microsoft

Build date: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.