That design limitation is a function of FindRelatedProducts which processes the 
upgrade rule and sets the ; delimited list of ProductCodes in the 
ActionProperty.    RemoveExistingProducts doesn't really care about this 
business rule since it's just processing the list.
   
  You could author and sequence a custom action after FindRelatedProducts that 
searches for additional product codes ( where only the fourth ordinal changes ) 
and appends them to the ActionProperty and then let RemoveExistingProducts take 
care of them also.
   
  Of course some people will say that suggesting this is `evil` but in the real 
world it's difficult to reconcile these upgrade patterns with actual build 
outputs and Program/Product/Release managers concepts of the size of a release. 
  

Matthew Sheets <[EMAIL PROTECTED]> wrote:
                Using WiX v3, I would like to
    
   Create a “major” upgrade installer, even when only the fourth field of the 
Product Version has changed  
   Skip installation if a newer version is installed (again, even if only the 
fourth field of the Product Version has changed)
   
  For example, if the new Product Version is 2.3.4.5, I need to create a single 
MSI file that can do any of the following:
  o        Perform an “clean” install
  o        Upgrade older versions (e.g. 1.5.2.1, 2.0.0.5, and 2.3.4.2)
  o        Abort installation if a newer version is already installed (e.g. 
2.3.4.9)
   
  For each new version, the values of following properties are changed:
    
   Product Code GUID  
   Package Code GUID  
   Product Version Number
  The Upgrade Code GUID, all Component GUIDS, and ALLUSERS=1 remain unchanged 
from version to version.
   
  I know that according to the MSI documentation, “Windows Installer only uses 
the first three fields of the product version.  If you include a fourth field 
in your product version, the installer ignores the fourth field” [ 
http://msdn2.microsoft.com/en-us/library/aa370859(VS.85).aspx ].  However, an 
earlier WiX post from 9/12/2006 seems to indicate that even if only the fourth 
field has changed, some form of a Major Upgrade is still possible.
  MSI ignores the fourth field in ProductVersion so it
  doesn't differentiate among ProductVersions that differ only in the
  fourth field. So if you set UpgradeVersion elements to detect when the
  "same" version is installed, it will treat all 1.0.0.x versions as the
  same. You can do "blind" major upgrades so any version is installed (or
  any version greater-than-or-equal-to), which would let you increment
  just the fourth field.
  -- 
  sig://boB
  [ http://www.nabble.com/Re%3A-Several-doubts-on-Upgrades-p6272185.html ]
   
  I am unclear on what is meant by a “blind” major upgrade.
   
   
  In the InstallExecuteSequence, I have the entry <RemoveExistingProducts 
After="InstallFinalize" />
   
  If I do not include an <Upgrade> section, the following things seem to hold 
true:
    
   Both older and newer versions can install  
   Both the old and new versions are listed in Add/Remove Programs  
   Rerunning the installer after that version has been installed appears to 
shortcut the installation 
   
  If I do include an <Upgrade> section,
        <Upgrade Id="{UPGRADE-CODE-GUID}">
          <UpgradeVersion Minimum="0.0.0.0" Maximum="$(var.Version)" 
Property="PREVIOUSVERSIONSINSTALLED" IncludeMinimum="yes" IncludeMaximum="no" 
IgnoreRemoveFailure="no" />
          <UpgradeVersion Minimum="$(var.Version)" IncludeMinimum="no" 
Property="NEWERVERSIONSINSTALLED" OnlyDetect="yes" />
        </Upgrade>
  the following things seem to hold true:
    
   A newer version will uninstall the older version IF any of the first three 
version parts have changed  
   Only the most recently installed version is listed in Add/Remove Programs 
(good)  
   If only the fourth version part has changed, the executing MSI will 
“upgrade” the current installation, even if the Product Version of the 
executing MSI is less than the currently installed version (bad)  
   Rerunning the installer after that version has been installed appears to 
shortcut the installation 
   
   
  Is it possible to obtain the desired behavior?  I appreciate any suggestions 
or information.
   
   
  Thank you,
  Matthew
   

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


       
---------------------------------
Never miss a thing.   Make Yahoo your homepage.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to