summaryrefslogtreecommitdiffstats
path: root/tools/wixl
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-05-16 01:54:01 +0200
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-05-16 02:38:44 +0200
commitf111627a1a1fcb6b83b6cf8bdaacfa72cf3a3f6f (patch)
tree684f0eafc65850c12673f50d0cf924ff25a2329b /tools/wixl
parent73cf9832c693b548bd1732ab77bec9e349e3cdd6 (diff)
downloadmsitools-f111627a1a1fcb6b83b6cf8bdaacfa72cf3a3f6f.tar.gz
msitools-f111627a1a1fcb6b83b6cf8bdaacfa72cf3a3f6f.tar.xz
msitools-f111627a1a1fcb6b83b6cf8bdaacfa72cf3a3f6f.zip
wixl: handle CustomAction of type DLL_BINARY
Diffstat (limited to 'tools/wixl')
-rw-r--r--tools/wixl/builder.vala12
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 {