After upgrading your core from 2016 to 2016.3, the datamart.xml is occasionally not upgraded. This causes the inventory data being sent in to your core to throw an exception, which will keep the devices from checking in or enrolling.
Symptoms: While trying to enroll a Device via MDM, the profile will fail to install.
Found in versions: 2016.3, after upgrading from 2016
Log location: "C:\Program Files\LANDesk\ManagementSuite\log\MDM.DLL.log
Sample error message:
|6/02/2017 11:52:31 ERROR 17292:23||Controllers.IosCheckinController : [(null)] IosCheckinController.Put - Error processing checkin. MDMRepo.AddInventoryImmediate(): Exception: Invalid column name 'MDMID'.|
at MDM.LDMS.Services.MDMRepo.AddInventoryImmediate(EnrollmentRequest req)
at Landesk.MDMServices.Services.IosCheckinBasic.ProcessAuthenticate(Dictionary`2 plist, BootstrapData data)
at Landesk.MDMServices.Services.IosCheckinBasic.ProcessCheckin(String authenticateRequestXml, BootstrapData data)
1) Back up your LDMS database.
2) Take a snapshot of the core server.
3) Rename your old datamart.xml file located here: "C:\Program Files\LANDesk\ManagementSuite\Datamart.xml" You can just rename it to have an .old at the end.
4) Copy in the datamart.xml file attached to this article or, edit your datamart.xml as follows.
Search for this line:
<column name="StaticLocation" type="Varchar(255)" displayName="Computer Static Location" />
Paste this line underneath:
<column name="MDMID" type="Varchar(255)" displayName="MDM ID" attributeTableType="99" />
5) Run the coredbutil tool Located here: "C:\Program Files\LANDesk\ManagementSuite\CoreDbUtil.exe"
6) Click on build components.
This is well add the missing column to your database and, you will be able to process the inventory information from mobile devices.
******The attached Datamart file is for 2016.3 SU3 Only********