Component Details

(Displayed when clicking on an existing component in the Project Organization section of the IQViews or when creating a new component)

Component Name: This is the name of the component and can be edited.
Directory: The directory should be specified as the directory where any files will be installed. You can select or modify this by browsing for a directory in the project.
GUID: This is a unique identifier for the component and is set when a component is created and should not need editing.
Condition: This field contains a conditional statement that can control whether a component is installed. Normally left blank.
Key Path Type: Select the type of key path for the component. The options are:

Key Path: Having selected the key path type select the key path. If you have selected a key path type of File Key Path, then all the files in the component are listed in this field.

TIP ABOUT KEY PATHS

Component Key Paths are one of the most important things to consider when you're packaging an MSI. Whenever an application is run via an advertised entry point (i.e. an advertised shortcut) a check is made of all the components in the feature that the entry point points to.

The check consists of detecting whether the key path for that component is present. If the key path is not present, then it is repaired. Therefore, it is vital that the key paths are correct. All vital files should be in their own components and be key paths (.exe, .dll, .ocx files). If this is done then they will always be present when the application is run, even if deleted accidentally.

It is also important not to have a file or a registry key that might be deleted, either by the user or an application, as a key path. A common error that occurs in MSI packages is that every time an application is run it repairs itself. This can be caused by a component in the package having a key path which is deleted by the application. For example, having an ini file which is deleted when the application is closed down as a key path will cause the package to repair, and replace the missing file, every time it is launched.

A useful tip to ensure that user-specific information is present is to have a 'Current User' component that has a HKEY_CURRENT_USER registry key path. When a new user launches the application a check will be made for the registry key, detect it if not there and then repair the application, ensuring that the new user has all the necessary settings.

Attributes:
Always increment dll count: This should be selected of the key file of the component is a shared dll.
Leave installed on uninstall: Can be selected if the component is permanent and you never wish to remove it.
Check condition on reinstall: When reinstalled the condition on the component is reevaluated.
Never overwrite if key path exists: Can be checked if you never wish to overwrite the component.