In your existing target, where you are using HeatDirectory, you could try
something similar to:
<ItemGroup>
<GeneratedFile Include="$(IntermediateOutputPath)All.wxs" />
</ItemGroup>
<DateCompare LHS="%(GeneratedFile.ModifiedTime)" RHS="$(ReleaseTimestamp)">
<Output TaskParameter="Result" PropertyName="UpToDate" />
</DateCompare>
<Message Text="UpToDate: $(UpToDate)" />
<HeatDirectory NoLogo="true" ToolPath="$(WixToolPath)" VerboseOutput="true"
AutogenerateGuids="true"
GenerateGuidsNow="false" OutputFile="$(IntermediateOutputPath)All.wxs"
SuppressFragments="true" Directory="Z:\$(Version)\Data\"
ComponentGroupName="ProductComponents"
DirectoryRefId="CommonData" PreprocessorVariable="var.SourceDataFolder"
SuppressCom="true" SuppressRootDirectory="true" SuppressRegistry="true"
Condition =" '$(UpToDate)' != 'Equal' "/>
<Touch Files="$(IntermediateOutputPath)All.wxs"
Time="$(ReleaseTimestamp)"
Condition=" '$(UpToDate)' != 'Equal' "/>
<XSLTransformation XslInputPath="AddDiskId-Base.xslt"
XmlInputPaths="$(IntermediateOutputPath)All.wxs"
OutputPaths="$(IntermediateOutputPath)%(BU.Folder).wxs"
Parameters="<Parameter Name='FolderName' Value='%(BU.Folder)'/>"
Condition=" ('$(UpToDate)' != 'Equal') Or
(Exists('$(IntermediateOutputPath)%(BU.Folder).wxs') == False) "/>
<!-- Compare $(IntermediateOutputPath) to $(OutputFolder) and only copy if
checksum is different -->
<CompareAndCopyAsNeeded
SourceFile="$(IntermediateOutputPath)%(BU.Folder).wxs"
DestinationFile="$(OutputPath)%(BU.Folder).wxs" />
Note, DateCompare is a simple custom MSBuild task which compares to dates for
equality giving results of <, =, or >. If your Heat output is under version
control, you may have to create an additional intermediate file to store
timestamps info on. I also broke apart my project such that one common project
does the HeatDirectory task, and all the transforms. I then conditionally copy
the output of this stub project to the installer directories if and only if the
contents of the transformed files have changed (another custom build task, MD5
compare and copy if different or missing). The application sub-installers then
just reference the stub project and consume the output.
-----Original Message-----
From: Marco Tognacci [mailto:[email protected]]
Sent: Monday, September 22, 2014 5:54 PM
To: WiX - users
Subject: Re: [WiX-users] HeatDirectory optimization
can you explain with more details how to make this with MSBuild?and how to
record the timestamp, now I'm using TFS to store my files.Thanks
> From: [email protected]
> To: [email protected]
> Date: Mon, 22 Sep 2014 20:59:29 +0000
> Subject: Re: [WiX-users] HeatDirectory optimization
>
> Use MSBuild, specifically the XSLTransform task.
>
> To optimize it even more, you can store the timestamp of the file generated
> with the timestamp used to check out from version control. In which case you
> don't have to re-run the HeatDirectory task every time you run your build
> (unless the timestamp changes or the file is removed).
>
> -----Original Message-----
> From: Marco Tognacci [mailto:[email protected]]
> Sent: Monday, September 22, 2014 3:14 PM
> To: WiX - users
> Subject: [WiX-users] HeatDirectory optimization
>
> In my setup project I use <HeatDirectory> in the msi project definition to
> Harves a directory then I apply a transformation xslt to filter the result in
> the wsx file.
> I made this with several different filter but using the main root directory
> for all of them, in this case the harvesting of the main root is made many
> times.
> To speedup the building process I'd like to make the harvesting of the root
> directory only one time and them to the complete wsx file I want to apply
> each filter to produce the final wsx file.
> Is this possible in some way using heat?
> The only solution that I have found is to use a program to apply the xslt
> transformation, but in this way I have to use an external tool, I'd like to
> have an integrated tool inside WiX
> Thanks.
> ----------------------------------------------------------------------
> -------- Meet PCI DSS 3.0 Compliance Requirements with EventLog
> Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI
> DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download
> White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with
> EventLog Analyzer
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.
> clktrk _______________________________________________
> WiX-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ----------------------------------------------------------------------
> -------- Meet PCI DSS 3.0 Compliance Requirements with EventLog
> Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI
> DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download
> White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with
> EventLog Analyzer
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.
> clktrk _______________________________________________
> WiX-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS
3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready
for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0
Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users