Thanks Blair, that is exactly what I was looking for1 My problem is precisely in impossibility to recreate the same file locations between the builds.
For a while I thought about building MSI, then doing administrative install and then fixing the paths in non-binary wixpdb to correspond to admin install. However, binary wixpdb is much easier and less error prone approach than that. Now, if I only knew how #2 works ... Tony -----Original Message----- From: Blair Murri [mailto:[EMAIL PROTECTED] Sent: Sunday, July 27, 2008 2:45 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Two questions about new WiX patching I don't know the answer to #2, but as to #1 (Pyro actually creates the deltas, based on what is in the wixmst(s) passed to it) (this is accurate as of ~ 6 months ago, Peter please correct me if I am wrong on any changes to the wixpdbs), there are two possibilities: 1) wixpdb is a binary wixout: Can be as a result of using dark, or as a result of binding using binary wixouts from linking with the -bf and -xo parameters. Torch passes the files used to create the deltas from the wixpdbs passed in to the wixmst (making a binary wixmst). Note that it is possible for one of the two wixpdbs to have been binary and the other to not be, in which case the wixmst contains the files from the binary wixpdb and filespecs from the non-binary wixpdb. Note further that it is possible to create wixpdbs (or any wixout, for that matter) with a mix of included and referenced binaries, but most of the time you get all one or all the other. 2) wixpdb is not a binary wixout: Results of linking and binding in one step. Torch passes the filespecs (path to the files) from the wixpdb in the wixmst. Pyro will use whatever it is passed (included files or filepaths) to get the two versions of the files it will create the delta patches for. What I recommend is: link with -xo and -bf to produce a binary (bound) wixout (using light). Bind with the binary wixout (using light again) to create the MSI if needed. Store the resulting wixpdb for use in creating MSPs in later builds. Otherwise, you will have to recreate or restore the old files in the exact same file locations as they were when you created the wixpdb, and the new wixpdb will have to be created in a different file location. Hard to do with most centralized build systems. In your later build, if you don't need to create both an MSI and an MSP configuring the same version (hope you don't) then you may not have to create a binary (bound) wixpdb for the upgrade case, otherwise build it the same way. Pass both wixpdbs to torch, and pyro will use the files in the generated wixmst file to generate the deltas. At least that is the way it was working when I added it to WiX. -Blair -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony Juricic Sent: Tuesday, July 22, 2008 2:50 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Two questions about new WiX patching Or am I, for the time being, still better off with the old-style administrative installs and PatchCreation? In my case binary delta is the requirement. Thanks -----Original Message----- From: Tony Juricic Sent: Monday, July 21, 2008 2:08 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Two questions about new WiX patching 1) I don't understand how do wixpdb ouputs deal with binary delta patches? Looking at example commands it appears as if MSI (or binary files compressed inside MSI cab) are not needed, as if all relevant info is contained in wixpdb. Or is it that torch, while working on the differences between 2 wixpdbs, expects that MSIs are present in respective locations and decompresses them to find delta patches? 2) Regarding file sequences, if, for example, I have 200 files to install and possibly need to patch each and every one of them, am I supposed to increment media Id by 200? So I would start with say: <Media Id="5000" Cabinet="RTM.cab"> <PatchBaseline Id="RTM"/> </Media> Then the next patch would be: <Media Id="5200" Cabinet="RTM.cab"> <PatchBaseline Id="RTM"/> </Media> next <Media Id="5400" Cabinet="RTM.cab"> <PatchBaseline Id="RTM"/> </Media> and so on? Thanks for any input! ------------------------------------------------------------------------ - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users