summaryrefslogtreecommitdiffstats
path: root/tools/wixl
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-14 14:41:31 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-15 16:24:44 +0100
commitb0f2bdc39b8c9eac4c0aaca14d4491002b78087a (patch)
tree981db0f52c2124ecb57a82a8e469b107c8e07d42 /tools/wixl
parentda61a02677846ab12766631f3ead1bb4fb644ab6 (diff)
downloadmsitools-b0f2bdc39b8c9eac4c0aaca14d4491002b78087a.tar.gz
msitools-b0f2bdc39b8c9eac4c0aaca14d4491002b78087a.tar.xz
msitools-b0f2bdc39b8c9eac4c0aaca14d4491002b78087a.zip
wixl: files must be ordered the same way in Cab and File table
Diffstat (limited to 'tools/wixl')
-rw-r--r--tools/wixl/builder.vala7
-rw-r--r--tools/wixl/wix.vala1
2 files changed, 3 insertions, 5 deletions
diff --git a/tools/wixl/builder.vala b/tools/wixl/builder.vala
index 11e6309..a0bc91f 100644
--- a/tools/wixl/builder.vala
+++ b/tools/wixl/builder.vala
@@ -167,12 +167,12 @@ namespace Wixl {
private void build_cabinet () throws GLib.Error {
var sequence = 0;
var medias = get_elements<WixMedia> ();
- var files = get_elements<WixFile> ();
foreach (var m in medias) {
var folder = new GCab.Folder (GCab.Compression.MSZIP);
- foreach (var f in files) {
+ foreach (var rec in db.table_file.records) {
+ var f = rec.get_data<WixFile> ("wixfile");
if (f.DiskId != m.Id)
continue;
@@ -181,7 +181,6 @@ namespace Wixl {
continue;
folder.add_file (new GCab.File.with_file (f.Id, f.file), false);
- var rec = f.record;
sequence += 1;
MsiTableFile.set_sequence (rec, sequence);
}
@@ -544,7 +543,7 @@ namespace Wixl {
var attr = FileAttribute.VITAL;
var rec = db.table_file.add (file.Id, comp.Id, name, (int)info.get_size (), attr);
- file.record = rec;
+ rec.set_data<WixFile> ("wixfile", file);
visit_key_element (file);
}
diff --git a/tools/wixl/wix.vala b/tools/wixl/wix.vala
index 1901d09..bc4febd 100644
--- a/tools/wixl/wix.vala
+++ b/tools/wixl/wix.vala
@@ -340,7 +340,6 @@ namespace Wixl {
public string Source { get; set; }
public string Name { get; set; }
- public Libmsi.Record record;
public File file;
public override void accept (WixNodeVisitor visitor) throws GLib.Error {