Montag, Jänner 28, 2008

Displaying online help on installations with multiple windows languages

In Dynamics AX, you can specify your client config to be usable if you have different windows languages (this means that your AX client is not always in the "c:\program files\..." directory but also in "c:\programme\...").

Then, you would make the link pointing to your ax32.exe something like this: "%programfiles%\Microsoft Dynamics AX\40\Client\Bin\Ax32.exe" (and the bindir property of you AX client config would be: "%programfiles%\Microsoft Dynamics AX\40\Client\Bin")

With that setup, you can start your Dynamics AX client on any language that is used by Windows.

Well, there is one problem with the online help then. Dynamics AX cannot build the path where to search for the help file using the %programfiles% parameter and will give you an error when you activate the help.

What you have to do is to change the way the online help will create the path.
You have to modifiy the method getChmPath in class SysHelp as follows:

modifiy the line:

path = xInfo::directory(DirectoryType::Help);

to that:

if (WinAPi::fileExists('c:\\program files\\Microsoft Dynamics AX\\40\\Client\\Bin\\Help\\'))
path = 'c:\\program files\\Microsoft Dynamics
AX\\40\\Client\\Bin\\Help\\';
else if (WinAPi::fileExists('c:\\programme\\Microsoft Dynamics AX\\40\\Client\\Bin\\Help\\'))
path = 'c:\\programme\\Microsoft Dynamics
AX\\40\\Client\\Bin\\Help\\';
else path = xInfo::directory(DirectoryType::Help);

The change above will work for english and german windows installations and you can figure out how to extend that to other languages.

1 Kommentar:

Jay hat gesagt…

Instead of hard coding the Program Files path, you can ask windows where it is with WinAPI::getFolderPath(#CSIDL_PROGRAM_FILES)