summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-04 16:59:06 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-06 16:38:26 +0100
commit978d1435f143591f5c51079cc3c85019b8e54d31 (patch)
tree8d16b16309650a7198214610bf58cd60f65979a8 /src
parent596edcd3f05b4eaa0217779d15f3ba3de9cdec1e (diff)
downloadmsitools-978d1435f143591f5c51079cc3c85019b8e54d31.tar.gz
msitools-978d1435f143591f5c51079cc3c85019b8e54d31.tar.xz
msitools-978d1435f143591f5c51079cc3c85019b8e54d31.zip
Component: set REGISTRY_KEY_PATH attribute
Diffstat (limited to 'src')
-rw-r--r--src/builder.vala24
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);