Running AX 2009 Client raises error: "An invalid directory structure for Microsoft Dynamics AX was detected"


We came across an issue recently where the Microsoft Dynamics AX 2009 Client was installed via a windows batch file to automate the installation. You can perform a “silent” install to mass deploy the client. However after deployment when the client is run from the desktop systems we got a pop window with an error and clicking ok closes the client down:

 

 Error in text:

An invalid directory structure for Microsoft Dynamics AX was detcted. The subdirectory \Client\bin does not exist.

 

Upon further investigation, when we ran regedit to look at the registry keys created for the AX Client configuration, indeed it had incomplete path to the client\bin folder. The cause of teh error message. The issue occured on any Windows XP/Vista/7/2003 R2/2008/2008 R2 platform whether its 32bit or 64bit. The paths recorded in the registry were:

 

[HKEY_CURRENT_USER\Software\Microsoft\Dynamics\5.0\Configuration\Original (installed configuration)]
“bindir”=”\Client\Bin”
“datadir”=”Client\Data”
“directory”=”\Client”

and the correct registry paths should have been (on an x64 system):

[HKEY_CURRENT_USER\Software\Microsoft\Dynamics\5.0\Configuration\Original (installed configuration)]
“bindir”=”C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin”
“datadir”=”C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Data”
“directory”=”C:\Program Files (x86)\Microsoft Dynamics AX\50\Client”

(x86 system):

[HKEY_CURRENT_USER\Software\Microsoft\Dynamics\5.0\Configuration\Original (installed configuration)]
“bindir”=”C:\Program Files\Microsoft Dynamics AX\50\Client\Bin”
“datadir”=”C:\Program Files\Microsoft Dynamics AX\50\Client\Data”
“directory”=”C:\Program Files\Microsoft Dynamics AX\50\Client”

manually modifying the registry keys with correct values, resolves the issue and allows clients to be run without any errors.

 

However the real cause of the issue was because the setup did not have the full parameters required to set the default folder paths.The clients were installed using the following setup parameters from the AX 2009 DVD media:

d:\setup.exe SetupLanguage=en-GB RunMode=JustClient ConfigurePrerequisites=1 HideUI=1 AcceptLicenseTerms=1 InstallClientUI=1 ClientAosServer=AX5-W8R2-01 ClientLanguage=en-gb ClientHelpLanguages=en-gb;en-us

 HOWEVER if you run the setup with the following parameters (all parameters in one single line of command):

 

d:\setup SETUPLANGUAGE=EN ConfigurePrerequisites=1 HideUI=1 AcceptLicenseTerms=1 InstallPath=”C:\Program Files\Microsoft Dynamics AX\50″ InstallPath32Bit=”C:\Program Files (x86)\Microsoft Dynamics AX\50″ InstallClientUI=1 ClientConfig=1 ClientAosServer=AX5-W8R2-01 ClientLanguage=en-GB ClientHelpLanguages=en-US;en-GB

 it deploys the AX client with the correct registry paths and the clients don’t get any error on invocation!

 

For more info on setup parameters for deploying AX clients (and also AX server components) see http://technet.microsoft.com/en-us/library/aa548130.aspx

 

–author: Anup Shah
–editor: Anup Shah
–date: 31/Mar/2011

 

Comments (2)

  1. Nóri says:

    Thanks for the explanation. I've had this issue before and have manually fixed the registry entries.

    But when it comes to silent deployment of the client, when will the setup functionality be changed so that the setup.exe doesn't exit right away after creating the axsetup.exe process? It makes it extremely difficult to deploy the client when you really have no idea when the RTM version is installed and when you can call the SP1 setup.

    Kveðja,

    Nóri

  2. Jonas Bergman says:

    Regarding paths during installation I came across a similar problem the other day. I had installed the client from a folder on the AOS. After that I had installed a kernel rollup from the same computer. After that we moved the AOS to a new machine. The next time I tried to install a kernel rollup on the client (from a local disk) the installation just hung for hours. I found the logs and could see that for every file in the kernel rollup, the installation program tried to locate the bin folder of the old server. For some reason, the installation looked in the registry for the latest install path. I had to change this value in the registry and point to the new server and after that we successfully installed the rollup on the client.

    —————————–

    The installation path of AX components is determined from the registry