I am running 2012 R2 SP1 and have an application with five Deployment Types, as follows by priority;
1) Win8.1 x64 (requirement of OS must equal Win 8.1 x64)
2) Win8.1 x86 (requirement of OS must equal Win 8.1 x86)
3) Win8 x64 (requirement of OS must equal Win 8 x64)
4) Win8 x86 (requirement of OS must equal Win 8 x86)
5) General Catch all (No OS requirements) intended for windows 7 and below devices
Priorities 1-4 use a PS command for its detection 'Get-WindowsOptionalFeature' while the last deployment type uses a Registry Key because 'Get-WindowsOptionalFeature' is not an available PS commend in Win 7 (without SP1). On a Win 7 machine the 'AppDiscovery.log' interestingly shows it trying to detect the application on all five DT. I thought it would skip DT's 1-4 and only use #5 as the requirements on 1-4 have it requiring it be a specific OS.
The log show an error of (In-line script returned error output: The term 'Get-WindowsOptionalFeature' is not recognized as the name of a cmdlet) when it tries to detect the DT's 1,2,3,&4. but will install using DT #5, shouldnt it just skip #1,2,3,&4?
Also when uninstalling this it downloads all 5 DT's and processes all five uninstall commands until it succeeds. I know that I can make WMF 4.0 a dependency to get the PS up to date on these non SP1 machines so I can use the 'Get-WindowsOptionalFeature' however I don;t think ConfigMgr should be behaving this way. Am I wrong on this?