We cannot enter alphabets and only three level versions (as per microsoft msi specifications). Fair enough. But let's see we have following in .aip file.
<ROW Property="ProductVersion" Value="1.0.0-beta5" Type="32"/>
(we were getting product version from somewhere that is directly written into .aip file)
Now if we build the msi from .aip file from console or load the .aip file into GUI and build it without going to 'Product details' then we do not see any warning/error and .msi is built (with 1.0.0-beta5 is converted into 1.0.5). Only came to know this when tried to install version 1.0.1 and got error that a newer version is already installed.
Error checking for a valid product version is only done if we enter invalid product version in GUI. Ideally, it should also be done:
- As soon as .aip file is loaded into GUI
- When building the .aip file from console
Just consider that without this error checking verison 1.0.0-beta5 resulted into 1.0.5 and resulted the failure of all builds from version 1.0.1 to (actual) version 1.0.5. If a product version is invalid then we should not build the msi in any case.
FOLLOW US
Get the latest news in Application Packaging