ICE07 validates that installation package specifies that fonts be installed into the FontsFolder. If a font is installed to a folder other than the FontsFolder the installer creates a shortcut rather than actually installing the font.
The ICE07 custom action does the following for each font in the Font table.
- Finds the font file to which each font title belongs using the Font table.
- Queries the Component_ column of the File table for the component that controls each file.
- Queries the Directory_ column of the Component table to obtain a key into the Directory table.
- Resolves the Directory table to determine the name of the folder into which the installer is to install the font file
- Posts an error if the font file is being installed into a folder other than the FontsFolder.
ICE07 posts an error if it finds that the database specifies that a font file be installed into a folder other than the FontsFolder.
IC07 would post the following error message for the example shown.
'Tahoma' is a font and must be installed to the FontsFolder directory. Current Install Directory: 'Sandbar'.
File Table (partial)
Component Table (partial)
In this example, the font Tahoma maps to the font file Myrtle. The file Myrtle belongs to the component Myrtle_Beach. Resolution of the Directory table shows that all the files belonging to Myrtle_Beach are to be installed in the Sandbar folder. Because this is not the FontsFolder, ICE07 posts an error message.
Note that if the component Myrtle_Beach really belongs in the Sandbar folder, and not the FontsFolder, then the font Tahoma may not belong in Myrtle_Beach. A possible fix for the error would be to include Tahoma in another component that does get installed in the FontsFolder directory.