When trying to host the Demo VM in the company’s data centre (host) we came across the below error-
A process serving application pool ‘AOSService’ suffered a fatal communication error with the Windows Process Activation Service. The process id was ‘3680’. The data field contains the error number.
One thing I attempted to do, based on some suggestions on the web, was to “Enable 32-Bit applications” in the app pool.
This simply changed the error message to below-
Could not load file or assembly ‘Microsoft.Dynamics.AX.Security.SidGenerator’ or one of its dependencies. An attempt was made to load a program with an incorrect format.
I tried all the usual tools to try to troubleshoot the issue-Fiddler, Procmon, but no lead. Finally reached out to my mentor Brandon Ahmad . He was quick to point out to check the time zone on the Demo VM which may not be matching the host machine.
The demo VM was set on US Time Zone and the host was set to Singapore Time Zone, once I changed the timezone in the demo VM to match the host, that fixed the issue!
This is a post with respect to how combined date/time fields is handled in AX/Dynamics 365 for Operations (Dyn365FO). For more information on the type of date and time fields in AX visit the following link from docs.microsoft.com.
Dyn365FO stores combined date/time fields internally in the SQL database based on UTC time zone. Whenever the date is to be displayed to the user, an offset based on the user preferred time zone is applied and then shown to the user.
This preferred time zone is set in the following section in Dyn365FO.
System Administration-> Users -> Users
An excellent post that take a deeper dive on the subject along with the X++ code is found in the below link