← Back to articles Intune

Company Portal Disappearing on Windows 24H2: Root Causes, AppX Re-registration & Intune Remediation

Company Portal Disappearing on Windows 24H2: Root Causes, AppX Re-registration & Intune Remediation

Since the 24H2 broad rollout resumed in Q2 2026 for enterprise rings, we've triaged this ticket pattern across four separate tenants: Company Portal.exe vanishes from the Start Menu, taskbar pins go dead, and the affected user can no longer self-remediate compliance issues — because the tool that reports compliance is the thing that's missing. If you're running Autopatch or staged feature update rings and you've seen a spike in "Company Portal not found" tickets correlating with 23H2→24H2 upgrades since mid-2026, this is your root cause map and remediation kit.

Critical Production Impact This is not cosmetic. If your Conditional Access policies gate on deviceCompliant and your compliance evaluation UX relies on the user opening Company Portal to trigger re-check-in, a missing CP binary creates a chicken-and-egg lockout: the device is flagged non-compliant, the user has no way to force re-evaluation, and they're blocked from Exchange/SharePoint until an admin intervenes remotely.

The Three-Stage Failure Chain

Company Portal loss on 24H2 isn't one bug — it's three independent failure modes that share a common trigger (the in-place feature update image apply) and get conflated in ticket queues because the symptom is identical. Triage requires branching, not a single fix-all script.

STAGE 1 — TRIGGER Windows 24H2 In-Place Feature Update Clean image apply, 26100.x AppX De-provisioning AppXSVC orphans staged per-user registration records IME Sync Gap Detection Post-upgrade app evaluation cycle finds CP "not detected" STAGE 2 — ROOT CAUSE BRANCH (TRIAGE HERE) Per-User AppX Loss CP installed via user-context Store app, not truly provisioned Package present but unregistered for the active profile SEVERITY: HIGH — LOCAL FIX Store for Business Deprecation Legacy sync connector points to retired licensing source App source policy stale SEVERITY: MEDIUM — REASSIGN MDM Cert Re-enrollment Enrollment cert renewed post-upgrade, re-triggers detection rule mismatch on misconfigured Win32 wrapper SEVERITY: LOW — SYNC FIX STAGE 3 — REMEDIATION PATH Local PowerShell Re-registration Add-AppxPackage -Register against AppXManifest.xml Deploy via Proactive Remediation Intune Device Sync Force check-in re-evaluates Win32/MSIX assignment, redeploys required app to Device context Graph API Bulk Remediation syncDevice at scale via filtered device cohort, logged for audit RECOMMENDED END-STATE Reassign Company Portal as Device-context Win32/MSIX app + deploy detection-based Proactive Remediation to close the loop permanently across every 24H2 upgrade wave
Three-stage triage: 24H2 upgrade triggers AppX de-provisioning and IME sync gaps, which branch into three distinct root causes with different fix paths — all converging on a device-context reassignment plus proactive remediation as the durable fix.

Root Cause 1: Per-User AppX Loss (the most common — 70%+ of tickets)

The overwhelming majority of these tickets trace back to how Company Portal was originally deployed. If it was pushed as a Store app or MSIX assigned to User context rather than a genuinely provisioned all-users package, the 24H2 image-apply process can leave the package binaries on disk but drop the per-user registration record. Get-AppxPackage for that user comes back empty or shows Status: NotAvailable, while Get-AppxProvisionedPackage -Online still shows the provisioned entry — because provisioning and per-user registration are tracked independently in the AppX deployment database, and 24H2's servicing stack changes don't reliably replay the registration step for every existing profile.

Validate before you assume Don't trust ticket descriptions. Run Get-AppxPackage -AllUsers -Name Microsoft.CompanyPortal | Select Name, PackageFullName, Status, InstallLocation before touching anything. If InstallLocation is empty, this isn't a registration problem — the package itself is gone and needs a full Intune redeploy, not a re-register.

Root Cause 2: Store for Business Deprecation Debt

Microsoft retired the Store for Business/Education sync connector in 2023, but plenty of tenants never migrated their private line-of-business or Store-sourced app assignments off it — they just stopped touching that blade. If Company Portal (or a wrapper policy referencing it) was ever synced through that connector, the underlying licensing/content source metadata is now stale. Post-24H2, when the device re-evaluates app assignments during the OOBE-adjacent policy refresh, the app source resolution fails silently: no error surfaces in the console, the assignment just sits at Not applicable indefinitely.

Quick tenant check In the Intune admin center, go to Tenant administration > Connectors and tokens > Microsoft Store for Business. If a connector still exists and shows a last-sync date, any app record originally ingested through it should be treated as suspect and manually re-added as a native Store app (new) or Win32/MSIX LOB package.

