diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-14 14:41:31 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-15 16:24:44 +0100 |
commit | b0f2bdc39b8c9eac4c0aaca14d4491002b78087a (patch) | |
tree | 981db0f52c2124ecb57a82a8e469b107c8e07d42 /tools/wixl | |
parent | da61a02677846ab12766631f3ead1bb4fb644ab6 (diff) | |
download | msitools-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.vala | 7 | ||||
-rw-r--r-- | tools/wixl/wix.vala | 1 |
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 { |