msnugget
Intune By Jannik Reinhard & Florian Salzmann · Published · Updated

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:

Intune's detection rule UI. This one checkbox controls which registry view is used for evaluation.

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.

Jannik Reinhard

Head of AI

Jannik brings deep expertise in AI integration, modern infrastructure, and enterprise transformation at scale.

Florian Salzmann

Leading Expert

Florian specializes in Intune, endpoint management, and security with extensive real-world enterprise experience.