07/13/2016 2558 views
In the upgrade table, when I tried to assign property a value in the VersionMin and VersionMax columns, it is not detecting the values and when I tried upgrade, it is prompting as newer version is already installed.


Can't I keep the property value here as [MyProperty].?
Please suggest me how to do if any option is there?
0 Comments   [ + ] Show comments


All Answers


VersionMin and VersionMax columns are TEXT type so you can't use MSI properties. It must follow ProductVersion format (major.minor.build).
It is well described at MSDN's Windows Installer Database Reference -> Upgrade table.

Prompt about 'newer version already installed' is thrown only if condition defined in the second row on your screenshot is met.
In the MSI log file go to 'FindRelatedProducts' action and check ISACTIONPROP1 and ISFOUNDNEWPRODUCTVERSION values (there should be ProductCodes of the detected MSIs).
Answered 07/14/2016 by: rad33k
Second Degree Brown Belt


>VersionMin and VersionMax columns are TEXT type

For future reference, use the _Validation table in the MSI to determine what data type a cell can take. This is what the Upgarde table looks like, for example. I've removed the first and last two columns to make the text fit here! :-)

Column  Nullable MinValue MaxValue KeyTable KeyColumn Category
======  ======== ======== ======== ======== ========= ========
Attributes N  0  2147483647 <null>  <null>  <null> 
Language Y  <null>  <null>  <null>  <null>  Language
ActionProperty N  <null>  <null>  <null>  <null>  UpperCase
Remove  Y  <null>  <null>  <null>  <null>  Formatted
UpgradeCode N  <null>  <null>  <null>  <null>  Guid
VersionMax Y  <null>  <null>  <null>  <null>  Text
VersionMin Y  <null>  <null>  <null>  <null>  Text

Answered 07/14/2016 by: VBScab
Red Belt