summaryrefslogtreecommitdiffstats
path: root/qga
diff options
context:
space:
mode:
authorLeonid Bloch <leonid@daynix.com>2015-08-03 20:54:24 +0300
committerMichael Roth <mdroth@linux.vnet.ibm.com>2015-09-01 11:07:09 -0500
commit848849dddf68630021351f5068de12f5c54ae2f8 (patch)
treeef6273cc16e921851592d765ed30786932358a33 /qga
parent5e994f94121cdb9c48939cb489e2da646c229a48 (diff)
downloadhqemu-848849dddf68630021351f5068de12f5c54ae2f8.zip
hqemu-848849dddf68630021351f5068de12f5c54ae2f8.tar.gz
qemu-ga: Prevent QEMU-GA VSS provider from being unregistered on MSI reinstall
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 <leonid@daynix.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Diffstat (limited to 'qga')
-rw-r--r--qga/installer/qemu-ga.wxs14
1 files changed, 5 insertions, 9 deletions
diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs
index b32064e..c195b4b 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">
@@ -125,6 +121,7 @@
</Directory>
<Property Id="cmd" Value="cmd.exe"/>
+ <Property Id="REINSTALLMODE" Value="amus"/>
<?ifdef var.InstallVss?>
<CustomAction Id="RegisterCom"
@@ -161,10 +158,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>
OpenPOWER on IntegriCloud