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