Root Cause 3: MDM Certificate Re-enrollment / Detection Rule Mismatch

Least common, but nastiest to diagnose because it looks identical from the user's chair. During a feature update, the device's MDM enrollment certificate can be silently renewed as part of the post-upgrade device attestation flow. This forces a full app assignment re-evaluation cycle in IME. If Company Portal was ever packaged as a Win32 app (some tenants do this deliberately to control versioning outside Store cadence) with a detection rule keyed to a specific registry value or MSI product code that changed between CP builds, the re-evaluation reads "not detected," uninstalls the stale record, and the reinstall fails against the same broken detection logic — an infinite fail loop that never surfaces as a hard error in Company Portal app status, just perpetually cycling between Install command line failed and Pending.

Detection & Remediation: The Four Scripts

Ad-hoc fixes don't scale past a handful of tickets. Below is the full kit we run in production: a Proactive Remediation pair for the self-healing device-side fix, a bulk diagnostic for identifying the blast radius tenant-wide, and a Graph SDK v2 script for triggering bulk sync once you've isolated the affected cohort.

Script 1 — Detection (Proactive Remediation, runs as SYSTEM)

Deployment context Deploy under Devices > Scripts and remediations > Create. Run as System, not signed-in user — Company Portal registration state must be evaluated per logged-on user profile, but SYSTEM context lets you enumerate -AllUsers without triggering per-user script execution overhead across every session.
# Detect-CompanyPortalRegistration.ps1
# Purpose: Proactive Remediation DETECTION script
# Context: SYSTEM
# Exit 0 = healthy (no remediation needed) | Exit 1 = remediation required

$ErrorActionPreference = 'Stop'
$logPath = "$env:ProgramData\Microsoft\IntuneManagementExtension\Logs\CP-Detect.log"

function Write-Log {
    param([string]$Message)
    $ts = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    Add-Content -Path $logPath -Value "[$ts] $Message" -ErrorAction SilentlyContinue
}

try {
    Write-Log "=== Detection run started ==="

    # Step 1: Confirm the package exists at all (provisioned or per-user)
    $provisioned = Get-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue |
        Where-Object { $_.DisplayName -eq 'Microsoft.CompanyPortal' }

    $userPkg = Get-AppxPackage -AllUsers -Name 'Microsoft.CompanyPortal' -ErrorAction SilentlyContinue

    ifnot $provisioned -
    

Was this article helpful?

🎯
MSEndpoint Academy

Évaluez vos compétences Microsoft 365 & Intune (MD-102)

100% Gratuit • 5 Min

Vous appliquez ce guide en production ? Testez votre niveau technique face aux questions réelles de l'examen Microsoft 365 Certified: Endpoint Administrator (MD-102). Découvrez vos points forts et vos faiblesses immédiatement.

💡 Mini-Challenge Express Question 1 sur 10

Quel outil est obligatoire pour convertir une application Win32 (.exe) au format requis (.intunewin) pour son déploiement via Microsoft Intune ?

🔒 0€ Débité 📊 Scorecard instantanée 🤖 Explications IA
Passer le Test Diagnostic Complet (10 Questions)
🎁 Free Community Automation Hub

Functional Automation & Blueprints

Production-ready scripts, GitHub repositories, and architectural blueprints created for this technical guide.

PowerShell, Microsoft Graph, PHP
AUTOMATION TOOLKIT

Company Portal 24H2 Recovery Kit - AppX Re-registration & Intune Remediation

A production-ready toolkit to detect, remediate, and monitor Company Portal disappearance issues on Windows 24H2 upgrades, combining Proactive Remediation scripts, Graph-based bulk sync, and a SaaS dashboard for tenant-wide visibility.

Star on GitHub Download .ps1
💡 Enterprise Blueprint
HIGH IMPACT

CP Sentinel

Detects and auto-heals missing Company Portal installs across your Intune fleet before they turn into Conditional Access lockout tickets.

🤝 Custom Build

🎓 Ready to go deeper?

Practice real MD-102 exam questions, get AI feedback on your weak areas, and fast-track your Intune certification.

Start Free Practice → Book a Session
Souhaiel Morhag
Souhaiel Morhag
Microsoft Endpoint & Modern Workplace Engineer

Souhaiel Morhag is a Microsoft Intune and endpoint management specialist with hands-on experience deploying and securing enterprise environments across Microsoft 365. He founded MSEndpoint.com to share practical, real-world guides for IT admins navigating Microsoft technologies — and built the MSEndpoint Academy at app.msendpoint.com/academy, a dedicated learning platform for professionals preparing for the MD-102 (Microsoft 365 Endpoint Administrator) certification. Through in-depth articles and AI-powered practice exams, Souhaiel helps IT teams move faster and certify with confidence.

Related Articles

Popular on MSEndpoint