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

Reply via email to