Windows Installer
 
Unrestricted access to Windows Installer functionality!
 
Open Source
 
Open source!
 

<xml/>

 
Plain XML based source scripts!
 
Free
 
Free, no strings attached!
 
Build Automation
 
Command-line interface for automated application build process!
 
Community
 
Thriving community support!
Why WiX?
ICE18

What does ICE18 check?

ICE18 checks if the installation package specifies an empty directory as the key path of a component that is not 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.

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.

When does ICE18 show up?

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.

How can I fix ICE18?

Empty directory used as a key path for a component in the installation package must be specified in the CreateFolder table.