Windows Installer Editor Reference
56
Setting Up
See also:
Component Rules
on page 49
Microsoft Best Practices Component Rule Set
When you use this predefined rule set, components are created using the Microsoft
component creation guidelines.
See Organizing Applications into Components and Changing the Component Code in the
Windows Installer SDK Help.
If an added resource does not meet the conditions in a rule, the next rule is evaluated
for that resource. If the resource does not meet the conditions in any of the rules, the
component is created according to the final rule.
z
Match components in previous versions of the .MSI
If the keypath resource matches a resource in the previous .MSI list, match the
component layout of the previous .MSI and set the component key to match the
previous version.
z
Add all executable files to their own components
If the added resource is a 32-bit executable file (.DLL, .OCX, or .EXE), create a new
component.
z
Add all .TLB files to their own components
If the added resource is a .TLB file, create a new component.
z
Group Matching .HLP and .CNT files together
If resource file names are the same and their file extensions are .HLP or .CNT, add
them to the same component. The .HLP will be the keypath file.
z
Group matching .CHM and .CHI files together
If resource file names are the same and their extensions are .CHM or .CHI, add
them to the same component. The .CHM will be the keypath file.
z
Put registry keys associated with files or components in matching
components
If the added resource is a registry key, and the registry value name or value refers
to a file or component, add the resource to an existing component that contains the
same type of resource.
z
Put Current User registry keys in their own component
If the added resource is a registry key under HKEY_CURRENT_USER, add the
resource to the component matching the conditions and set the component key
base to CurrentUser. The component key base will be incremented for each new
component matching this condition. Example: CurrentUser1, CurrentUser2, and so
on.
z
Put non-Current User registry keys in their own component
If the added resource is a registry key NOT under HKEY_CURRENT_USER, add the
resource to an existing component that contains the same type of resource.
z
Group all non-executable files to their own component
If the added resource is not a 32-bit executable file (.DLL, .OCX, or .EXE), add the
resource to an existing component that contains the same type of resource.
z
Name new non-advertised shortcuts by destination directory
If the added resource is a shortcut, add it to an existing component containing non-
advertised shortcuts in the same destination directory.