[wix-users] Heat Command Issues / Limitations

Ven H venh.123 at gmail.com
Tue Apr 10 01:20:25 PDT 2018


Thanks a lot, Edwin. So, I think I will have to split into multiple sub
folders to handle this. I will try it. Also, is there any size limit for
the wxs file, beyond which candle cannot process it or will take a lot of
time to generate the wixobj and hence light command will also take time to
process it? Also, any limit on the Component count? Please explain.

Regards,
Venkatesh

On Mon, Apr 9, 2018 at 10:12 PM, Edwin Castro <egcastr at gmail.com> wrote:

> The help for heat.exe says there is a way to suppress all sorts of things.
> There is also an option to explicitly keep empty directories implying they
> are not harvested by default.
>
> <quote>
> C:\>"%WIX%bin\heat.exe" -?
> Windows Installer XML Toolset Toolset Harvester version 3.9.1208.0
> Copyright (c) Outercurve Foundation. All rights reserved.
>
>  usage:  heat.exe harvestType harvestSource <harvester arguments> -o[ut]
> sourceFile.wxs
>
> Supported harvesting types:
>
>    dir      harvest a directory
>    file     harvest a file
>    payload  harvest a bundle payload as RemotePayload
>    perf     harvest performance counters
>    project  harvest outputs of a VS project
>    reg      harvest a .reg file
>    website  harvest an IIS web site
>
> Options:
>    -ag      autogenerate component guids at compile time
>    -cg <ComponentGroupName>  component group name (cannot contain spaces
> e.g -cg MyComponentGroup)
>    -configuration  configuration to set when harvesting the project
>    -directoryid  overridden directory id for generated directory elements
>    -dr <DirectoryName>  directory reference to root directories (cannot
> contain spaces e.g. -dr MyAppDirRef)
>    -ext     <extension>  extension assembly or "class, assembly"
>    -g1      generated guids are not in brackets
>    -generate
>             specify what elements to generate, one of:
>                 components, container, payloadgroup, layout, packagegroup
>                 (default is components)
>    -gg      generate guids now
>    -indent <N>  indentation multiple (overrides default of 4)
>    -ke      keep empty directories
>    -nologo  skip printing heat logo information
>    -out     specify output file (default: write to current directory)
>    -platform  platform to set when harvesting the project
>    -pog
>             specify output group of VS project, one of:
>                 Binaries,Symbols,Documents,Satellites,Sources,Content
>               This option may be repeated for multiple output groups.
>    -projectname  overridden project name to use in variables
>    -scom    suppress COM elements
>    -sfrag   suppress fragments
>    -srd     suppress harvesting the root directory as an element
>    -sreg    suppress registry harvesting
>    -suid    suppress unique identifiers for files, components, &
> directories
>    -svb6    suppress VB6 COM elements
>    -sw<N>   suppress all warnings or a specific message ID
>             (example: -sw1011 -sw1012)
>    -swall   suppress all warnings (deprecated)
>    -t       transform harvested output with XSL file
>    -template  use template, one of: fragment,module,product
>    -v       verbose output
>    -var <VariableName>  substitute File/@Source="SourceDir" with a
> preprocessor or a wix variable
> (e.g. -var var.MySource will become File/@Source="$(var.MySource)\myfile.txt"
> and
> -var wix.MySource will become File/@Source="!(wix.MySource)\myfile.txt"
>    -wixvar  generate binder variables instead of preprocessor variables
>    -wx[N]   treat all warnings or a specific message ID as an error
>             (example: -wx1011 -wx1012)
>    -wxall   treat all warnings as errors (deprecated)
>    -? | -help  this help information
>
> For more information see: http://wixtoolset.org/
> </quote>
>
> Since heat.exe is producing an XML file and those things tend to be
> created in memory and then later saved to disk as one operation I would
> expect heat.exe would eventually start having issues depending on how much
> memory the harvesting requires. Actual limits probably vary depending on
> the details of the specific files getting harvested and perhaps the command
> line options used. I'd definitely recommend dividing up your harvesting
> into multiple harvests and compose them with ComponentGroupRef later on. I
> am calling heat twice to harvest data files versus binary files just to
> keep stuff organized even though I'm not having memory issues.
>
> --
> Edwin G. Castro
>
>
> On Mon, Apr 9, 2018 at 9:22 AM, Ven H via wix-users <
> wix-users at lists.wixtoolset.org> wrote:
>
>> Actually, the total size of the folder is actually around 1.5 GB and the
>> total file count is around 42,000. There are around 3200 folders included.
>> Is Heat capable of handling this volume? If so, are there any dos and
>> don'ts and is there any option / switch which should or should not be used
>> to harvest this huge volume of files? Also, is there a need to split and
>> if
>> so, how?
>> Also, if there are empty folders, then will heat harvest them or ignore
>> them? Please advise. Also, I came across a link which seems to briefly
>> touch upon some of these, but completely. It will be great, if anyone can
>> please help.
>>
>> https://blogs.msdn.microsoft.com/icumove/2009/05/31/right-co
>> rner-wix-heat-left-corner-thousands-of-files/
>>
>> Regards,
>> Venkatesh
>>
>> On Mon, Apr 9, 2018 at 6:50 PM, Ven H <venh.123 at gmail.com> wrote:
>>
>> > I have a folder with lots of nested sub folders with files inside. The
>> > files include DLLs, COMs, images, C# source code, config files, XML
>> files,
>> > JS, CSS, HTML, asp, aspx and so on. The size of the outermost folder is
>> > around 1.4 GB. When I am running Heat command on this, it does throw
>> some
>> > warnings on some DLLs and COMs. Also, for a few files, the heat command
>> > seems enormous amount of time. I am not able to figure out why this is
>> > happening or how to troubleshoot this. If you have any idea, can you
>> please
>> > help?
>> >
>>
>> ____________________________________________________________________
>> WiX Toolset Users Mailing List provided by FireGiant
>> http://www.firegiant.com/
>>
>
>


More information about the wix-users mailing list