[msitools] wixl: visit RegistrySearch and populate db
- From: Marc-Andre Lureau <malureau src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [msitools] wixl: visit RegistrySearch and populate db
- Date: Thu, 24 Jan 2013 22:51:44 +0000 (UTC)
commit f014a5c6d7dd4835b4e773605809b7ca44496a48
Author: Marc-Andrà Lureau <marcandre lureau gmail com>
Date: Thu Jan 24 23:47:10 2013 +0100
wixl: visit RegistrySearch and populate db
tools/wixl/builder.vala | 22 ++++++++++++++++++++++
tools/wixl/wix.vala | 1 +
2 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/tools/wixl/builder.vala b/tools/wixl/builder.vala
index b8c63c1..43a8542 100644
--- a/tools/wixl/builder.vala
+++ b/tools/wixl/builder.vala
@@ -919,7 +919,29 @@ namespace Wixl {
db.table_service_install.add(service_install.Id, service_install.Name, service_install.DisplayName, ServiceType, StartType, ErrorControl, service_install.LoadOrderGroup, ServiceDependencies, service_install.Account, service_install.Password, service_install.Arguments, comp.Id, Description);
}
+
+ enum RegistryType {
+ DIRECTORY,
+ FILE,
+ RAW,
+ 64BIT = 0x10;
+
+ public static RegistryType from_string (string s) throws GLib.Error {
+ return enum_from_string<RegistryType> (s);
+ }
+ }
+
public override void visit_registry_search (WixRegistrySearch search) throws GLib.Error {
+ var property = search.parent as WixProperty;
+
+ var root = RegistryRoot.from_string (search.Root.down ());
+ var type = RegistryType.from_string (search.Type.down ());
+ if (parse_yesno (search.Win64))
+ type |= RegistryType.64BIT;
+
+ db.table_app_search.add (property.Id, search.Id);
+ db.table_reg_locator.add (search.Id, root, search.Key, search.Name, type);
+ }
[Flags]
enum CustomActionType {
diff --git a/tools/wixl/wix.vala b/tools/wixl/wix.vala
index 55f3574..dee6947 100644
--- a/tools/wixl/wix.vala
+++ b/tools/wixl/wix.vala
@@ -296,6 +296,7 @@ namespace Wixl {
public string Key { get; set; }
public string Type { get; set; }
public string Name { get; set; }
+ public string Win64 { get; set; }
public override void accept (WixNodeVisitor visitor) throws GLib.Error {
visitor.visit_registry_search (this);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]