The data problem is how (and where), while installing the patch, to cache the relevant data needed by the "PatchUninstall" action because the associated table data will not be present when it runs (during patch removal) and maintain its integrity (just one reason that a PatchUninstall action isn't just an ordinary custom action run during removals). One possibility that came to my mind would be to locate the patch being removed in Windows Installer's cache, crack it open, and parse it somehow. But, that isn't exactly straightforward.
-----Original Message----- From: David Rickard (USA) [mailto:davri...@microsoft.com] Sent: Wednesday, January 19, 2011 10:10 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] XmlConfig action not running on patch rollback? Yeah, I guess patch uninstall is what I mean. Is the data problem you're talking about how to populate the MsiTransformView<PatchGUID> table required for the patch uninstall custom action to run? -----Original Message----- From: Blair [mailto:os...@live.com] Sent: Tuesday, January 18, 2011 9:24 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] XmlConfig action not running on patch rollback? Do we need to add another "entry" for XmlConfig that is set @PatchUninstall="yes"? Except that only works for MSI 4.5 and above, and we have the problem of archiving/obtaining the data that is being removed (the only link we have is the patch's GUID in the MSIPATCHREMOVE property). Oh, Great and Wonderful Data Store, where art thou? David, you can see what we are up against here. And WiX continues to support pre-4.5 versions of MSI where this operation simply isn't supported (unless you built into your non-patched baseline the support needed to remove the actions your patch created). -Blair -----Original Message----- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Monday, January 17, 2011 4:51 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] XmlConfig action not running on patch rollback? It sounds like you mean "uninstall" a patch. Adding custom actions in patches doesn't work out so well. Patches essentially apply transform to the existing MSI then repair the MSI. In the case of uninstalling a patch, the transform is removed and the MSI is repaired. Obviously, if the custom action is removed with the transform then it has no chance to run. The Windows Installer does special magic to keep track of the state of the MSI before and after the transform so they can properly remove data. On Mon, Jan 17, 2011 at 3:37 PM, David Rickard (USA) <davri...@microsoft.com > wrote: > Just tried with WIX 3.6.1314. Same behavior. > > -----Original Message----- > From: David Rickard (USA) [mailto:davri...@microsoft.com] > Sent: Monday, January 17, 2011 11:35 AM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] XmlConfig action not running on patch rollback? > > I've got the following component: > > <Component Id="machine.config.Update" > Guid="573DF5B0-438D-498d-8919-C4B96835C1EF"> > <RegistryKey Root="HKLM" Key="[REGISTRYKEY]\Settings\[TITLE]" > Action="createAndRemoveOnUninstall"> > <RegistryValue Action="write" Type="integer" Name="MACHINEMEMORYLIMIT" > Value="1" KeyPath="yes"/> > </RegistryKey> > <util:XmlConfig > Id="CacheNode.memoryLimit.add" > > File="[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine .Config" > Action="create" > ElementPath="/configuration/system.web/processModel" > Name="memoryLimit" > Node="value" > On="install" > Value="90" /> > <util:XmlConfig > Id="CacheNode.memoryLimit.remove" > > File="[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine .Config" > Action="delete" > ElementPath="/configuration/system.web/processModel" > VerifyPath="/configuration/system.web/processModel" > Name="memoryLimit" > Node="value" > On="uninstall" /> > </Component> > > I want to add an attribute on install of the component and remove it > on uninstall. Now this works just fine when the component is part of a > full install and uninstall, but does not work as part of a patch. When > I apply the patch, the component will install, the config edit will > occur and the registry key will be added. When I roll back the patch, > the registry key is > removed, but the attribute is not removed. > > I checked the logs and the action isn't even attempted. To make sure > the action actually works I manually edited the config file and ran it > on install. And it does work then. Also FRAMEWORKDIR is getting set > properly on > both the install and rollback steps. Is there a bug in the WIX utilities? Or > is there something I'm doing wrong? > > ---------------------------------------------------------------------------- -- > Protect Your Site and Customers from Malware Attacks Learn about > various malware tactics and how to avoid them. Understand malware > threats, the impact they can have on your business, and how you can > protect your company > and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ---------------------------------------------------------------------------- -- > Protect Your Site and Customers from Malware Attacks Learn about > various malware tactics and how to avoid them. Understand malware > threats, the impact they can have on your business, and how you can > protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > -- virtually, Rob Mensching - http://RobMensching.com LLC ---------------------------------------------------------------------------- -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users