qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

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