[wix-users] Heat Command Issues / Limitations
Ven H
venh.123 at gmail.com
Tue Apr 10 04:51:56 PDT 2018
I am having a hard time splitting it, since there are folders which have
sub folders and files. One of the sub folders has nested sub folders which
have 40K files. Now, even when I split the harvesting for different
folders, it will be very difficult to merge them in the proper order. This
is because the directory paths in the output files are not hierarchical and
also individual files get missed out from harvesting. If I harvest as a
whole also, it is taking more than 1/2 hour. I am not sure how to handle
it. Can you please advise?
Regards,
Venkatesh
On Tue, Apr 10, 2018 at 1:50 PM, Ven H <venh.123 at gmail.com> wrote:
> 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