Deleted Profiles show up as Pending Install or Pending Removal in WebConsole after Upgrading MobiControl Server
After Upgrading MobiControl Backend server, previously deleted profiles start reappearing as Pending Install or Pending Removal under installed Profiles on Device tab on MobiControl WebConsole. You can confirm this issue by observing that the previously deleted profiles only show under the Device tab but do not appear under the Profiles tab on MobiControl WebConsole. You would have noticed this issue if you upgraded to a MobiControl version lower than 13.4.0 build 4449 or 14.1.2
- Upgrades to MobiControl v13.4.0 build 4449 and lower or v14.1.2
This issue is caused by a bug in our MC installer that runs a Store Procedure to bring previously deleted Profiles back in the system. As a result, the outdated Profiles that are no longer visible from Profiles tab, start appearing as Pending Install or Pending Removal under the device's Installed Profile tab.
Once this issue has occurred, the only reliable way to fix this issue is by using the following steps.
1) Identify the profiles that started reappearing after upgrade
The following script will identify the potentially affected profiles.
select ci.Name, ci.CatalogueItemId, dpsl.Name status, pa.ProfileVersionId, dps.* from DeviceProfileStatus dps
join Profile p on p.ProfileId = dps.ProfileId
join CatalogueItem ci on ci.CatalogueItemId = p.CatalogueItemId
join DeviceProfileStatusLkUp dpsl on dpsl.Id = dps.StatusId
join ProfileAssignment pa on pa.ProfileAssignmentId = dps.AssignmentId
where ci.IsDeleted = 1
order by dps.ProfileId, dps.DeviceId
The result of this step is a list of profiles: (ProfielId, CatalogueItemId, ProfileVersionId) that are in this situation.
After identifying the profiles, make sure all of the identified profiles above are NOT listed under Profiles tab but ONLY appear under Device tab under Device's Installed Profiles list.
2) Bring the above profiles back to WebConsole Profiles tab.
Run the following script:
update CatalogueItem set IsDeleted = 0 where CatalogueItemId in (<list of CatalogueItemId separated by comma>)
<list of CatalogueItemId> is a list we got from Step 1 above.
update profileversion set profileversionstatusid = 1 where profileversionid in (<list of ProfileVersionId separated by comma>)
<list of ProfileVersionId separated by comma> is a list we got from Step 1 above.
3) Restart MS and DS and refresh WebConsole. Now the listed profiles should be visible on Profiles tab as well and their status should now be set to assigned.
4) Go to Devices tab and request device check-in for effected devices. The device which are online should have the problematic profiles removed. For devices that are offline, you will have to wait for them to be online and check in.
5) After all effected devices have successfully checked in, delete the above identified profiles (Step 1) from WebConsole from Profiles tab.
6) Run the follow script to avoid issue from happening again:
delete from dbo.tmpRulePackageProfile