<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Installation Developer &#187; The Difference Between Features and Components</title>
	<atom:link href="http://www.installationdeveloper.com/332/the-difference-between-features-and-components/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.installationdeveloper.com</link>
	<description>InstallShield Training - InstallShield Tutorials</description>
	<lastBuildDate>Thu, 26 Jan 2012 22:12:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>The Difference Between Features and Components</title>
		<link>http://www.installationdeveloper.com/332/the-difference-between-features-and-components/</link>
		<comments>http://www.installationdeveloper.com/332/the-difference-between-features-and-components/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 03:44:03 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[installshield class]]></category>
		<category><![CDATA[installshield classes]]></category>
		<category><![CDATA[installshield course]]></category>
		<category><![CDATA[installshield courses]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorials]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=332</guid>
		<description><![CDATA[If you are new to InstallShield, you need to read this post.&#160; Veterans will probably be bored. Let&#39;s say you an installation that has one&#160;feature that is required, and several components.&#160; You want the user to be able to select or deselect components during the installation, because some components are required and some are optional.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>
If you are new to <strong>InstallShield</strong>, you need to read this post.&nbsp; Veterans will probably be bored.
</p>
<p>
Let&#39;s say you an installation that has one&nbsp;<strong>feature</strong> that is required, and several <strong>components</strong>.&nbsp; You want the user to be able to select or deselect components during the installation, because some components are required and some are optional.&nbsp; During the development of your installation, you&nbsp;have found out that it isn&#39;t working.&nbsp; Here is why.
</p>
<p>
<strong>Features</strong> are the smallest installable part of a product from the end-user&#39;s perspective.&nbsp; <strong>Components</strong> are the smallest installable part of a product from the installation developer&#39;s perspective.&nbsp;&nbsp;As such, the end user has no access to the components in your installation, because he doesn&#39;t know about them.&nbsp; He only has access to the features.&nbsp; But since you only have one feature, which is a required feature that is always installed, there is nothing for the him&nbsp;to select or deselect.&nbsp; So, how do you solve your problem?
</p>
<p>
You must isolate the required components&nbsp;in the&nbsp;installation, and put them under the required feature.&nbsp; You are then left with the optional components.&nbsp; You want the user to be able to select or deselect them, but he can&#39;t.&nbsp;&nbsp;He can&#39;t access&nbsp;any components, because he does not know about them.&nbsp; He can only access features, and more importantly he can only select or deselect features.
</p>
<p>
For each optional component, you must create a corresponding feature for it, then assign the component to that feature.&nbsp; You then make each of these features optional.&nbsp;&nbsp;During the installation, the user will be able to select or deselect each optional feature, which will in turn and unbeknownst to him, select or deselect the component(s) that belongs to the feature.
</p>
<p>
That is the proper way to handle optional functionality in an installation.</p>
<!-- Start Sociable --><div class="sociable"><div class="sociable_tagline"><a class='sociable_tagline' target='_blank' href='http://blogplay.com' style='color:#333333;text-decoration:none'>Be Sociable, Share!</a></div><ul class='clearfix'><li><a title="Twitter" class="option1_32" style="background-position:-288px -32px" rel="nofollow" target="_blank" href="http://twitter.com/intent/tweet?text=The%20Difference%20Between%20Features%20and%20Components%20-%20http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F%20(via%20@sociablesite)"></a></li><li><a title="Facebook" class="option1_32" style="background-position:-96px 0px" rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;t=The%20Difference%20Between%20Features%20and%20Components"></a></li><li><a title="email" class="option1_32" style="background-position:-160px 0px" rel="nofollow" target="_blank" href="https://mail.google.com/mail/?view=cm&fs=1&to&su=The%20Difference%20Between%20Features%20and%20Components&body=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&ui=2&tf=1&shva=1"></a></li><li><a class="option1_32" style="cursor:pointer;background-position:-128px 0px" rel="nofollow" title="Add to favorites - doesn't work in Chrome"  onClick="javascript:AddToFavorites();"></a></li><li><a title="StumbleUpon" class="option1_32" style="background-position:-224px -32px" rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&title=The%20Difference%20Between%20Features%20and%20Components"></a></li><li><a title="Delicious" class="option1_32" style="background-position:-32px 0px" rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;title=The%20Difference%20Between%20Features%20and%20Components&amp;notes=%0D%0AIf%20you%20are%20new%20to%20InstallShield%2C%20you%20need%20to%20read%20this%20post.%26nbsp%3B%20Veterans%20will%20probably%20be%20bored.%20%0D%0A%0D%0A%0D%0ALet%26%2339%3Bs%20say%20you%20an%20installation%20that%20has%20one%26nbsp%3Bfeature%20that%20is%20required%2C%20and%20several%20components.%26nbsp%3B%20You%20want%20the%20user%20to%20be%20able%20to%20se"></a></li><li><a title="Google Reader" class="option1_32" style="background-position:-224px 0px" rel="nofollow" target="_blank" href="http://www.google.com/reader/link?url=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;title=The%20Difference%20Between%20Features%20and%20Components&amp;srcURL=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;srcTitle=Installation+Developer+InstallShield+Training+-+InstallShield+Tutorials"></a></li><li><a title="LinkedIn" class="option1_32" style="background-position:-288px 0px" rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;title=The%20Difference%20Between%20Features%20and%20Components&amp;source=Installation+Developer+InstallShield+Training+-+InstallShield+Tutorials&amp;summary=%0D%0AIf%20you%20are%20new%20to%20InstallShield%2C%20you%20need%20to%20read%20this%20post.%26nbsp%3B%20Veterans%20will%20probably%20be%20bored.%20%0D%0A%0D%0A%0D%0ALet%26%2339%3Bs%20say%20you%20an%20installation%20that%20has%20one%26nbsp%3Bfeature%20that%20is%20required%2C%20and%20several%20components.%26nbsp%3B%20You%20want%20the%20user%20to%20be%20able%20to%20se"></a></li><li><a title="BlinkList" class="option1_32" style="background-position:0px 0px" rel="nofollow" target="_blank" href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Url=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;Title=The%20Difference%20Between%20Features%20and%20Components"></a></li><li><a style="cursor:pointer" rel="nofollow" onMouseOut="fixOnMouseOut(document.getElementById('sociable-post-332'), event, 'post-332')" onMouseOver="more(this,'post-332')"><img style='margin-top:9px' src='http://www.installationdeveloper.com/wp-content/plugins/sociable/images/more.png'></a></li></ul><div onMouseout="fixOnMouseOut(this,event,'post-332')" id="sociable-post-332" style="display:none;">   

    <div style="top: auto; left: auto; display: block;" id="sociable">



		<div class="popup">

			<div class="content">

				<ul><li style="heigth:32px;width:32px"><a title="Myspace" class="option1_32" style="background-position:0px -32px" rel="nofollow" target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;t=The%20Difference%20Between%20Features%20and%20Components"></a></li><li style="heigth:32px;width:32px"><a title="Digg" class="option1_32" style="background-position:-64px 0px" rel="nofollow" target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;title=The%20Difference%20Between%20Features%20and%20Components&amp;bodytext=%0D%0AIf%20you%20are%20new%20to%20InstallShield%2C%20you%20need%20to%20read%20this%20post.%26nbsp%3B%20Veterans%20will%20probably%20be%20bored.%20%0D%0A%0D%0A%0D%0ALet%26%2339%3Bs%20say%20you%20an%20installation%20that%20has%20one%26nbsp%3Bfeature%20that%20is%20required%2C%20and%20several%20components.%26nbsp%3B%20You%20want%20the%20user%20to%20be%20able%20to%20se"></a></li><li style="heigth:32px;width:32px"><a title="Reddit" class="option1_32" style="background-position:-128px -32px" rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;title=The%20Difference%20Between%20Features%20and%20Components"></a></li><li style="heigth:32px;width:32px"><a title="Google Bookmarks" class="option1_32" style="background-position:-192px 0px" rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;title=The%20Difference%20Between%20Features%20and%20Components&amp;annotation=%0D%0AIf%20you%20are%20new%20to%20InstallShield%2C%20you%20need%20to%20read%20this%20post.%26nbsp%3B%20Veterans%20will%20probably%20be%20bored.%20%0D%0A%0D%0A%0D%0ALet%26%2339%3Bs%20say%20you%20an%20installation%20that%20has%20one%26nbsp%3Bfeature%20that%20is%20required%2C%20and%20several%20components.%26nbsp%3B%20You%20want%20the%20user%20to%20be%20able%20to%20se"></a></li><li style="heigth:32px;width:32px"><a title="HackerNews" class="option1_32" style="background-position:-256px 0px" rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;t=The%20Difference%20Between%20Features%20and%20Components"></a></li><li style="heigth:32px;width:32px"><a title="MSNReporter" class="option1_32" style="background-position:-352px 0px" rel="nofollow" target="_blank" href="http://reporter.es.msn.com/?fn=contribute&amp;Title=The%20Difference%20Between%20Features%20and%20Components&amp;URL=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;cat_id=6&amp;tag_id=31&amp;Remark=%0D%0AIf%20you%20are%20new%20to%20InstallShield%2C%20you%20need%20to%20read%20this%20post.%26nbsp%3B%20Veterans%20will%20probably%20be%20bored.%20%0D%0A%0D%0A%0D%0ALet%26%2339%3Bs%20say%20you%20an%20installation%20that%20has%20one%26nbsp%3Bfeature%20that%20is%20required%2C%20and%20several%20components.%26nbsp%3B%20You%20want%20the%20user%20to%20be%20able%20to%20se"></a></li><li style="heigth:32px;width:32px"><a title="Sphinn" class="option1_32" style="background-position:-192px -32px" rel="nofollow" target="_blank" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F"></a></li><li style="heigth:32px;width:32px"><a title="Posterous" class="option1_32" style="background-position:-64px -32px" rel="nofollow" target="_blank" href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;title=The%20Difference%20Between%20Features%20and%20Components&amp;selection=%0D%0AIf%20you%20are%20new%20to%20InstallShield%2C%20you%20need%20to%20read%20this%20post.%26nbsp%3B%20Veterans%20will%20probably%20be%20bored.%20%0D%0A%0D%0A%0D%0ALet%26%2339%3Bs%20say%20you%20an%20installation%20that%20has%20one%26nbsp%3Bfeature%20that%20is%20required%2C%20and%20several%20components.%26nbsp%3B%20You%20want%20the%20user%20to%20be%20able%20to%20se"></a></li><li style="heigth:32px;width:32px"><a title="Tumblr" class="option1_32" style="background-position:-256px -32px" rel="nofollow" target="_blank" href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.installationdeveloper.com%2F332%2Fthe-difference-between-features-and-components%2F&amp;t=The%20Difference%20Between%20Features%20and%20Components&amp;s=%0D%0AIf%20you%20are%20new%20to%20InstallShield%2C%20you%20need%20to%20read%20this%20post.%26nbsp%3B%20Veterans%20will%20probably%20be%20bored.%20%0D%0A%0D%0A%0D%0ALet%26%2339%3Bs%20say%20you%20an%20installation%20that%20has%20one%26nbsp%3Bfeature%20that%20is%20required%2C%20and%20several%20components.%26nbsp%3B%20You%20want%20the%20user%20to%20be%20able%20to%20se"></a></li></ul>			

			</div>        

		  <a style="cursor:pointer" onclick="hide_sociable('post-332',true)" class="close">



		  <img onclick="hide_sociable('post-332',true)" title="close" src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/closelabel.png">

		  </a>

		</div>

	</div> 

  </div></div><div class='sociable' style='float:none'><ul class='clearfix'><li id="Twitter_Counter"><a href="https://twitter.com/share" data-text="The Difference Between Features and Components - http://www.installationdeveloper.com/332/the-difference-between-features-and-components/ (via #sociablesite)" data-url="http://www.installationdeveloper.com/332/the-difference-between-features-and-components/" class="twitter-share-button" data-count="horizontal">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script></li><li id="Facebook_Counter"><iframe src="//www.facebook.com/plugins/like.php?href=http://www.installationdeveloper.com/332/the-difference-between-features-and-components/&send=false&layout=button_count&show_faces=false&action=like&colorscheme=light&font" scrolling="no" frameborder="0" style="border:none; overflow:hidden;height:32px;width:100px" allowTransparency="true"></iframe></li><li id="Google_+"><g:plusone annotation="bubble" href="http://www.installationdeveloper.com/332/the-difference-between-features-and-components/" size="medium"></g:plusone></li><li id="LinkedIn_Counter"><script src="http://platform.linkedin.com/in.js" type="text/javascript"></script><script type="IN/Share" data-url="http://www.installationdeveloper.com/332/the-difference-between-features-and-components/" data-counter="right"></script></li><li id="StumbleUpon_Counter"><script src="http://www.stumbleupon.com/hostedbadge.php?s=2&r=http://www.installationdeveloper.com/332/the-difference-between-features-and-components/"></script></li></ul></div><!-- End Sociable -->]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/332/the-difference-between-features-and-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

