[msitools] wixl: handle CustomAction of type DLL_BINARY



commit f111627a1a1fcb6b83b6cf8bdaacfa72cf3a3f6f
Author: Marc-André Lureau <marcandre lureau gmail com>
Date:   Thu May 16 01:54:01 2013 +0200

    wixl: handle CustomAction of type DLL_BINARY

 tools/wixl/builder.vala |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/tools/wixl/builder.vala b/tools/wixl/builder.vala
index b57cac8..0855fe5 100644
--- a/tools/wixl/builder.vala
+++ b/tools/wixl/builder.vala
@@ -1019,8 +1019,13 @@ namespace Wixl {
         }
 
         public override void visit_custom_action (WixCustomAction action) throws GLib.Error {
+            CustomActionType type;
+
             // FIXME: so many missing things here...
-            var type = CustomActionType.EXE_PROPERTY;
+            if (action.DllEntry != null)
+                type = CustomActionType.DLL_BINARY;
+            else
+                type = CustomActionType.EXE_PROPERTY;
 
             if (action.Return == "ignore")
                 type |= CustomActionType.CONTINUE;
@@ -1029,7 +1034,10 @@ namespace Wixl {
             if (!parse_yesno (action.Impersonate))
                 type |= CustomActionType.NO_IMPERSONATE;
 
-            db.table_custom_action.add (action.Id, type, action.Property, action.ExeCommand);
+            string source = action.Property ?? action.BinaryKey;
+            string target = action.ExeCommand ?? action.DllEntry;
+
+            db.table_custom_action.add (action.Id, type, source, target);
         }
 
         public override void visit_binary (WixBinary binary) throws GLib.Error {


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