Null/empty component guid components are only installed in major upgrades. Patches are not typical major upgrades and those components are ignored (just as with all other maintenance transactions).
As it says: it cannot be removed or repaired. A patch is basically always “a repair” (after the view is upgraded by applying the patch). Blair From: Mita Patel Sent: Tuesday, January 14, 2014 1:59 PM To: General discussion for Windows Installer XML toolset. Re: Deleting files in a patch. Applying the same logic to a patch does not work. We set the component id for new files that do not need to be registered to null. (to allow for deletion in future patches) Then apply the patch. Resulting in the null component id files not getting installed. Message: 6 Date: Tue, 14 Jan 2014 11:29:15 -0800 From: Phil Wilson <phildgwil...@gmail.com> Subject: Re: [WiX-users] Deleting files in a patch... To: "General discussion for Windows Installer XML toolset." <wix-users@lists.sourceforge.net> Message-ID: <CACZvpRZkcKk5z_XAk8ZdRchhJpcmwo1OH5+4AS5AuohBtXz=x...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 It looks like you hijacked an existing discussion thread, so I'll start a new one. ... Yes, that's the way it works. That might not be the best way to remove files if you decide you want them back later. An alternative is to make the component transitive and use a property to make the actual file be present or absent, so if you later decide you want the file present just set the property value. It can be tricky to make that work in all cases, such as adding/removing features, repair, patches etc because you need to preserve the property value that is keeping the file present or absent. "The msdn doc says the following for component id in the column table. ComponentId --> If this column is null the installer does not register the component and the component cannot be removed or repaired by the installer. This might be intentionally done if the component is only needed during the installation, such as a custom action that cleans up temporary files or removes an old product. It may also be useful when copying data files to a user's computer that do not need to be registered. Does this mean in the full msi, components with null id will not be registered and if deleted then will not put the msi in repair? Which further indicates that at patch time we can call a custom action to delete these components , and this will not throw the msi in repair mode?" Phil Wilson ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users