How to Identify Outdated Client Versions in Dynamics AX

By Josh Lee | September 7, 2015

I was recently performing a Dynamics Health Check for one of our clients. They have six AOS servers and had recently undergone a kernel upgrade. While reviewing the Event logs on each of the AOS servers, I noticed a lot of clients were connecting and logging an event in the Windows Application Log. The event logged was:

Object Server 01:  Internal version mismatch. Microsoft Dynamics AX client from SuperClient (6.2.1.158.0)  tried to attach with 6.2.1000.4051 revision of kernel.

This can potentially cause unexpected issues when you have mismatched kernel versions. As a best practice, strive to have all of your Microsoft Dynamics AX components on the same build. Doing so helps maintain stability of the system and prevents client/server calls that are not interpreted correctly between major version build differences. It is a preventative step you can take to help keep gremlins out of  the machines. Anytime a client tries to connect to an AOS with a different version the AOS will log the message above.

A question you might be asking yourself is, how do you find all the outdated clients so you can patch them to prevent this message from being logged?  There are a couple of approaches you could take. I’ll outline three and show two of these options, leaving it up to you to decide what will work best for you.

Options for Identifying Outdated Client Versions in Dynamics AX

Option I: Create a custom XPO to log mismatched clients to a log file.

This requires more time and effort than I was willing to put into it, so I decided against this approach.  But it is a possible approach you could take.

Option II: Find outdated clients from within AX

One option that I found discussed was using the User log form and adding 2 custom fields to it to get a list of the users with lower client build versions than the current kernel.

To do this:
1. Launch Dynamics AX
2. Open System administration
3. Under Inquiries click User Log

Inquiries in Dynamics AX

4. Right click and select Personalize

User Log Personalize

5. Click Add fields

Personalization

6. Expand User log

User Log

7. Select Build Number and click add

Build Number

8. Select Computer Name and click add

Computer Name

9. Close the Select Fields form

Select Fields Computer Name

10. Close the Personalization form

Personalization

11. Close the User log form

User Log MMANDBA

12. Reopen the User Log form and you will see the 2 new fields added

This list can be further refined by a specific build version target.  In my case I wanted all clients not equal to 1000.4051.  To filter do the following:

13. Click CTRL+G to bring up the form filter

14. In the Build number column enter !1000.4051   (this is the kernel version that AOS had on it).

User Log Overview

And there you have a report of all users and computers that are not equal the target version of the AOS set. However, I didn’t find this particularly useful as the Time event column is for each login, and multiple user ID’s per computer. Yes, you could export this list to Excel and clean it up, but I had over 3,000 entries and I didn’t want to muck around with that.  Instead I opted for option 2 below.

Option III: Find outdated clients from SQL

Instead of using the form and exporting to Excel, I instead decided to capture the query the client was sending and refine it to my needs as I knew I would be needing it many times.  I won’t bore you with all the details, but I capture the query using SQL profiler trace. I then modified the query to provide me with only the computer names and build versions based on the last log-on time. My reason was that I didn’t care about individual users, rather individual machines.  And to keep the list short, I only wanted the last time the client logged on, all previous times didn’t matter. Ultimately this is what I ended up with, feel free to tweak to your own liking.

Code

Hopefully this will help you get the list of clients that need updating a lot quicker than other methods!


Under the terms of this license, you are authorized to share and redistribute the content across various mediums, subject to adherence to the specified conditions: you must provide proper attribution to Stoneridge as the original creator in a manner that does not imply their endorsement of your use, the material is to be utilized solely for non-commercial purposes, and alterations, modifications, or derivative works based on the original material are strictly prohibited.

Responsibility rests with the licensee to ensure that their use of the material does not violate any other rights.

Start the Conversation

It’s our mission to help clients win. We’d love to talk to you about the right business solutions to help you achieve your goals.

Subscribe To Our Blog

Sign up to get periodic updates on the latest posts.

Thank you for subscribing!