This is the second part of an article, the first part being Features and Components 101.

In the first article, we talked about how Components are associated with Features.  Thus, If a Feature is not installed, the Components that are associated with it will not be installed either.  Now that you understand that, you should know that Features have many other properties that are very useful to the installation developer.  Here are some of them:

  • Display – this property controls the display of the feature.  It can be one of three values:
    • Visible and Collapsed – the feature is displayed in the run-time dialog with its subfeatures collapsed by default.
    • Visible and Expanded – the feature is displayed in the run-time dialog with its subfeatures expanded by default.
    • Not Visible – the feature and subfeatures are not display in the run-time dialog.
  • Advertised – this property controls the advertisement of the features.  It can be one of four values:
    • Allow Advertise – this means the end user has the ability to select the advertisement option for this feature in the CustomSetup dialog.  Advertisement is allowed, but is not the default option in the installation.
    • Favor Advertise – this means that advertising is not allowed for this feature.  End users can not elect to have this feature advertised in the CustomSetup dialog.
    • Disallow Advertise – this means that advertising is not allow for this feature.  End users will not be able to choose to have this feature advertised i nthe CustomSetup dialog.
    • Disable Advertise if Not Supported – Advertisement works only on systems with Internet Explorer 4.01 or later.  If the target system does not meet that criteria, advertising is not allowed.  If the target system can support advertisement, it is allowed.
  • Required – this property controls whether the feature is required to be installed with the application.  It can be one of two values:
    • Yes – the feature is required and must be installed.
    • No – the feature is not required and the user can decide whether or not to install it.
  • Condition – this property allows you to specify one or more conditions for the feature.  If the condition(s) is/are true on the target system, the feature is available to be installed.  You can enter the condition manual or use the Condition Builder.

Components also have many useful properties.  Here are some of them:

  • Condition – like features, you can set conditions for features.
    • True - the component will be installed or advertised.  This is assuming that its feature is selected for installation.
    • False – the component will not be installed.
  • Reevaluate Condition – this specifies whether you want the Windows Installer to reevaluate the component's condition when the product is reinstalled.
    • Yes – condition will be reevaluated if the product is reinstalled.
    • No – condition will not be reevaluated if the product is reinstalled.
  • Never Overwrite – specifies whether you want your installation to avoid overwriting a file if it already exists on the end-user's machine.
    • Yes – the file will never be overwritten if it exists on the user's machine.
    • No – the file on the target system will not be overwritten if the file version on the target system is newer than the version being installed.
  • 64-bit Component – specifies whether this component is 64-bit or not.  If a 64-bit component is included in your installation, the installation can not be run on 32-bit machines.
    • Yes – the component is 64-bit.
    • No – the component is not 64-bit.

 Both Features and Components have many more properties than what we discussed here, but these were some of the more important ones.

 I hope this discussion helps you to clarify your thinking on the differences between Features and Components.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • NewsVine
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • Yahoo! Buzz
  • Twitter
  • Technorati
  • Live
  • LinkedIn
  • MySpace

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Security Code: