[QBS] Fwd: Function to enumerate all files in desired directory
Denis Shienkov
denis.shienkov at gmail.com
Wed Jun 4 15:40:27 CEST 2014
Hi guys.
I have a trouble using the "heat.exe" utility to generate an *.wxs file.
I got an error:
...
generating myfiles.wxs
C:\Program Files\WiX Toolset v3.8\bin/heat.exe dir . -cg MyProjectFiles -gg
-scom -sreg -sfrag -srd -dr INSTALLLOCATION -var env.MyProjectFilesDir
-template fragment -out myfiles.wxs
heat.exe : error HEAT0319 : The '-out' or '-o' parameter must specify a
file path.
Process failed with exit code 319.
...
but same command line perfectly works from the "cmd.exe" if I run it
manually.
Even when I cut the command line up to: "C:\Program Files\WiX Toolset
v3.8\bin/heat.exe dir . -out myfiles.wxs" then I got same error...
The source code of my Rule:
Rule {
id: heater
inputs: [ "xslt" ]
Artifact {
fileTags: [ "wxs" ]
fileName: product.destinationDirectory + "/myfiles.wxs"
}
prepare: {
var args = [];
args.push("dir .");
args.push("-cg MyProjectFiles");
args.push("-gg");
args.push("-scom");
args.push("-sreg");
args.push("-sfrag");
args.push("-srd");
args.push("-dr INSTALLLOCATION");
args.push("-var env.MyProjectFilesDir");
args.push("-template fragment");
args.push("-out " + FileInfo.fileName(output.fileName));
var cmd = new Command("heat.exe", args);
cmd.description = "generating " +
FileInfo.fileName(output.fileName);
cmd.highlight = "generator";
cmd.workingDirectory = FileInfo.path(output.fileName);
return cmd;
}
}
UPD: If I to do replacing an arguments to one line:
args.push("dir . -cg MyProjectFiles -gg -scom -sreg -sfrag -srd -dr
INSTALLLOCATION -var env.MyProjectFilesDir -template fragment -out " +
FileInfo.fileName(output.fileName));
then I got another error:
...
generating mtrfiles.wxs
C:\Program Files\WiX Toolset v3.8\bin/heat.exe dir . -cg MyProjectFiles -gg
-scom -sreg -sfrag -srd -dr INSTALLLOCATION -var env.MyProjectFilesDir
-template fragment -out myfiles.wxs
heat.exe : error HEAT0318 : A harvest source must be specified after the
harvest type and can be followed by harvester arguments.
Process failed with exit code 318.
...
I found a similary problem in Google:
http://sourceforge.net/p/wix/bugs/2378/
but those recommendations (with quoted the paths) do not helps..
Guys, what is strange error? :(
BR,
Denis
2014-06-03 11:08 GMT+04:00 Denis Shienkov <denis.shienkov at gmail.com>:
> Guys, many thanks for yours help.
>
> BR,
> Denis
>
>
> 2014-06-02 19:34 GMT+04:00 Jake Petroules <jake.petroules at petroules.com>:
>
> On 2014-06-02, at 11:12 AM, <Johannes.Matokic at microchip.com> <
>> Johannes.Matokic at microchip.com> wrote:
>>
>> Hi Denis,
>>
>> If you only need the files for use with WiX there might be a workaround.
>>
>> WiX provides the tool head.exe which can create wxs files with a
>> component containing all files found in one directory.
>> This tool could be easily used in special rule or transform which
>> requires only one file as the root of the directory structure as input.
>>
>> This rule would then call “heat.exe dir sourceDir -out output.wxs” with
>> extra arguments as required and would produce output.wxs which when tagged
>> as “wxs” should be used by the wix module like any normal wxs-file.
>>
>> You then don’t have a list of all files inside qbs but they will still be
>> included in the installer.
>> However I don’t think that heat is able to filter for specific files. You
>> have to make sure that only the files you really want are inside the
>> directory.
>>
>> Best Regards,
>> Johannes
>> _______________________________________________
>> QBS mailing list
>> QBS at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/qbs
>>
>>
>> This is a good point. The task for implementing WiX support in Qbs
>> (QBS-413) is still incomplete; there's a lot of functionality to add and it
>> will be a while before I'll be able to get to it all. heat is the perfect
>> tool for a 'WixFileCollection' product type or something of the sort.
>> Perhaps it could even collect output artifacts of dependent products
>> allowing for a clean, smooth way of getting your EXEs and DLLs into your
>> MSI.
>> --
>> Jake Petroules - jake.petroules at petroules.com
>> Chief Technology Officer - Petroules Corporation
>>
>> _______________________________________________
>> QBS mailing list
>> QBS at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/qbs
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20140604/7b7ceb6a/attachment.html>
More information about the Qbs
mailing list