I just had four applications come back from Vista logo pre-certification testing. They all failed test case #18 ("Verify Windows Installer package contains Manufacturer, ProductCode, ProductLanguage, ProductName, ProductVersion (major and minor) and UpgradeCode property tags and they are not null."
The specific point they failed was on the VersionMax. What VeriTest reported was:
--------
Expected Behaviour:
1. The Windows Installer package contained Manufacturer, ProductCode, ProductLanguage, ProductName, ProductVersion (major and minor) and UpgradeCode property tags in the Property table and they were not NULL in order to pass this test case. This means the application will correctly identify itself in Windows Vista Software Explorer (Add/Remove Programs).
2. The Windows Installer package contained UpgradeCode, ProductVersion (VersionMin and VersionMax) property tags in the Upgrade table with the UpgradeCode, ProductVersion (VersionMin must not be null see NOTES below) tags not being Null in order to pass this test case and the UpgradeCode in the Upgrade table must be identical to the UpgradeCode in the Property table. This means the application properly prepared for upgrade to address the previous package and properly prevents an older package from installing over a new package.
3. The ProductCode and UpgradeCode tables must be in a properly formatted GUID (see NOTES below) in order to pass this test case.
Note:
1. VersionMin in the Upgrade table is the lower boundary of the range of product versions detected by FindRelatedProducts. VersionMin must not be Null, preventing product from being downgraded.
2. VersionMax in the upgrade table is the upper boundary of the range of product versions detected by the FindRelatedProducts action. VersionMax must be Null, preventing product from being downgraded.
Observed Behaviour: JP Software - TCI 2.01
Status: Fail
In the Upgrade table VersionMin is null and the VersionMax is not null.
------------------------
In this particular app, the VersionMin was null and the VersionMax was "2.01.14", which according to VeriTest is backwards.
Is VeriTest right, and if so, how do I work around this? (Manually editing all of the .MSI files for every build will be a chore, as we have a number of different languages for each app.)
Rex Conn
JP Software