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>
This commit is contained in:
parent
5e994f9412
commit
848849dddf
@ -58,13 +58,9 @@
|
|||||||
/>
|
/>
|
||||||
<Media Id="1" Cabinet="qemu_ga.$(env.QEMU_GA_VERSION).cab" EmbedCab="yes" />
|
<Media Id="1" Cabinet="qemu_ga.$(env.QEMU_GA_VERSION).cab" EmbedCab="yes" />
|
||||||
<Property Id="WHSLogo">1</Property>
|
<Property Id="WHSLogo">1</Property>
|
||||||
<Property Id="PREVIOUSVERSIONSINSTALLED" />
|
<MajorUpgrade
|
||||||
<Upgrade Id="{EB6B8302-C06E-4bec-ADAC-932C68A3A98D}">
|
DowngradeErrorMessage="Error: A newer version of QEMU guest agent is already installed."
|
||||||
<UpgradeVersion
|
/>
|
||||||
Minimum="1.0.0.0" Maximum="$(env.QEMU_GA_VERSION)"
|
|
||||||
Property="PREVIOUSVERSIONSINSTALLED"
|
|
||||||
IncludeMinimum="yes" IncludeMaximum="no" />
|
|
||||||
</Upgrade>
|
|
||||||
|
|
||||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
<Directory Id="$(var.GaProgramFilesFolder)" Name="QEMU Guest Agent">
|
<Directory Id="$(var.GaProgramFilesFolder)" Name="QEMU Guest Agent">
|
||||||
@ -125,6 +121,7 @@
|
|||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
<Property Id="cmd" Value="cmd.exe"/>
|
<Property Id="cmd" Value="cmd.exe"/>
|
||||||
|
<Property Id="REINSTALLMODE" Value="amus"/>
|
||||||
|
|
||||||
<?ifdef var.InstallVss?>
|
<?ifdef var.InstallVss?>
|
||||||
<CustomAction Id="RegisterCom"
|
<CustomAction Id="RegisterCom"
|
||||||
@ -161,10 +158,9 @@
|
|||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<InstallExecuteSequence>
|
<InstallExecuteSequence>
|
||||||
<RemoveExistingProducts Before="InstallInitialize" />
|
|
||||||
<?ifdef var.InstallVss?>
|
<?ifdef var.InstallVss?>
|
||||||
<Custom Action="RegisterCom" After="InstallServices">NOT Installed</Custom>
|
|
||||||
<Custom Action="UnRegisterCom" After="StopServices">Installed</Custom>
|
<Custom Action="UnRegisterCom" After="StopServices">Installed</Custom>
|
||||||
|
<Custom Action="RegisterCom" After="InstallServices">NOT REMOVE</Custom>
|
||||||
<?endif?>
|
<?endif?>
|
||||||
</InstallExecuteSequence>
|
</InstallExecuteSequence>
|
||||||
</Product>
|
</Product>
|
||||||
|
Loading…
Reference in New Issue
Block a user