<?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>Tue, 27 Jul 2010 14:57:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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 of [...]]]></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>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a 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" title="Digg"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a 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" title="del.icio.us"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a 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" title="Facebook"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;h=Windows%20Installer%20Codes%20and%20Upgrade%20Types" title="NewsVine"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a></li>
	<li><a 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" title="Reddit"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a 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&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types" title="StumbleUpon"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a 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" title="Google Bookmarks"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;submitHeadline=Windows%20Installer%20Codes%20and%20Upgrade%20Types&amp;submitSummary=%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&amp;submitCategory=science&amp;submitAssetType=text" title="Yahoo! Buzz"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/yahoobuzz.png" title="Yahoo! Buzz" alt="Yahoo! Buzz" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Windows%20Installer%20Codes%20and%20Upgrade%20Types%20-%20http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%2F" title="Twitter"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%2F" title="Technorati"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.installationdeveloper.com%2F242%2Fwindows-installer-codes-and-upgrade-types%2F&amp;title=Windows%20Installer%20Codes%20and%20Upgrade%20Types" title="Live"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a 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" title="LinkedIn"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a 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" title="MySpace"><img src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></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>
