diff options
| author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-09 00:21:06 +0100 |
|---|---|---|
| committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-09 00:21:06 +0100 |
| commit | 9342db278c92c5f234137663dfd7d837a8a60d2f (patch) | |
| tree | d0a6356a2416f84db463ed5415bb973e889655f0 /src/builder.vala | |
| parent | 238927266ee3996dd4f0b3c88b60c8173b90d421 (diff) | |
| download | msitools-9342db278c92c5f234137663dfd7d837a8a60d2f.tar.gz msitools-9342db278c92c5f234137663dfd7d837a8a60d2f.tar.xz msitools-9342db278c92c5f234137663dfd7d837a8a60d2f.zip | |
msi: populate Upgrade table
Diffstat (limited to 'src/builder.vala')
| -rw-r--r-- | src/builder.vala | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/builder.vala b/src/builder.vala index 1606bb2..bc28c8f 100644 --- a/src/builder.vala +++ b/src/builder.vala @@ -502,10 +502,30 @@ namespace Wixl { public override void visit_condition (WixCondition condition) throws GLib.Error { } + [Flags] + enum UpgradeAttribute { + MIGRATE_FEATURES = 1 << 0, + ONLY_DETECT = 1 << 1, + IGNORE_REMOVE_FAILURE = 1 << 2, + VERSION_MIN_INCLUSIVE = 1 << 8, + VERSION_MAX_INCLUSIVE = 1 << 9, + LANGUAGES_EXCLUSIVE = 1 << 10 + } + public override void visit_upgrade (WixUpgrade upgrade) throws GLib.Error { } public override void visit_upgrade_version (WixUpgradeVersion version) throws GLib.Error { + var upgrade = version.parent as WixUpgrade; + UpgradeAttribute attributes = 0; + + if (parse_yesno (version.OnlyDetect)) + attributes |= UpgradeAttribute.ONLY_DETECT; + + if (parse_yesno (version.IncludeMinimum, true)) + attributes |= UpgradeAttribute.VERSION_MIN_INCLUSIVE; + + db.table_upgrade.add (get_uuid (upgrade.Id), version.Minimum, version.Maximum, attributes, version.Property); } public override void visit_remove_existing_products (WixRemoveExistingProducts remove) throws GLib.Error { |
