[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/1] qemu-ga: Prevent QEMU-GA VSS provider from
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH 1/1] qemu-ga: Prevent QEMU-GA VSS provider from being unregistered on reinstall |
Date: |
Thu, 30 Jul 2015 12:26:21 +0200 |
Hi
On Wed, Jul 29, 2015 at 7:09 PM, Leonid Bloch <address@hidden> wrote:
> 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, smooth upgrades and downgrades can be performed, as any run of
> the .msi
> will firstly remove the installed version, no matter what its version number
> is.
This is quite unconventional. It's a good thing to prevent downgrade
by default imho. User can override this behaviour by first
uninstalling.
>
> Signed-off-by: Leonid Bloch <address@hidden>
> ---
> qga/installer/qemu-ga.wxs | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs
> index 4e917a9..cd731c4 100644
> --- a/qga/installer/qemu-ga.wxs
> +++ b/qga/installer/qemu-ga.wxs
> @@ -61,9 +61,9 @@
> <Property Id="PREVIOUSVERSIONSINSTALLED" />
> <Upgrade Id="{EB6B8302-C06E-4bec-ADAC-932C68A3A98D}">
> <UpgradeVersion
> - Minimum="1.0.0.0" Maximum="$(env.QEMU_GA_VERSION)"
> + Minimum="1.0.0.0" Maximum="99.99.99.99"
> Property="PREVIOUSVERSIONSINSTALLED"
> - IncludeMinimum="yes" IncludeMaximum="no" />
> + IncludeMinimum="yes" IncludeMaximum="yes" />
> </Upgrade>
I suggest we use MajorUpgrade instead. It should work with wixl:
http://wixtoolset.org/documentation/manual/v3/howtos/updates/major_upgrade.html
>
> <Directory Id="TARGETDIR" Name="SourceDir">
> @@ -136,10 +136,10 @@
> </Feature>
>
> <InstallExecuteSequence>
> - <RemoveExistingProducts Before="InstallInitialize" />
> + <RemoveExistingProducts After="FindRelatedProducts" />
> <?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?>
looks good to me
> </InstallExecuteSequence>
> </Product>
> --
> 2.4.3
>
>
--
Marc-André Lureau