Not sure if this is really your problem but I suspect that heat.exe expects the value of parameters to be in different arguments: 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));
From: Denis Shienkov Sent: Mittwoch, 4. Juni 2014 15:40 To: qbs@qt-project.org; Jake Petroules; Christian Kandeler Subject: Re: [QBS] Fwd: Function to enumerate all files in desired directory 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
_______________________________________________ QBS mailing list QBS@qt-project.org http://lists.qt-project.org/mailman/listinfo/qbs