For whole file patching, you need to write a BinderFileManager and put it into
an extension and override the CompareFiles method where you can exclude files
that differ by only version/signature, and that will work whether or not you
are doing wholefile or delta patching.
If you are doing delta patches then the IgnoreRange and ProtectRange elements
in WiX are intended for this. You specify where in the file the signature and
version are, and if you place those locations in the IgnoreRange element then
the file won't be updated because of changes in those regions of the file
(alternately ProtectRange ensures that those regions of the file will not be
updated by the delta patching). I just noticed a bug in the schema (which
translates into a bug in the documentation) in that these two elements are also
children of the File element for the case of "pure-wix" patching. I need to
open myself a doc bug for that. BTW, if using PatchWiz uses of these two
elements under the File element are ignored, they have to go into the PCP file.
With delta patching using PatchWiz I believe that when applying IgnoreRange if
the rest of the file is unchanged then that file will be excluded from the
patch entirely. I believe that right now Pyro will error out in that case.
Another bug I need to open for myself.
Please open a feature request to enable pyro to use an alternate CompareFiles
method to exclude things like fileversion and signature, based upon commandline
options. That would solve the issue for your build, and you won't have to enter
the quagmire of IgnoreRange.
> From: stephen.tun...@nuance.com
> To: wix-users@lists.sourceforge.net
> Date: Fri, 8 Nov 2013 18:26:11 +0000
> Subject: Re: [WiX-users] Purely WiX patching and FeatureRef
>
> I love the idea of this but alas we sign and version our files for every
> build. In essence EVERYTHING changes at this point. Is there a way to get
> the filtering to ignore certain properties/attributes of a file?
>
> -----Original Message-----
> From: Rob Mensching [mailto:r...@robmensching.com]
> Sent: November-08-13 12:49 PM
> To: General discussion about the WiX toolset.
> Subject: Re: [WiX-users] Purely WiX patching and FeatureRef
>
> I'm always a bit behind on patching stuff but it sounds like your adding
> PatchFamilies and that kicks in filtering. Filtering is designed to provide
> very fine control of what ends up in the patch. If you don't want filtering,
> IIRC (and my memory in this area is notoriously poor), don't add
> PatchFamilies. Then the filtering pulls in everything that changed... like
> PCP does (IIRC).
>
> -----Original Message-----
> From: TimM [mailto:timmay...@smarttech.com]
> Sent: Friday, November 8, 2013 9:37 AM
> To: wix-users@lists.sourceforge.net
> Subject: Re: [WiX-users] Purely WiX patching and FeatureRef
>
> Okay I have done a bit more testing with Pure Wix and Melt and here is what I
> have found with my testing.
>
> Create Product.wxs with a bunch of components in root and I also create a
> fragment with is bunch more components.
>
> I then built this msi and associated .wixpdb file.
>
> I then updated some of the files in the root and some of the file in the
> fragment and built the msi/wixpdb
>
> I then created my patch.wxs file and in the PatchFamily I added one
> ComponentRef from the components in root.
>
> Built then ran my patch batch file that will call Melt, torch, candle, light
> and pyro to build the patch.
>
> Using Orca I applied the patch to the Target .msi and sure enough only the
> files from root componentref showed as updated.
>
> I updated the patch.wxs and added one ComponentRef from the fragment and
> rebuilt the patch.
> Orca now shows all updated files from root and fragment.
>
> So that worked and therefore tells me that the patch.wxs has to have a
> ComponentRef of at least one component from every single fragment/wixlib that
> are associated with the main product.wxs. And it does not matter if the
> component that is being referenced is changed from the previous version or
> not.
>
> The exception to this would be if there are new components and therefore each
> of the new componentref's need to be added?
>
> Now if I am wrong in anything that I mentioned here then someone please let
> me know before I get too far.
>
> Now how about Merge modules that have been updated??? How does Pure WiX and
> Melt handle those?
>
> Now I had hear or read from somewhere that patch with Pure WiX is less
> complicated than using the Patch Creation Properties to generate a patch..
> Well from the work I have done just to make this sample it seems that Pure
> WiX is more complicated than Patch Creation as with Patch Creation you only
> need the Target .msi and all the Update .msi files, have them extracted and
> simple patch.wxs file that simple has the Upgrade image and all Target Images.
>
> So if I am under the wrong opinion here then someone set me straight and show
> me how Pure WiX patching is better....
>
> Thanks for reading my rantings.... It is Friday ;)
>
>
>
> --
> View this message in context:
> http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Purely-WiX-patching-and-FeatureRef-tp7590049p7590456.html
> Sent from the wix-users mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> November Webinars for C, C++, Fortran Developers Accelerate application
> performance with scalable programming models. Explore techniques for
> threading, error checking, porting, and tuning. Get the most from the latest
> Intel processors and coprocessors. See abstracts and register
> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> November Webinars for C, C++, Fortran Developers Accelerate application
> performance with scalable programming models. Explore techniques for
> threading, error checking, porting, and tuning. Get the most from the latest
> Intel processors and coprocessors. See abstracts and register
> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ------------------------------------------------------------------------------
> November Webinars for C, C++, Fortran Developers
> Accelerate application performance with scalable programming models. Explore
> techniques for threading, error checking, porting, and tuning. Get the most
> from the latest Intel processors and coprocessors. See abstracts and register
> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users