[virt-tools-list] [PATCH virt-viewer] msi: use ProductVersion compatible with Windows Installer

Marc-André Lureau marcandre.lureau at gmail.com
Fri Jul 26 12:55:52 UTC 2013


Windows Installer expects version of form major.minor.build in order to
perform updates.

Following Daniel Berrange suggestion, compute a ProductVersion
compatible with this scheme by shifting virt-viewer "micro" release
number and adding the extra "buildid".
---
 configure.ac            | 14 ++++++++++++++
 data/virt-viewer.wxs.in |  4 ++--
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 4cf6a60..98277fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -201,6 +201,20 @@ fi
 AC_ARG_WITH([buildid],
     AS_HELP_STRING([--with-buildid=id], [Set additional build version details]))
 AC_DEFINE_UNQUOTED([BUILDID], "$with_buildid", [Build version details])
+if test "x$with_buildid" != x; then
+    AC_SUBST([BUILDID], "-$with_buildid")
+fi
+
+major=`echo $PACKAGE_VERSION | cut -d. -f1`
+minor=`echo $PACKAGE_VERSION | cut -d. -f2`
+micro=`echo $PACKAGE_VERSION | cut -d. -f3`
+buildid=`echo $with_buildid | cut -d. -f1`
+if test "x$buildid" = x; then
+   buildid=0
+fi
+build=`expr $micro \* 256 + $buildid`
+WINDOWS_PRODUCTVERSION="$major.$minor.$build"
+AC_SUBST([WINDOWS_PRODUCTVERSION])
 
 AC_CONFIG_FILES([
     Makefile
diff --git a/data/virt-viewer.wxs.in b/data/virt-viewer.wxs.in
index c2c8502..6c1d412 100644
--- a/data/virt-viewer.wxs.in
+++ b/data/virt-viewer.wxs.in
@@ -2,7 +2,7 @@
 
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
 
-  <?define Version = "@VERSION@"?>
+  <?define Version = "@WINDOWS_PRODUCTVERSION@"?>
   <?define Arch = "@WIXL_ARCH@"?>
   <?if $(var.Arch) = "x64"?>
       <?define GLIB_ARCH = "win64"?>
@@ -32,7 +32,7 @@
 
   <?define UpgradeCode = "5B027138-1A63-49E6-877E-055E5EEC1903"?>
   <Product Id="*"
-           Name="VirtViewer $(var.Version) ($(var.ArchString)$(var.UserString))"
+           Name="VirtViewer @VERSION@@BUILDID@ ($(var.ArchString)$(var.UserString))"
            Manufacturer="$(env.MANUFACTURER)"
            Version="$(var.Version)"
            UpgradeCode="$(var.UpgradeCode)"
-- 
1.8.3.rc1.49.g8d97506




More information about the virt-tools-list mailing list