qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2] qemu-ga: Prevent QEMU-GA VSS provider from being


From: Leonid Bloch
Subject: [Qemu-devel] [PATCH v2] qemu-ga: Prevent QEMU-GA VSS provider from being unregistered on reinstall
Date: Mon, 3 Aug 2015 13:39:03 +0300

Previously, running the .msi would unregister the QEMU GA VSS service if QEMU 
GA was already installed on the machine, and then register it only if QEMU GA 
was NOT previously installed. This behavior caused the service to be registered 
only after the INITIAL installation, and any subsequent run of the .msi (to 
redo, repair, or upgrade the installation) ended in the service being 
unregistered.

Now, the VSS service is still unregistered if QEMU GA is already installed (so 
that a fix or an update could be performed) but then it is registered again (if 
the GA is not being uninstalled) thus finishing the repair/upgrade correctly. 
Additionally, downgrading is now prevented. If a user would like to downgrade a 
version, he/she must uninstall the newer version first.

Signed-off-by: Leonid Bloch <address@hidden>
---
 qga/installer/qemu-ga.wxs | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs
index 2c43f1b..968cc26 100644
--- a/qga/installer/qemu-ga.wxs
+++ b/qga/installer/qemu-ga.wxs
@@ -58,13 +58,9 @@
       />
     <Media Id="1" Cabinet="qemu_ga.$(env.QEMU_GA_VERSION).cab" EmbedCab="yes" 
/>
     <Property Id="WHSLogo">1</Property>
-    <Property Id="PREVIOUSVERSIONSINSTALLED" />
-    <Upgrade Id="{EB6B8302-C06E-4bec-ADAC-932C68A3A98D}">
-      <UpgradeVersion
-        Minimum="1.0.0.0" Maximum="$(env.QEMU_GA_VERSION)"
-        Property="PREVIOUSVERSIONSINSTALLED"
-        IncludeMinimum="yes" IncludeMaximum="no" />
-    </Upgrade>
+    <MajorUpgrade
+      DowngradeErrorMessage="Error: A newer version of QEMU guest agent is 
already installed."
+      />
 
     <Directory Id="TARGETDIR" Name="SourceDir">
       <Directory Id="$(var.GaProgramFilesFolder)" Name="QEMU Guest Agent">
@@ -110,6 +106,7 @@
     </Directory>
 
     <Property Id="cmd" Value="cmd.exe"/>
+    <Property Id="REINSTALLMODE" Value="amus"/>
 
     <?ifdef var.InstallVss ?>
     <CustomAction Id="RegisterCom"
@@ -135,10 +132,9 @@
     </Feature>
 
     <InstallExecuteSequence>
-      <RemoveExistingProducts Before="InstallInitialize" />
       <?ifdef var.InstallVss ?>
-      <Custom Action="RegisterCom" After="InstallServices">NOT 
Installed</Custom>
       <Custom Action="UnRegisterCom" After="StopServices">Installed</Custom>
+      <Custom Action="RegisterCom" After="InstallServices">NOT REMOVE</Custom>
       <?endif?>
     </InstallExecuteSequence>
   </Product>
-- 
2.4.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]