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

Reply via email to