This post is directed towards newcomers to InstallShield.
I see this a lot. A client contacts me about doing some InstallShield development and they say there is no one on their staff who is an expert in InstallShield. But there have been several people (on staff) who have been maintaining the current InstallShield installer. They go on to say that they really don't know what they're doing and they need to hire someone to come in and clean it up. Generally, when I look at their installer, I find a common problem. People do not understand the difference between Features and Components. So, I'm going to give some definitions and examples.
A Feature is the smallest installable part of an application from the End-User's perspective. Features are visible to the End-User during the User Interface portion of the installation. For example, let's say I have an installation program that installs a suite of applications. Features are listed in the Features view of the InstallShield IDE.
Here are the features (in bold):
Application 1
Application 2
Application 3
Administrator
So, when an End-User runs the installation program and chooses a Custom installation, he is presented with the above choices of Features in the Custom Setup dialog box. He can select or deselect any of these features and choose to install/not install them.
A Component is the smallest installable part of an application from the Installation Developer's perspective. As a result, End-User's are not aware of Components, because they do not show up in the User Interface portion of an installation, meaning they don't show up in the Custom Setup dialog box. In addition, Components are associated with Features. As a result, they can not be installed by themselves. Components are listed in the Components view of the IDE.
Here are the components (in regular-weight text):
Dictionary 1
Dictionary 2
Help 1
Help 2
Help 3
Database Engine
Query Analyzer
Word Processor
Programmer Editor
Installation Developer
File Manager
Now, if we look in the Setup Design view of the IDE, we will see the organization of Features and Components, which Components belong to which Features. This is shown below. Again, Features are in bold and Components are in regular-weight text.
Application 1
Word Processor
Dictionary 1
Dictionary 2
Help 1Application 2
Programmer Editor
Help 2Application 3
Installation Developer
Help 3Administrator
Database Engine
Query Analyzer
File Manager
That was a basic explanation of the difference between Features and Components. In Features and Components 201, we will go further into this subject.