This project has moved and is read-only. For the latest updates, please go here.

how to detect in a client a newest version already installed of a package

Topics: Configuration Issue
May 16, 2014 at 1:25 PM
Hello,
I am developing a package of Firefox 29.0. When a send it to the clients for downloading, there was some clients with the newest version 29.0.1 installed, and the WSUS installed the 29.0 (older that before).
Is there a possible rule, that says: only install the package when there isnt a newst version already installed?
I have tried with the rule installable when I developed 29.0.1 : <bar:FileVersion Path="C:\Program Files\Mozilla Firefox\firefox.exe" Comparison="LessThan" Version="29.0.1.5239"/>, like: install only if the version already installed is less than the code of version 29.0.1, but it doesnt work.
Does somebody have an idea?
Thanks in advance
May 16, 2014 at 7:44 PM
Unfortunately FireFox doesn't make this easy as best I can tell. I will be doing this as well very soon and have been pondering a few ideas...

What seems to be the biggest pain for me at the moment is how Mozilla puts the version in the key itself
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 28.0 (x86 en-US)
And the "DisplayVersion" key doesn't quite fit the format described in the "Reg Sz To Version Registry Key" rule type in Package Publisher which allows you to do less than & greater than comparisons.
You might try this rule with the "MozillaMaintenanceService" key which appears to share a DisplayVersion
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MozillaMaintenanceService

I haven't had a chance to test this theory that it will work yet but it might do the trick for you.
May 17, 2014 at 9:44 AM
Hi,
I have tried with the rule installable when I developed 29.0.1 : <bar:FileVersion Path="C:\Program Files\Mozilla Firefox\firefox.exe" Comparison="LessThan" Version="29.0.1.5239"/>, like: install only if the version already installed is less than the code of version 29.0.1, but it doesnt work.
This should work. Ensure the file version is really 29.0.1.5239 (right click on the file -> property -> Détails
Also, ensure the file path (especially for cmoputers where Windows is in 64 bit)
May 19, 2014 at 2:36 PM
Hi, thanks for the feed back.
In Windows 32 bits the rule is working, but in W64 bits not: the old versions of Firefox appear and apperar for downloading. The path is ok:
<bar:FileVersion Path="Mozilla Firefox\firefox.exe" Comparison="LessThan" Version="29.0.0.5224" Csidl="38"/>
<bar:FileVersion Path="Mozilla Firefox\firefox.exe" Comparison="LessThan" Version="29.0.0.5224" Csidl="42"/>
one for 32 bits and the other for 64 bits. Its strange....
What can happen?
WWWolf, I cant try the rule you said: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MozillaMaintenanceService . because in W64 I dont have that folder "MozillaMaintenanceService" , only in W32 bits. But thanks for your recommendation.
May 20, 2014 at 1:25 PM
you could try an OR...

Registry Key Exists:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MozillaMaintenanceService
<AND>
Reg Sz To Version Registry Key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MozillaMaintenanceService
DisplayVersion Less Than 29.0.0.522

<OR>

Registry Key Exists:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MozillaMaintenanceService
<AND>
Reg Sz To Version Registry Key:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MozillaMaintenanceService
DisplayVersion Less Than 29.0.0.522
Marked as answer by DCourtel on 9/13/2014 at 12:33 PM