<?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; Windows Installer Codes and Upgrade Types</title>
	<atom:link href="http://www.installationdeveloper.com/242/windows-installer-codes-and-upgrade-types/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>Windows Installer Codes and Upgrade Types</title>
		<link>http://www.installationdeveloper.com/242/windows-installer-codes-and-upgrade-types/</link>
		<comments>http://www.installationdeveloper.com/242/windows-installer-codes-and-upgrade-types/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 12:03:29 +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=242</guid>
		<description><![CDATA[I have noticed that&#160;in the InstallShield forums, there&#160;sometimes is&#160;confusion when it comes to&#160;properly using Windows Installer codes in&#160;creating the different types of upgrades for Basic MSI projects.&#160; Here is an explanation of the&#160;codes&#160;you need to be aware of.&#160; After that,&#160;you will find the requirements of the different upgrade types. Package Code &#8211; this is part [...]]]></description>
			<content:encoded><![CDATA[<p>
I have noticed that&nbsp;in the InstallShield forums, there&nbsp;sometimes is&nbsp;confusion when it comes to&nbsp;properly using Windows Installer codes in&nbsp;creating the different types of upgrades for Basic MSI projects.&nbsp; Here is an explanation of the&nbsp;codes&nbsp;you need to be aware of.&nbsp; After that,&nbsp;you will find the requirements of the different upgrade types.
</p>
<p>
Package Code &#8211; this is part of the Summary Information Stream that identifies a particular database.&nbsp; This is not a Windows Installer property.&nbsp; Any two .msi databases with identical package codes must have identical contents.&nbsp; Therefore, you should change the package code for each build.
</p>
<p>
Product Version &#8211; this is the Windows Installer property that contains the product version.&nbsp; The Windows Installer only uses the first three fields of this property.&nbsp; For example, for a product version of 1.2.3.4, the 4 is ignored.
</p>
<p>
Product Code &#8211; this is the Windows Installer property that contains the GUID of a product.&nbsp; The Windows Installer treats two products with different ProductCode&nbsp;GUIDs as unrelated, even if the values of the ProductName property are the same.
</p>
<p>
Upgrade Code &#8211; this is the Windows Installer property that contains the GUID representing the product family.&nbsp; The Upgrade Code should be consistent across different versions and languages of a family of related products for patching purposes.
</p>
<p>
Major Upgrade &#8211; here the product changes are large enough to merit changes to the Product Version number, Product Code, and Package Code.&nbsp; An example is updating version 1.2 to 2.0.&nbsp; It acts like a first time installation if no earlier version is present.&nbsp; If there is an earlier version, the major upgrade uninstalls the earlier version and then installs the new version.&nbsp; It is also possible to have a major upgrade first install over the earlier version and then remove any unused files.
</p>
<p>
Minor Upgrade &#8211; this is a change to the product database and files large enough to merit a change to the Product Version, but not to the Product Code.&nbsp; In other words, the Package Code and Product Version are different from the earlier version, but the Product Code does not change.&nbsp; An example is updating version 1.1 to version 1.2.&nbsp; When packaged as a full installation, it acts like a first time install if an earlier version is not present, or installs over an existing installation when present.&nbsp; A Service Pack is a type of minor upgrade.&nbsp; This&nbsp;was a surprise to me in the beginning, because&nbsp;Service Packs for&nbsp;different Windows versions tend to be huge.
</p>
<p>
Small Update &#8211; this is used to modify a few files for an installed application.&nbsp; It is typically used to deliver small bug fixes.&nbsp; It consists of product changes (such as hotfixes) so small that no change to the Product Version is necessary.&nbsp; However, a Package Code change is required.
</p>
<p>
Standard Patch &#8211; this is a streamlined mechanism for updating earlier versions of a Windows Installer installation package, thereby updating the application.&nbsp; Patches only contain the changed data between the versions to be updated.&nbsp; Windows Installer patches have the .msp filename extension.&nbsp; The Windows Installer 3.0 and above provides many benefits for creating, installing, and removing patches.&nbsp; Improvements include being able to digitally sign a patch, patch a file that belons to a component, and install mutliple patches at one time.&nbsp; When installing multiple patches, the order that the patches are applied is based on the information held in the MSIPatchSequence table.
</p>
<p>
QuickPatch &#8211; this is a specific type of project which is recommended for shipping small, single updates to their users.&nbsp; Changes more extensive such as adding custom actions and changing .ini data typically require a standard patch.&nbsp; Incidentally, new in InstallShield 2009 is the ability to streamline a QuickPatch.
</p>
<p>
So, if you are new to upgrades, I hope the above material will help you.&nbsp; You can watch some videos on major and minor upgrades at:
</p>
<p>
<a href="http://www.wavepointstudios.net/MSI-2008-Videos.aspx">http://www.wavepointstudios.net/MSI-2008-Videos.aspx</a>
</p>
<p>
Good luck.</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=Windows%20Installer%20Codes%20and%20Upgrade%20Types%20-%20http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;t=Windows%20Installer%20Codes%20and%20Upgrade%20Types"></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=Windows%20Installer%20Codes%20and%20Upgrade%20Types&body=http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&title=Windows%20Installer%20Codes%20and%20Upgrade%20Types"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;notes=%0D%0AI%20have%20noticed%20that%26nbsp%3Bin%20the%20InstallShield%20forums%2C%20there%26nbsp%3Bsometimes%20is%26nbsp%3Bconfusion%20when%20it%20comes%20to%26nbsp%3Bproperly%20using%20Windows%20Installer%20codes%20in%26nbsp%3Bcreating%20the%20different%20types%20of%20upgrades%20for%20Basic%20MSI%20projects.%26nbsp%3B%20Here%20is%20an%20expl"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;srcURL=http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;source=Installation+Developer+InstallShield+Training+-+InstallShield+Tutorials&amp;summary=%0D%0AI%20have%20noticed%20that%26nbsp%3Bin%20the%20InstallShield%20forums%2C%20there%26nbsp%3Bsometimes%20is%26nbsp%3Bconfusion%20when%20it%20comes%20to%26nbsp%3Bproperly%20using%20Windows%20Installer%20codes%20in%26nbsp%3Bcreating%20the%20different%20types%20of%20upgrades%20for%20Basic%20MSI%20projects.%26nbsp%3B%20Here%20is%20an%20expl"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;Title=Windows%20Installer%20Codes%20and%20Upgrade%20Types"></a></li><li><a style="cursor:pointer" rel="nofollow" onMouseOut="fixOnMouseOut(document.getElementById('sociable-post-242'), event, 'post-242')" onMouseOver="more(this,'post-242')"><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-242')" id="sociable-post-242" 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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;t=Windows%20Installer%20Codes%20and%20Upgrade%20Types"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;bodytext=%0D%0AI%20have%20noticed%20that%26nbsp%3Bin%20the%20InstallShield%20forums%2C%20there%26nbsp%3Bsometimes%20is%26nbsp%3Bconfusion%20when%20it%20comes%20to%26nbsp%3Bproperly%20using%20Windows%20Installer%20codes%20in%26nbsp%3Bcreating%20the%20different%20types%20of%20upgrades%20for%20Basic%20MSI%20projects.%26nbsp%3B%20Here%20is%20an%20expl"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;annotation=%0D%0AI%20have%20noticed%20that%26nbsp%3Bin%20the%20InstallShield%20forums%2C%20there%26nbsp%3Bsometimes%20is%26nbsp%3Bconfusion%20when%20it%20comes%20to%26nbsp%3Bproperly%20using%20Windows%20Installer%20codes%20in%26nbsp%3Bcreating%20the%20different%20types%20of%20upgrades%20for%20Basic%20MSI%20projects.%26nbsp%3B%20Here%20is%20an%20expl"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;t=Windows%20Installer%20Codes%20and%20Upgrade%20Types"></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=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;URL=http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;cat_id=6&amp;tag_id=31&amp;Remark=%0D%0AI%20have%20noticed%20that%26nbsp%3Bin%20the%20InstallShield%20forums%2C%20there%26nbsp%3Bsometimes%20is%26nbsp%3Bconfusion%20when%20it%20comes%20to%26nbsp%3Bproperly%20using%20Windows%20Installer%20codes%20in%26nbsp%3Bcreating%20the%20different%20types%20of%20upgrades%20for%20Basic%20MSI%20projects.%26nbsp%3B%20Here%20is%20an%20expl"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;selection=%0D%0AI%20have%20noticed%20that%26nbsp%3Bin%20the%20InstallShield%20forums%2C%20there%26nbsp%3Bsometimes%20is%26nbsp%3Bconfusion%20when%20it%20comes%20to%26nbsp%3Bproperly%20using%20Windows%20Installer%20codes%20in%26nbsp%3Bcreating%20the%20different%20types%20of%20upgrades%20for%20Basic%20MSI%20projects.%26nbsp%3B%20Here%20is%20an%20expl"></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%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;t=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;s=%0D%0AI%20have%20noticed%20that%26nbsp%3Bin%20the%20InstallShield%20forums%2C%20there%26nbsp%3Bsometimes%20is%26nbsp%3Bconfusion%20when%20it%20comes%20to%26nbsp%3Bproperly%20using%20Windows%20Installer%20codes%20in%26nbsp%3Bcreating%20the%20different%20types%20of%20upgrades%20for%20Basic%20MSI%20projects.%26nbsp%3B%20Here%20is%20an%20expl"></a></li></ul>			

			</div>        

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



		  <img onclick="hide_sociable('post-242',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="Windows Installer Codes and Upgrade Types - http://www.installationdeveloper.com/242/windows-installer-codes-and-upgrade-types/ (via #sociablesite)" data-url="http://www.installationdeveloper.com/242/windows-installer-codes-and-upgrade-types/" 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/242/windows-installer-codes-and-upgrade-types/&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/242/windows-installer-codes-and-upgrade-types/" 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/242/windows-installer-codes-and-upgrade-types/" data-counter="right"></script></li><li id="StumbleUpon_Counter"><script src="http://www.stumbleupon.com/hostedbadge.php?s=2&r=http://www.installationdeveloper.com/242/windows-installer-codes-and-upgrade-types/"></script></li></ul></div><!-- End Sociable -->]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/242/windows-installer-codes-and-upgrade-types/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

