Device sends "ManagedButUninstalled" status in ManagedApplicationList for an app even without the user removing the app

Problem Description:

A App Store (VPP - B2B) app distributed to a device through MDM is not installing. The "InstalledApplicationList" response doesn't have the app in it. The "ManagedApplicationList" response has the app with status as "ManagedButUninstalled". But this cannot happen since there is a restriction - allowAppRemoval is set to false for this device which prevents the removal of installed apps in that device. This is applied before the app was distributed to MDM.

Steps to reproduce:

  1. Enroll a device in MDM.
  2. Use restrictions payload[com.apple.applicationaccess] with a key "allowAppRemoval" set to "true".
  3. Distribute an app to device.
  4. Perform operations to fetch "InstalledApplicationList" and "ManagedApplicationList".

Expected Result: The device should install the app successfully and ManagedApplicationList response should return "Managed" status for the app.

Actual Result: The device doesn't install the app and "ManagedApplicationList" returns "ManagedButUninstalled" status.

InstallApplication Response:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CommandUUID</key>
	<string>InstallApplication;Collection=899898</string>
	<key>Identifier</key>
	<string>pad.xxxx.ilD</string>
	<key>State</key>
	<string>Installing</string>
	<key>Status</key>
	<string>Acknowledged</string>
	<key>UDID</key>
	<string>000000-00000000-00000000</string>
</dict>
</plist>

ManagedApplicationList Response:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CommandUUID</key>
	<string>ManagedApplicationList</string>
	<key>ManagedApplicationList</key>
	<dict>
		<key>com.manageengine.mdm.iosagent</key>
		<dict>
			<key>ExternalVersionIdentifier</key>
			<integer>857024336</integer>
			<key>HasConfiguration</key>
			<true/>
			<key>HasFeedback</key>
			<true/>
			<key>IsValidated</key>
			<true/>
			<key>ManagementFlags</key>
			<integer>5</integer>
			<key>Status</key>
			<string>Managed</string>
		</dict>
		<key>com.teamviewer.teamviewerQS</key>
		<dict>
			<key>ExternalVersionIdentifier</key>
			<integer>851678159</integer>
			<key>HasConfiguration</key>
			<false/>
			<key>HasFeedback</key>
			<false/>
			<key>IsValidated</key>
			<true/>
			<key>ManagementFlags</key>
			<integer>5</integer>
			<key>Status</key>
			<string>Managed</string>
		</dict>
		<key>pad.xxxx.ilD</key>
		<dict>
			<key>ExternalVersionIdentifier</key>
			<integer>857489710</integer>
			<key>HasConfiguration</key>
			<true/>
			<key>HasFeedback</key>
			<false/>
			<key>IsValidated</key>
			<false/>
			<key>ManagementFlags</key>
			<integer>5</integer>
			<key>Status</key>
			<string>ManagedButUninstalled</string>
		</dict>
	</dict>
	<key>Status</key>
	<string>Acknowledged</string>
	<key>UDID</key>
	<string>000000-00000000-00000000</string>
</dict>
</plist>

Restrictions Response:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CommandUUID</key>
	<string>Restrictions</string>
	<key>GlobalRestrictions</key>
	<dict>
		<key>intersection</key>
		<dict>
			<key>autonomousSingleAppModePermittedAppIDs</key>
			<dict>
				<key>values</key>
				<array>
					<string>pad.xxxx.ilD</string>
				</array>
			</dict>
			<key>whitelistedAppBundleIDs</key>
			<dict>
				<key>values</key>
				<array>
					<string>pad.xxxx.ilD</string>
					<string>com.manageengine.mdm.iosagent</string>
					<string>com.teamviewer.teamviewerQS</string>
				</array>
			</dict>
		</dict>
		<key>restrictedBool</key>
		<dict>
			<key>allowAppRemoval</key>
			<dict>
				<key>value</key>
				<false/>
			</dict>
		</dict>
		<key>restrictedValue</key>
		<dict>
			<key>maxInactivity</key>
			<dict>
				<key>value</key>
				<integer>5</integer>
			</dict>
		</dict>
		<key>union</key>
		<dict>
			<key>blacklistedAppBundleIDs</key>
			<dict>
				<key>values</key>
				<array>
					<string>com.google.Drive</string>
					<string>com.apple.news</string>
				</array>
			</dict>
		</dict>
	</dict>
	<key>Status</key>
	<string>Acknowledged</string>
	<key>UDID</key>
	<string>000000-00000000-00000000</string>
</dict>
</plist>

Replies

There isn't enough information here to diagnose the issue. We suggest filing feedback: Install the Managed Configuration logging profile from https://developer.apple.com/bug-reporting/profiles-and-logs/, reproduce the issue (and keep track of the times when you took the relevant steps), take a sysdiagnose, and then submit the sysdiagnose and timestamps as feedback. Please also indicate which MDM vendor you're using.

  • We have posted a feedback in Feedback Assistant portal - FB12389108 (Device sends "ManagedButUninstalled" status in ManagedApplicationList for an app even without the user removing the app. ) along with device sysdiagnose

Add a Comment