I haven’t been keeping track, so I wonder if someone could tell me if this has
been resolved, and if so in which version/build of WiX?
Or if I should just accept the situation and continue to use my home-made
modification of the wix2010.targets file?
Thanks,
Rennie
From: Rob Mensching [mailto:[email protected]]
Sent: 19. marts 2013 17:51
To: Windows Installer XML toolset developer mailing list
Subject: Re: [WiX-devs] Project with merge modules defeating incremental build
facility
Blair, I'm pretty sure that would change *everything*. I still believe the fix
is going to require someone to go in and fix the contents files so they don't
end up refering to files that mergemod.dll is going to extract to random
directories. <smile/>
On Fri, Mar 15, 2013 at 12:37 PM, Blair Murri
<[email protected]<mailto:[email protected]>> wrote:
Conceptually the following is a good way to view the Binder (it is somewhat
simplified, so the usual caveats apply): in the WiX toolset the "native" file
formats are all based on XML (with a small smattering of ZIP) but the final
output files are mostly not that format. So the Binder is the component the
Linker uses to write the non-WiX-native files (like MSI, MST, EXE (in the case
of Burn), etc.). It's called the binder because it takes not just the output of
the Linker but also all the files referenced by the linker and "binds" them
into the final output file(s).
What is happening here is that the Binder emits a file indicating all of those
referenced files (since if any of them changed you need a re-link (or at
minimum a rebind) to incorporate those changed files into the output file. To
enable correct incremental linking MSBuild needs to have a list of the files
that were incorporated by the binder into the output file. However, some of
those files may not exist after the linker is done (if that portion of the temp
folder was cleaned, for instance) and if MSBuild can't find them it assumes
that a rebuild is needed. So resetting timestamps will do nothing for this
issue.
Devs: would moving @(_BindBuiltOutputs) from Outputs to Inputs fix this issue?
Or would it introduce some other subtle error?
-Blair
________________________________
From: [email protected]<mailto:[email protected]>
To: [email protected]<mailto:[email protected]>
Date: Thu, 14 Mar 2013 18:05:05 +0000
Subject: Re: [WiX-devs] Project with merge modules defeating incremental build
facility
Yes, well, I'm sure you're right. I don't even know what the "Binder" is.
All I know is that when I started researching this, what I could see in the
MSBuild logs that marked the turning point of whether MSBuild ran the Link task
or not was a message where it said "All output files are up to date" in the
cases where it didn't run Link. And as far as I know MSBuild does not keep
track of whether there have been changes in the collection of files from one
build to the next, it just blindly compares timestamps on the current input
files vs. the current output files.
Yours,
Rennie
From: Rob Mensching [mailto:[email protected]<mailto:[email protected]>]
Sent: 14. marts 2013 18.32
To: Windows Installer XML toolset developer mailing list
Subject: Re: [WiX-devs] Project with merge modules defeating incremental build
facility
It's not a timestamp issue. The file paths change everytime so there are always
a set of files that were removed and a set of files that were added. Even if
the timestamps were correct (they may be) the add/remove makes it look like a
lot of changes. So, the Binder would need to taught to recoginize the files
from Merge Modules much as I described above.
On Thu, Mar 14, 2013 at 9:53 AM, Rennie Petersen
<[email protected]<mailto:[email protected]>> wrote:
I'm not sure I understand - I had assumed that the BindContentsFileList was a
list created by WiX as part of the build.
Anyway, it is correct that the three temporary files get different names on
every build. I've attached some of them for your viewing pleasure.
I'm still thinking that the way to fix this is to set the timestamps on those
temporary files to equal the timestamp on the merge module file, but what do I
know?
Yours,
Rennie
From: Rob Mensching [mailto:[email protected]<mailto:[email protected]>]
Sent: 14. marts 2013 15.55
To: Windows Installer XML toolset developer mailing list
Subject: Re: [WiX-devs] Project with merge modules defeating incremental build
facility
My bet is that the mergemod.dll is extracting the contained files to a random
temp location. Thus every time the Merge Module is merged, the
BindContentsFileList gets a different set of file names and thinks things are
out of date. If you could confirm that, that'd be awesome.
If my guess is correct, the fix is to probably to add the paths to the merge
modules to the BindContentsFileList *instead of* the files in the merge modules.
On Wed, Mar 13, 2013 at 12:11 PM, Rennie Petersen
<[email protected]<mailto:[email protected]>> wrote:
> This conversation is better for wix-devs,
OK.
> short answer: no WiX does not create those files. The mergemod.dll from the
> MSI SDK creates those files
Hmm, but WiX must get the filenames of the three files since they end up on the
projectName.BindContentsFileListextension.txt list of files.
So again, what you should do with those three temporary files is to set their
timestamp to the timestamp of the merge module file. That should solve the
problem.
Yours,
Rennie
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
WiX-devs mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
WiX-devs mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
Everyone hates slow websites. So do we. Make your web apps faster with
AppDynamics Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________ WiX-devs mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
WiX-devs mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs