<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx</link><description>What patches do when being installed or uninstalled.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Determine Which Files are Being Patched</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#536251</link><pubDate>Tue, 21 Feb 2006 22:04:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:536251</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>How to determine which files are being patched with a custom action.</description></item><item><title>File Sequencing and How Files are Located</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#602136</link><pubDate>Fri, 19 May 2006 23:48:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:602136</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>How file sequences identify the file source for installation, and how patches resolve source for new files.</description></item><item><title>Always use Unique Package Codes</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#630070</link><pubDate>Wed, 14 Jun 2006 01:01:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:630070</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>Package codes should always be unique - even for different processor architectures.</description></item><item><title>Be Careful or Even Avoid Using Type 35 Custom Actions</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#631026</link><pubDate>Wed, 14 Jun 2006 18:55:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631026</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>Type 35 custom actions have some serious ramifications to servicing and warrant enough concern to be careful when using them or even avoid using them completely. There is another way.</description></item><item><title>Cumulative Service Packs with MinorUpdateTargetRTM</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#631426</link><pubDate>Thu, 15 Jun 2006 00:33:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631426</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>How to create cumulative service packs easily to apply with Windows Installer 3.1 and newer.</description></item><item><title>Find the Product</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#642028</link><pubDate>Thu, 22 Jun 2006 00:36:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:642028</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>How to find the ProductCode or the product package in the local cache given a product name.</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#648382</link><pubDate>Tue, 27 Jun 2006 14:12:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:648382</guid><dc:creator>DaveI</dc:creator><description>Firstly great blog, nitty-gritty on msi is hard to find.&lt;br&gt;&lt;br&gt;Once a patch is applied is there anywhere on the client I can &amp;quot;see&amp;quot; the changes to the .msi? Is there a cached .msi knocking about with tranform changes applied that I can look at with ORCA?&lt;br&gt;&lt;br&gt;After applying a small update in \windows\installer, I can see my original .msi, I can see my .msp, but I cant see an .msi with the .msp applied.&lt;br&gt;&lt;br&gt;I am changing a condition on a feature with a small update. &amp;nbsp;Patchview shows the condition chnage in the msp file but the change does not seem to be occurring.&lt;br&gt;&lt;br&gt;Any help greatly appreciated.</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#648727</link><pubDate>Tue, 27 Jun 2006 21:05:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:648727</guid><dc:creator>Heath Stewart</dc:creator><description>In Orca open the MSI, the click Transform-&amp;gt;View Patch in the menu or just drag-and-drop the MSP right into the window. Orca picks the appropriate transform and you'll see the changes in green.&lt;br&gt;&lt;br&gt;Keep in mind that the MSI is never actual transforms and persisted (except for administrative installation, which are installation points administrators might use to deploy applications - it's not an installation in the tradition sense). See &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/heaths/archive/2005/11/29/498018.aspx"&gt;http://blogs.msdn.com/heaths/archive/2005/11/29/498018.aspx&lt;/a&gt; for details.</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#649410</link><pubDate>Wed, 28 Jun 2006 10:17:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:649410</guid><dc:creator>DaveI</dc:creator><description>Brilliant. &amp;nbsp;&lt;br&gt;&lt;br&gt;I thought I don't have a transform menu in my ORCA....checked the aboutbox and version 1.1!&lt;br&gt;&lt;br&gt;Downloaded ORCA 3.0 from your link and how much better is that. &amp;nbsp;And I never knew that the .msp never actually modified the .msi. &amp;nbsp;&lt;br&gt;&lt;br&gt;Thanks again.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#649497</link><pubDate>Wed, 28 Jun 2006 12:29:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:649497</guid><dc:creator>DaveI</dc:creator><description>I am confused by &amp;quot;patch uninstall custom action.&amp;quot;&lt;br&gt;&lt;br&gt;I want a custom action to execute when the patch will be uninstalled could you expand details on how to do this.&lt;br&gt;&lt;br&gt;The custom action is not in the orignal image, the log correctly indicates that the action is skipped during patch install but it is no where to be found in the patch uninstall log.&lt;br&gt;&lt;br&gt;Presumably this is the problem &amp;quot;There is no method for marking a custom action within a patch package to be run when the patch is uninstalled because the installer does not apply the patch packages being uninstalled. &lt;br&gt;&amp;quot;&lt;br&gt;But how does the MsiPatchRemovalList of patch GUIDs help me run the custom action?&lt;br&gt;&lt;br&gt;Maybe I am missing something obvious, please enlighten me.</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#649707</link><pubDate>Wed, 28 Jun 2006 17:34:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:649707</guid><dc:creator>Heath Stewart</dc:creator><description>DaveI, when a patch is uninstalled, it is simply removed and the product is repaired based on other properties, most typically repairing only the features that were changed.&lt;br&gt;&lt;br&gt;Since the patch isn't available, any custom actions added by the patch wouldn't exist. Instead, you have to have hooks in the original MSI that use - for example - the patch codes in the MsiPatchRemovalList to find DLLs (perhaps the patch code is part of a directory path) and run custom actions from the DLLs.&lt;br&gt;&lt;br&gt;That said, avoid this situation. You can use the file installation tables and standard actions of Windows Installer to do this, but it requires you sequence your uninstall custom actions accordingly and that might be too restrictive. Rather, design your custom actions from the start to be data-driven so that when the patch is removed and the data gone or updated, the existing custom actions can modify the machine state accordingly as deferred custom actions.</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#649781</link><pubDate>Wed, 28 Jun 2006 19:05:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:649781</guid><dc:creator>DaveI</dc:creator><description>Ahh. I see there is no patch uninstall &amp;quot;sequence&amp;quot; as such.&lt;br&gt;&lt;br&gt;Sadly, the product is long gone out of the door. I will have to piggy-back a custom action already in the original install.&lt;br&gt;&lt;br&gt;One final question I promise ;)&lt;br&gt;&lt;br&gt;Should it be possible to add a condition to a feature in a small update?&lt;br&gt;&lt;br&gt;ORCA is showing that the condition correctly gets added to the condition table, but the feature is still being installed. (If you dont know I appreciate that this is project specific query.) &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#649925</link><pubDate>Wed, 28 Jun 2006 21:31:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:649925</guid><dc:creator>Heath Stewart</dc:creator><description>If the feature was installed before, it will be reinstalled if patched or if it is included in the REINSTALL property (or if ALL is specified).</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#760719</link><pubDate>Mon, 18 Sep 2006 15:45:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:760719</guid><dc:creator>Dave I</dc:creator><description>I have question on patch sequencing....&lt;br&gt;&lt;br&gt;I have an accumulative small update patch (targeting say 3 previous small updates) how can I determine and/or define the order in which the transforms are applied?&lt;br&gt;&lt;br&gt;For a small update is it possible to specify an order, maybe with the MsiPatchSequence\Sequence column? Are transforms applied in order of their sequence number low to high? &amp;nbsp;&lt;br&gt;&lt;br&gt;Thanks in advance.</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#761192</link><pubDate>Tue, 19 Sep 2006 00:16:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:761192</guid><dc:creator>Heath Stewart</dc:creator><description>Dave I, he MsiPatchSequence table is used to sequence patches (rather, patch transforms) in addition to superseding patches. Supersedence is not required. See &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/heaths/archive/2006/06/14/631423.aspx"&gt;http://blogs.msdn.com/heaths/archive/2006/06/14/631423.aspx&lt;/a&gt; for a larger example of patch sequencing in action.&lt;br&gt;&lt;br&gt;Also, due to a bug in Community Server, your comment starting &amp;quot;Furthermore&amp;quot; was deleted. Please repost if you remember your question and I'd be happy to answer it.</description></item><item><title>re: How Patching Works</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#761828</link><pubDate>Tue, 19 Sep 2006 13:35:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:761828</guid><dc:creator>Dave I</dc:creator><description>Thanks Heath. Great post that confirmed my suspicions and set me on the right track.&lt;br&gt;&lt;br&gt;I hate to swear but my problem was &amp;quot;InstallShield 10.5.&amp;quot; &amp;nbsp;In a nutshell the patchview just does not appear to be serialised correctly to the project file!!&lt;br&gt;The patch view consists of a set of tree nodes that appear to dictate how MsiPatchSequence is authored, obviously completely undocumented.&lt;br&gt;&lt;br&gt;The order appears to be randomised based on the tree node name...honestly I think InstallShield give the Windows Installer technology a bad reputation...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &amp;nbsp;</description></item><item><title>VS 2005 SP1 Takes a While to Install</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#797580</link><pubDate>Sat, 07 Oct 2006 00:18:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:797580</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;One of the most-reported feedback issues with Visual Studio 2005 Service Pack 1 Beta is about how long&lt;/p&gt;
</description></item><item><title>Save Time when Installing Patches</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#818268</link><pubDate>Thu, 12 Oct 2006 07:11:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:818268</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;How to install multiple patches at once to save time.&lt;/p&gt;
</description></item><item><title>Mitigating Custom Action Problems for Patches on Vista</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#874435</link><pubDate>Wed, 25 Oct 2006 23:38:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:874435</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;Because some of the custom actions in Visual Studio 2005 are authored to impersonate the non-privileged&lt;/p&gt;
</description></item><item><title>Rebuilding the Installer Cache</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#1179239</link><pubDate>Thu, 30 Nov 2006 22:47:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1179239</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;During some operations upgrades internally, a problem arose on some machines where a patch for the Microsoft&lt;/p&gt;
</description></item><item><title>Installation Guidelines for User-editable Configuration</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#1342037</link><pubDate>Thu, 21 Dec 2006 23:12:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1342037</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;A common problem with installations is user-editable files and registry keys. Configuration of this nature&lt;/p&gt;
</description></item><item><title>Installation Guidelines for User-editable Configuration</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#1342576</link><pubDate>Fri, 22 Dec 2006 00:59:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1342576</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;A common problem with installations is user-editable files and registry keys. Configuration of this nature&lt;/p&gt;
</description></item><item><title>The Visual Studio 2005 Service Pack 1 Installation Experience</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#1379237</link><pubDate>Fri, 29 Dec 2006 13:23:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1379237</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;Visual Studio 2005 Service Pack 1 can take a long time to install and may apply to multiple products&lt;/p&gt;</description></item><item><title>The Patch Cache and Freeing Space</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#1484409</link><pubDate>Wed, 17 Jan 2007 21:14:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1484409</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;When you install a patch using Windows Installer, the .msp file is cached in the %WINDIR%\Installer directory.&lt;/p&gt;
</description></item><item><title>Small Updates Should Usually Target a Single Baseline</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#1996878</link><pubDate>Sat, 31 Mar 2007 04:12:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1996878</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;Generally, small updates target a specific ProductVersion , and with Windows Installer 3.0 and newer&lt;/p&gt;
</description></item><item><title>Small Updates Should Usually Target a Single Baseline</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#1996929</link><pubDate>Sat, 31 Mar 2007 04:25:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1996929</guid><dc:creator>RSS It All</dc:creator><description>&lt;p&gt;Generally, small updates target a specific ProductVersion , and with Windows Installer 3.0 and newer&lt;/p&gt;
</description></item><item><title>Custom Action Guidelines</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#2215063</link><pubDate>Sat, 21 Apr 2007 05:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2215063</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;Rob Mensching, father of Windows Installer XML (WiX), blogs about why managed custom actions are a bad&lt;/p&gt;
</description></item><item><title>Patch Families Can Only Ever Grow</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#2489145</link><pubDate>Wed, 09 May 2007 02:02:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2489145</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;Peter Marcu has begun talking about new functionality added into WiX 3.0 that he's been working on a&lt;/p&gt;
</description></item><item><title>Why is My Feature Advertised?</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#3676998</link><pubDate>Wed, 04 Jul 2007 00:59:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3676998</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;Removing a component even through obsolescence or supersedence will cause patched features to appear advertised instead of installed, which causes them to not be patched.&lt;/p&gt;
</description></item><item><title>Custom Action Guidelines</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#3677001</link><pubDate>Wed, 04 Jul 2007 00:59:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3677001</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;Rob Mensching, father of Windows Installer XML (WiX), blogs about why managed custom actions are a bad&lt;/p&gt;</description></item><item><title>Determine Which Files are Being Patched</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#3677014</link><pubDate>Wed, 04 Jul 2007 01:00:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3677014</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;How to determine which files are being patched with a custom action.&lt;/p&gt;</description></item><item><title>Cumulative Service Packs with MinorUpdateTargetRTM</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#3677026</link><pubDate>Wed, 04 Jul 2007 01:01:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3677026</guid><dc:creator>Heath Stewart's Blog</dc:creator><description>&lt;p&gt;How to create cumulative service packs easily to apply with Windows Installer 3.1 and newer.&lt;/p&gt;</description></item><item><title>KB928365 for MS07-040 Leaves Some Managed Applications Sluggish</title><link>http://blogs.msdn.com/heaths/archive/2005/09/12/how-patching-works.aspx#3855726</link><pubDate>Sat, 14 Jul 2007 02:54:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3855726</guid><dc:creator>Noticias externas</dc:creator><description>&lt;p&gt;After installing Security Update KB928365 for the Microsoft .NET Framework 2.0 to fix MS07-040 , some&lt;/p&gt;
</description></item></channel></rss>