summaryrefslogtreecommitdiffstats
path: root/tools/wixl
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-05-16 01:53:30 +0200
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-05-16 02:38:44 +0200
commit73cf9832c693b548bd1732ab77bec9e349e3cdd6 (patch)
tree719ff773a727c3d757ad02a55a92bbc55a1fbc18 /tools/wixl
parentfe9a3a12d883917e6202c71210c1701676b44213 (diff)
downloadmsitools-73cf9832c693b548bd1732ab77bec9e349e3cdd6.tar.gz
msitools-73cf9832c693b548bd1732ab77bec9e349e3cdd6.tar.xz
msitools-73cf9832c693b548bd1732ab77bec9e349e3cdd6.zip
wixl: visit Binary and fill db
Diffstat (limited to 'tools/wixl')
-rw-r--r--tools/wixl/builder.vala7
-rw-r--r--tools/wixl/wix.vala19
2 files changed, 26 insertions, 0 deletions
diff --git a/tools/wixl/builder.vala b/tools/wixl/builder.vala
index a7405ad..b57cac8 100644
--- a/tools/wixl/builder.vala
+++ b/tools/wixl/builder.vala
@@ -1031,6 +1031,13 @@ namespace Wixl {
db.table_custom_action.add (action.Id, type, action.Property, action.ExeCommand);
}
+
+ public override void visit_binary (WixBinary binary) throws GLib.Error {
+ FileInfo info;
+
+ binary.file = find_file (binary.SourceFile, out info);
+ db.table_binary.add (binary.Id, binary.file.get_path ());
+ }
}
} // Wixl
diff --git a/tools/wixl/wix.vala b/tools/wixl/wix.vala
index 52ec667..717062b 100644
--- a/tools/wixl/wix.vala
+++ b/tools/wixl/wix.vala
@@ -63,6 +63,7 @@ namespace Wixl {
public abstract void visit_service_install (WixServiceInstall service_install, VisitState state) throws GLib.Error;
public abstract void visit_registry_search (WixRegistrySearch search) throws GLib.Error;
public abstract void visit_custom_action (WixCustomAction action) throws GLib.Error;
+ public abstract void visit_binary (WixBinary binary) throws GLib.Error;
}
public abstract class WixNode: Object {
@@ -912,12 +913,29 @@ namespace Wixl {
public string ExeCommand { get; set; }
public string Impersonate { get; set; }
public string Return { get; set; }
+ public string BinaryKey { get; set; }
+ public string DllEntry { get; set; }
+ public string HideTarget { get; set; }
public override void accept (WixNodeVisitor visitor) throws GLib.Error {
visitor.visit_custom_action (this);
}
}
+ public class WixBinary: WixElement {
+ static construct {
+ name = "Binary";
+ }
+
+ public string SourceFile { get; set; }
+
+ public File file;
+
+ public override void accept (WixNodeVisitor visitor) throws GLib.Error {
+ visitor.visit_binary (this);
+ }
+ }
+
public class WixProduct: WixElement {
static construct {
name = "Product";
@@ -938,6 +956,7 @@ namespace Wixl {
typeof (WixProperty),
typeof (WixUpgrade),
typeof (WixCustomAction),
+ typeof (WixBinary),
});
}