Fix Intune App Detection Failures Caused by 32-bit vs 64-bit Context
Your Win32 app is installed. You can see it. Intune disagrees and keeps reporting “Not installed” or triggers a reinstall loop on every sync.
The culprit is often not the app itself, but a detection rule silently checking the wrong registry hive or file path due to a 32-bit vs 64-bit context mismatch.
The Intune Management Extension runs as a 32-bit process. If your detection rule does not explicitly account for app architecture, it will look in the wrong place every single time.
How to Fix It
Understand the default Intune context
The Intune Management Extension (IME) lives in C:\Program Files (x86), which means it runs as a 32-bit process. On a 64-bit OS, Windows automatically redirects 32-bit registry access:
What you writeWhere it actually lands (32-bit process)HKLM\SOFTWARE\Vendor``HKLM\SOFTWARE\WOW6432Node\Vendor``C:\Program Files\``C:\Program Files (x86)\
Use the “Associated with a 32-bit app on 64-bit clients” toggle
In the Intune portal, every Registry detection rule exposes this checkbox. This is the most direct fix:

App architectureToggle settingRegistry view used32-bit app✅ YesHKLM\SOFTWARE\WOW6432Node64-bit app❌ NoHKLM\SOFTWARE
Match file paths explicitly
Do not rely on %ProgramFiles%. Intune may resolve it differently depending on context. Be explicit:
32-bit app
C:\Program Files (x86)\Vendor\App\App.exe
64-bit app
C:\Program Files\Vendor\App\App.exe# 32-bit app C:\Program Files (x86)\Vendor\App\App.exe
64-bit app
C:\Program Files\Vendor\App\App.exe
Use a detection script for complex cases
For maximum control, bypass the toggle entirely with a PowerShell detection script. Explicitly target the correct registry view using the RegistryView parameter:
(normaly only needed with advanced logic like and/or)
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey( [Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64 ) $subKey = $key.OpenSubKey(“SOFTWARE\Vendor\App”)
Write-Host “Detected” exit 0 } exit 1$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey( [Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64 ) $subKey = $key.OpenSubKey(“SOFTWARE\Vendor\App”)
Write-Host “Detected” exit 0 } exit 1
Why This Matters
-
Stops reinstall loops Apps reinstalling on every sync is almost always a detection context issue
-
Affects all 64-bit endpoints Which is virtually every modern Windows device in your fleet
-
Silent failure Intune shows no error; it just says “Not installed”
-
Cascades to requirements rules the same 32/64-bit logic applies to requirement scripts, not just detection
Pro Tip
When troubleshooting, check the log at: C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log
Filter for your app name or the word Detection. The log will tell you exactly which path was evaluated, making it immediately obvious if the wrong registry view was used. This saves hours compared to guessing.
Review your existing Win32 app detection rules in the Intune portal and audit the “Associated with a 32-bit app on 64-bit clients” toggle on every registry rule.
Fix Intune App Detection Failures Caused by 32-bit vs 64-bit Context means checking whether the Intune Management Extension evaluates registry paths, files and scripts in the expected architecture context. Detection failures often come from this mismatch rather than from the application itself.
Head of AI
Jannik brings deep expertise in AI integration, modern infrastructure, and enterprise transformation at scale.
Leading Expert
Florian specializes in Intune, endpoint management, and security with extensive real-world enterprise experience.