I am having an issue getting a Windows 8 app installed via SCCM, the app installs fine, however in order for it to install properly, I need to make sure it is running Windows 8 and that the update KB2919355 is installed on the system. I added the OS requirement, and I created a Global Condition, to check to see if the update has been installed via WQL, the following is the custom condition:
Setting Type: WQL query
Data Type: Boolean
Namespace: root\cimv2
Class: Win32_QuickFixEngineering
Property: HotFixID
WQL query WHERE clause: HotFixID='KB2919355'
Using powershell, I executed the WQL query, to verify that the update is installed, and I see the following:
PS C:\Users\Administrator> $hotfix = "Select hotfixid from Win32_QuickFixEngineering where hotfixid='KB2919355'"
PS C:\Users\Administrator> Get-WmiObject -query $hotfix
__GENUS : 2
__CLASS : Win32_QuickFixEngineering
__SUPERCLASS :
__DYNASTY :
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
HotFixID : KB2919355
PSComputerName :
In the Requirement of the application I made the Operator: Equals and the Value: True. When I deploy the software, to my test collection (1x Win7, 1x WinXP, 1x Win8.1 with KB2919355), the Windows 7 and XP boxes both show up in the Requirements Not Met tab, the Windows 8.1 box is under the Error tab under Evaluation Failed - Error 0x80041005(-2147217403) - Type Mismatch. The AppEnforce.log does not show any of the pushes except for the time when I removed the KB2919355 update.
+++ Starting Install enforcement for App DT "App_Name - Windows app package (*.appx, *.appxbundle)" ApplicationDeliveryType - ScopeId_F79D5897-0BDA-46D4-8021-140E88B338D5/DeploymentType_14694d25-3c2e-4d69-84ce-29bfb37abffd, Revision - 7, ContentPath - C:\Windows\ccmcache\1, Execution Context - User AppEnforce 5/12/2014 9:58:12 AM 3848 (0x0F08)
A user is logged on to the system. AppEnforce 5/12/2014 9:58:12 AM 3848 (0x0F08)
Working with Package: 9956fdfa-a8c1-4312-b10d-8417a5fbe21b_1.0.0.1_neutral__y0688jx4qd06g AppEnforce 5/12/2014 9:58:12 AM 3848 (0x0F08)
+++ Application enforced successfully. [App : 9956fdfa-a8c1-4312-b10d-8417a5fbe21b] AppEnforce 5/12/2014 9:58:22 AM 3848 (0x0F08)
+++ AppX Install Info added. [AppDT Id: ScopeId_F79D5897-0BDA-46D4-8021-140E88B338D5/DeploymentType_14694d25-3c2e-4d69-84ce-29bfb37abffd] AppEnforce 5/12/2014 9:58:22 AM 3848 (0x0F08)
++++++ App enforcement completed (9 seconds) for App DT "App_Name - Windows app package (*.appx, *.appxbundle)" [ScopeId_F79D5897-0BDA-46D4-8021-140E88B338D5/DeploymentType_14694d25-3c2e-4d69-84ce-29bfb37abffd], Revision: 7, User SID: (Removed)] ++++++ AppEnforce 5/12/2014 9:58:22 AM 3848 (0x0F08)
At this point I am at a loss at what is wrong, I assume that there is something not working with the Custom Global condition or when I use it as a requirement I am selecting the wrong options.