When using Global Conditions in SCCM 2012, using the File Version Less Than criteria requires that the file exists on the target computers. If the file does not exist the deployment for the computer will have the Requirements no Met status.
Logically and mathematically speaking, Less Than could include NULL (the value returned when he file does not exist); however, in this scenario it does not.
I was recently asked to deploy some software via SCCM 2012 that was not a valid MSI package. Using the Application model, we decided to use multiple criteria for the Detection Method which included the MSI product code and a file version. This did not present any challenges; however, the Requirements and target collection did.
The goal was to deploy to a single collection and install the software only if MyFile.exe did not exist (the software was not installed) or if MyFile.exe was below a specific version. We wanted to avoid doing Software Inventory for MyFile.exe. Using Global Conditions, SCCM can test is a file version is Less than a given value. The question was, what would it report if the file didn’t exist.
After running a few tests the reports showed that computers which did not have MyFile.exe get an Actual Value of NULL and are flagged as Requirements not Met. Thus the Less than logic requires that the file exists.
To avoid Software Inventory, we ended up creating a second identical Deployment Type; however, instead of testing the File Version as a requirement we tested the Existence of MyFile.exe.
I find it a bit annoying that the Application model Detection method can use multiple rules with AND and OR logic, but the Requirements can only use AND logic. I should file a DCR.