[msitools] wixl: add RegistrySearch and CustomAction



commit ae09cd30342a8794ad7a4f3bbca911f63401b444
Author: Marc-Andrà Lureau <marcandre lureau gmail com>
Date:   Thu Jan 24 21:47:54 2013 +0100

    wixl: add RegistrySearch and CustomAction

 tools/wixl/builder.vala |    8 ++++++++
 tools/wixl/wix.vala     |   40 ++++++++++++++++++++++++++++++++++++++++
 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),
             });
         }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]