This is going to turn into a blog post, I know it.

0. First, at this point in WiX v3.x "deprecated" means the functionality will 
not be present in WiX v4.x. There are no breaking changes in WiX v3.x (unless 
we need to for security purposes). You can keep doing what you're doing as long 
as you're happy on WiX v3.x.

1. Melt (like most of the non-core tools) is sorely under documented. There is 
only a one sentence description on it today. As is the case (too often) detail 
gets isolated on my or Bob's blog: 
http://www.joyofsetup.com/2013/07/16/easy-pure-wix-patching-with-melt/.

2. The use of preprocessor defines as paths to other projects was a huge 
mistake we made early in the design of Votive. We should have used bind paths. 
Unfortunately, I've not successfully found a way to fix that mistake in a 
backwards compatible way in v3.x. Hope is that we can get it right in v4.x.

3. Now, you are correct. The ability to use the .wixout as an archive mechanism 
is absent in WiX v4.x. The goal (in WiX v4.x) is that to patch (should you need 
to patch) all you need is the stuff that is always output from the build: the 
MSI, any external .cabs/files and the .wixpdb. Archive that away the exact same 
way binaries and their .pdbs should be archived away.

4. Why!?!?!? Why would functionality that works be removed?!?!? There are a few 
reasons:

  4a. Again, the goal in WiX v4.x is that to patch, all that is necessary is 
the standard output from the build. This reduces one more thing you have to 
pre-plan for if you might need to patch later. Today (WiX v3.x), melt.exe is 
the stopgap.

  4b. Using the .wixout as an archive means you essentially double the output 
to your release location. This is less of an issue if your package is small but 
it is a huge problem if your package is huge. This makes binary .wixout's a 
very non-ideal scenario in some cases.

   Note: in WiX v4.x the size issue would be even worse because "bound files" 
are no longer compressed.

  4c. Maintaining multiple ways of doing the same thing in the WiX toolset is 
expensive. If we can come up with a single solid implementation for a problem, 
we should do so. That minimizes bugs across implementations and frees us up to 
do other work. This is particularly important in areas like patching where the 
problem is already insanely complex and the people that can work on patching 
happen to be people that could work on just about anything.

Hopefully that makes the direction we're trying to head in clearer. I know that 
it doesn't solve the "you moved my cheese" issue.

_______________________________________________________________
 FireGiant  |  Dedicated support for the WiX toolset  |  
http://www.firegiant.com/


-----Original Message-----
From: Nick Ramirez [mailto:nickra...@hotmail.com] 
Sent: Thursday, January 8, 2015 8:02 PM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Creating patches using wixout (-bf flag deprecated)

Sounds like undocumented functionality of Melt. I don't see anything about 
using it that way in the WiX.chm. 

Also, binder variable don't solve the problem of binding the source files into 
the XML file. They only give you a way to list a bunch of paths to probe. So 
they don't replace the functionality we'd be losing if -bf is taken away.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to