summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-24 21:47:54 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-24 23:50:31 +0100
commitae09cd30342a8794ad7a4f3bbca911f63401b444 (patch)
treefff90bc7505d9c2c4c6af326b405a2b0f2edf3d1 /tools
parent605ffb087e776bb58ccdc378b220f8323d7affc4 (diff)
downloadmsitools-ae09cd30342a8794ad7a4f3bbca911f63401b444.tar.gz
msitools-ae09cd30342a8794ad7a4f3bbca911f63401b444.tar.xz
msitools-ae09cd30342a8794ad7a4f3bbca911f63401b444.zip
wixl: add RegistrySearch and CustomAction
Diffstat (limited to 'tools')
-rw-r--r--tools/wixl/builder.vala8
-rw-r--r--tools/wixl/wix.vala40
2 files changed, 48 insertions, 0 deletions
diff --git a/tools/wixl/builder.vala b/tools/wixl/builder.vala
index 4b100f9..5db0f21 100644
--- a/tools/wixl/builder.vala
+++ b/tools/wixl/builder.vala
@@ -915,6 +915,14 @@ namespace Wixl {
db.table_service_install.add(service_install.Id, service_install.Name, service_install.DisplayName, ServiceType, StartType, ErrorControl, service_install.LoadOrderGroup, ServiceDependencies, service_install.Account, service_install.Password, service_install.Arguments, comp.Id, Description);
}
+
+ public override void visit_registry_search (WixRegistrySearch search) throws GLib.Error {
+
+ }
+
+ public override void visit_custom_action (WixCustomAction action) throws GLib.Error {
+
+ }
}
} // Wixl
diff --git a/tools/wixl/wix.vala b/tools/wixl/wix.vala
index 29a85f7..55f3574 100644
--- a/tools/wixl/wix.vala
+++ b/tools/wixl/wix.vala
@@ -61,6 +61,8 @@ namespace Wixl {
public abstract void visit_service_control (WixServiceControl service_control, VisitState state) throws GLib.Error;
public abstract void visit_service_dependency (WixServiceDependency service_dependency) throws GLib.Error;
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 class WixNode: Object {
@@ -285,14 +287,34 @@ namespace Wixl {
}
}
+ public class WixRegistrySearch: WixElement {
+ static construct {
+ name = "RegistrySearch";
+ }
+
+ public string Root { get; set; }
+ public string Key { get; set; }
+ public string Type { get; set; }
+ public string Name { get; set; }
+
+ public override void accept (WixNodeVisitor visitor) throws GLib.Error {
+ visitor.visit_registry_search (this);
+ }
+ }
+
public class WixProperty: WixElement {
static construct {
name = "Property";
+
+ add_child_types (child_types, {
+ typeof (WixRegistrySearch),
+ });
}
public string Value { get; set; }
public override void accept (WixNodeVisitor visitor) throws GLib.Error {
+ base.accept (visitor);
visitor.visit_property (this);
}
}
@@ -642,6 +664,7 @@ namespace Wixl {
public string Overridable { get; set; }
public string Sequence { get; set; }
public string Suppress { get; set; }
+ public string Action { get; set; }
public override void load (Xml.Node *node) throws Wixl.Error {
base.load (node);
@@ -865,6 +888,22 @@ namespace Wixl {
}
}
+ public class WixCustomAction: WixElement {
+ static construct {
+ name = "CustomAction";
+ }
+
+ public string Property { get; set; }
+ public string Execute { get; set; }
+ public string ExeCommand { get; set; }
+ public string Impersonate { get; set; }
+ public string Return { get; set; }
+
+ public override void accept (WixNodeVisitor visitor) throws GLib.Error {
+ visitor.visit_custom_action (this);
+ }
+ }
+
public class WixProduct: WixElement {
static construct {
name = "Product";
@@ -884,6 +923,7 @@ namespace Wixl {
typeof (WixPackage),
typeof (WixProperty),
typeof (WixUpgrade),
+ typeof (WixCustomAction),
});
}