The purpose of the tools today are:
1. dark.exe – decompile stuff back into source code. The ideal is
perfectly round trippable source code but we’ve been lazy with bundles since no
one really needs to round trip a bundle today. Of course, round tripping
MSIs/MSMs is very important when converting from one MSI/MSM creation
technology to the WiX toolset.
2. melt.exe – make unpatchable stuff patchable. It started by
transforming Merge Modules into .wixlibs because Merge Modules are not
patchable but .wixlibs are. Later melt.exe was taught to update paths in
.wixpdbs for those that did not use bind paths everywhere.
IMHO, those two tools serve different purposes today. They certainly share code
underneath (pulling files out of the “MergeModule.CABinet”, for example) but
I’m not sure that makes them the same tool.
For example, if you did “dark.exe foo.wixpdb –o output” today, I’d expect an
“output” folder to be created with a bunch of .wxs code that I could compile
with candle.exe. And today, “dark.exe foo.msm –o output” creates a bunch of
.wxs files in the “output” folder... it does not create a .wixlib the way
melt.exe does.
_______________________________________________________________
FireGiant | Dedicated support for the WiX toolset |
http://www.firegiant.com/
From: Stephen Tunney [mailto:stephen.tun...@gmail.com]
Sent: Monday, January 19, 2015 4:19 PM
To: WiX toolset developer mailing list
Subject: Re: [WiX-devs] Updating Melt to extract files from the Binary table
for patching
I think at the end of the day we need to consolidate functionality as we have
two tools that do the exact same thing (more or less).
Dark should be defined as a tool that deconstructs a database (msi or msm) into
a wxs + exportable tables. If this is the case then melt's functionality
should be truncated to limit it to modifying the wixpdb. Or melt essentially
gets dropped and that wixpdb modification is put into dark if the wixpdb is
supplied.
Having two tools that essentially do the same thing makes little sense and
confuses patching which is what we want to get away from.
Stephen
On Mon, 19 Jan 2015 16:14 Rob Mensching
<r...@firegiant.com<mailto:r...@firegiant.com>> wrote:
I'm really not at all excited about *another* tool in v4. I'd much rather we be
able to use the MSI and the cabs as the source without having to preprocess
them. Maybe melt.exe keeps the functionality or maybe dark.exe is the best
place for it but you only use it to optimize the process. Otherwise, the patch
unbinder stuff can just use the original build output.
I guess that's where I'd like to see this in v4 (or later if it can't make v4):
patching should operate off the standard build output: msi, external
cabs/files, and .wixpdb. If we can't patch from that, we should enhance what
we're outputting to patch it.
Having to think ahead makes in so many different ways makes patching terribly
unapproachable.
_______________________________________________________________
FireGiant | Dedicated support for the WiX toolset |
http://www.firegiant.com/
-----Original Message-----
From: Tunney, Stephen
[mailto:stephen.tun...@nuance.com<mailto:stephen.tun...@nuance.com>]
Sent: Monday, January 5, 2015 8:01 PM
To: WiX toolset developer mailing list
Subject: Re: [WiX-devs] Updating Melt to extract files from the Binary table
for patching
Also, I would say that we should do the *least* amount of work in v3 (ie.
adding a simple switch to melt).
I could work on newtool.exe in v4 in my spare time.
________________________________________
From: Bob Arnson [b...@joyofsetup.com<mailto:b...@joyofsetup.com>]
Sent: January 5, 2015 10:51 PM
To: wix-devs@lists.sourceforge.net<mailto:wix-devs@lists.sourceforge.net>
Subject: Re: [WiX-devs] Updating Melt to extract files from the Binary table
for patching
Dark extracts to a flat list of files named after their ids. Melt extracts to a
source tree, which makes it easier to update. Plus Melt does the .wixpdb
updating.
Putting the extraction/updating in Melt was a bad idea. (Whoever it was who had
that idea, I certainly can't remember.) It mixes two very different things.
Adding the functionality to Dark is a little better but not by much. (Dark is
*mostly* about decompiling; extraction is something else tacked on.) I think it
would make it easier to discover the patching benefits if it were its own tool.
To be honest, if you wanted to do that for v4, it could start in v3:
Leave Melt.exe alone, copy the extraction/updating code to NewTool, add the
Binary extraction, and merge it (almost) as-is to v4.
The only downside: It will take significant research, discussion, and heated
debate to come up with a new tool name...
On 05-Jan-15 22:21, Tunney, Stephen wrote:
> Quick side question for 4.x
>
> Why do we have melt AND dark? The two of you seem to want them to act the
> same, don't they really do the same thing (decompile a MS* database)? Melt
> updates/generates a .wixpdb as well which is the only real difference I can
> see.
>
> Should it be considered to merge the two tools together perhaps? Just a
> thought exercise perhaps but the questions you two both raised have put a
> smell in my nose.
> Stephen
> ________________________________________
> From: Bob Arnson [b...@joyofsetup.com<mailto:b...@joyofsetup.com>]
> Sent: January 5, 2015 6:51 PM
> To: wix-devs@lists.sourceforge.net<mailto:wix-devs@lists.sourceforge.net>
> Subject: Re: [WiX-devs] Updating Melt to extract files from the Binary
> table for patching
>
> On 03-Jan-15 20:36, Stephen Tunney wrote:
>> Ok, so here's my pitch:
>>
>> v3.x would get a couple of new flags
>> -xn (extract in new directory format) <patch> -xb (extract binaries,
>> does not get squashed by -sextract and uses old path format) <path>
> Do we need both? I like -xn -- subdirectories for files and binaries a
> la Dark, right? That provides binaries and prompts users to update
> their scripts and/or existing melt output.
>
> --
> sig://boB
> http://joyofsetup.com/
>
>
> ----------------------------------------------------------------------
> -------- 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-devs mailing list
> WiX-devs@lists.sourceforge.net<mailto:WiX-devs@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/wix-devs
>
> ----------------------------------------------------------------------
> -------- 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-devs mailing list
> WiX-devs@lists.sourceforge.net<mailto:WiX-devs@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/wix-devs
>
--
sig://boB
http://joyofsetup.com/
------------------------------------------------------------------------------
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-devs mailing list
WiX-devs@lists.sourceforge.net<mailto:WiX-devs@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
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-devs mailing list
WiX-devs@lists.sourceforge.net<mailto:WiX-devs@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net<mailto:WiX-devs@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs