diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-04 16:59:06 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-06 16:38:26 +0100 |
commit | 978d1435f143591f5c51079cc3c85019b8e54d31 (patch) | |
tree | 8d16b16309650a7198214610bf58cd60f65979a8 | |
parent | 596edcd3f05b4eaa0217779d15f3ba3de9cdec1e (diff) | |
download | msitools-978d1435f143591f5c51079cc3c85019b8e54d31.tar.gz msitools-978d1435f143591f5c51079cc3c85019b8e54d31.tar.xz msitools-978d1435f143591f5c51079cc3c85019b8e54d31.zip |
Component: set REGISTRY_KEY_PATH attribute
-rw-r--r-- | src/builder.vala | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/builder.vala b/src/builder.vala index a021434..780cb65 100644 --- a/src/builder.vala +++ b/src/builder.vala @@ -124,10 +124,32 @@ namespace Wixl { warning ("unhandled parent type %s", dir.parent.name); } + [Flags] + enum ComponentAttribute { + LOCAL_ONLY = 0, + SOURCE_ONLY, + OPTIONAL, + REGISTRY_KEY_PATH, + SHARED_DLL_REF_COUNT, + PERMANENT, + ODBC_DATA_SOURCE, + TRANSITIVE, + NEVER_OVERWRITE, + 64BIT, + REGISTRY_REFLECTION, + UNINSTALL_ON_SUPERSEDENCE, + SHARED, + } + public override void visit_component (WixComponent comp) throws GLib.Error { + var attr = 0; + + if (comp.key is WixRegistryValue) + attr |= ComponentAttribute.REGISTRY_KEY_PATH; + if (comp.parent.get_type () == typeof (WixDirectory)) { var parent = comp.parent as WixDirectory; - db.table_component.add (comp.Id, add_braces (comp.Guid), parent.Id, 0, + db.table_component.add (comp.Id, add_braces (comp.Guid), parent.Id, attr, comp.key != null ? comp.key.Id : null); } else warning ("unhandled parent type %s", comp.parent.name); |