Message ID | 1438189766-622-1-git-send-email-leonid@daynix.com |
---|---|
State | New |
Headers | show |
Hi On Wed, Jul 29, 2015 at 7:09 PM, Leonid Bloch <leonid@daynix.com> 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 <leonid@daynix.com> > --- > 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 > >
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> <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?> </InstallExecuteSequence> </Product>
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. Signed-off-by: Leonid Bloch <leonid@daynix.com> --- qga/installer/qemu-ga.wxs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)