diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-05-17 01:33:36 +0200 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-05-17 01:33:36 +0200 |
commit | 8b9c84a007e660021c9cf5c8374dd7c5ff34690a (patch) | |
tree | 0ee61535bb8088192415421ee2aa28215b4035fe /tools/wixl/builder.vala | |
parent | f111627a1a1fcb6b83b6cf8bdaacfa72cf3a3f6f (diff) | |
download | msitools-8b9c84a007e660021c9cf5c8374dd7c5ff34690a.tar.gz msitools-8b9c84a007e660021c9cf5c8374dd7c5ff34690a.tar.xz msitools-8b9c84a007e660021c9cf5c8374dd7c5ff34690a.zip |
Add basic JScript CustomAction support
Diffstat (limited to 'tools/wixl/builder.vala')
-rw-r--r-- | tools/wixl/builder.vala | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/tools/wixl/builder.vala b/tools/wixl/builder.vala index 0855fe5..0ed8abc 100644 --- a/tools/wixl/builder.vala +++ b/tools/wixl/builder.vala @@ -1020,12 +1020,23 @@ namespace Wixl { public override void visit_custom_action (WixCustomAction action) throws GLib.Error { CustomActionType type; + string source, target; // FIXME: so many missing things here... - if (action.DllEntry != null) + if (action.DllEntry != null) { type = CustomActionType.DLL_BINARY; - else + source = action.BinaryKey; + target = action.DllEntry; + } else if (action.JScriptCall != null) { + type = CustomActionType.JSCRIPT_BINARY; + source = action.BinaryKey; + target = action.JScriptCall; + } else if (action.ExeCommand != null) { type = CustomActionType.EXE_PROPERTY; + source = action.Property; + target = action.ExeCommand; + } else + throw new Wixl.Error.FAILED ("Unsupported CustomAction"); if (action.Return == "ignore") type |= CustomActionType.CONTINUE; @@ -1034,9 +1045,6 @@ namespace Wixl { if (!parse_yesno (action.Impersonate)) type |= CustomActionType.NO_IMPERSONATE; - string source = action.Property ?? action.BinaryKey; - string target = action.ExeCommand ?? action.DllEntry; - db.table_custom_action.add (action.Id, type, source, target); } |