A component with a blank Component ID is not installable or manageable via the Windows Installer APIs. ● If the Component table’s component field is left null, justification must be documented. ● There must not be more than one COM server included per component. ● If a component contains a COM server, this must be the KeyPath for the component. ● No two components should share the same KeyPath. ● There must not be more than one file specified per component as a target for the Start menu or a Desktop shortcut. Do not keep more than one critical file on same component as you won’t be able to keep all as key-paths, which is mandatory. In case of multiple critical files, make separate component for each of them. ● Components should not contain multiple EXE’s, DLL’s, OCX’s, CHM’s, or HLP’s. ● ...
This blog describes some of the packaging standards. Also contains methods to silently install different applications or handling their configuration for mass deployements.