Wir haben schon seit längerer Zeit Vista (64 Bit) bzw. jetzt Windows7 (64 Bit) mit AX 3.0 SP 6 im Einsatz - ohne Probleme ...
Es war allerdings ein workaround notwendig.
Folgende Info hab ich von Microsoft dazu erhalten:
SUMMARY:
ISSUE:
When starting Ax 3.0 on Vista (both 32 bit and 64 bit), user receives an error message ‘File ‘“C:\Programme (x86)\Navision\Axapta Client\Bin\”..\share\include\_axHotkey.hkd’ could not be opened.’
This is preventing the customer from deploying Vista 32 bit and Vista 64 bit in the organization.
RESOLUTION:
Ax 3.0 is not supported on Vista. However, we tried to find a workaround and to analyze the root cause. The problem here seems to be that Vista does not like to have double quotes in the file name as used in Ax 3.0 (‘“C:\Programme (x86)\Navision\Axapta Client\Bin\”\..\share\include\_axHotkey.hkd’). This comes from the method xInfo::directory() because the administrator is using quotes to “quote” file names containing spaces (like for example “C:\Program files\...\Axapta Client\”.
There are two workarounds:
1. Modify every call to the xInfo::directory() and make sure that the resulting string is being accepted by Vista
2. Put the following code in SysFileDeploy* classes instead to avoid the Ax client registering, unregistering or copying any files to the client directory on Vista, Windows 2008 and Windows Seven machines (this “file deployment” has been removed in Ax 2009 anyway and the customer will just need to make sure that all .ocx etc objects have been registered after copying the client from one Vista machine to another if the installer is not being used):
//<--Begin - MBS Workaround example
osVersion = WinAPI::getOSVersion();
if (conLen(osVersion) < 1 || (conPeek(osVersion,1) == 6 || conPeek(osVersion,1) == 7))
return false; //for Vista and Windows 2008 skip this functionality as Vista compatible
//programms do not write into the "Program Files"
//directory
//<--End
This workaround is a programming example and the attached .xpo did not go through our testing team, so please make sure that is has been reviewed by the developer and tested before implementing.
Heißt also nicht anderes als offizell geht da nichts mehr, aber wir haben es trotzdem passend gemacht.
Folgende Änderung ist in der Klasse SysFileDeployment in der Funktion copy zu machen:
1. einen container deklarieren
Code:
//<--Begin - MBS Workaround example
container osVersion;
//<--End
2. als erstes dann gleich mal folgenden Code rein
Code:
//<--Begin - MBS Workaround example
osVersion = WinAPI::getOSVersion();
if (conLen(osVersion) < 1 || (conPeek(osVersion,1) == 6 || conPeek(osVersion,1) == 7))
return false; //for Vista and Windows 2008 skip this functionality as Vista compatible programms do not write into the "Program Files"
//directory
//<--End
3. Kompilieren und los geht´s
Wir haben jetzt noch ca. 20 Vista (64Bit) Rechner im Einsatz und 2 Windows7 (64Bit) Rechner, auf denen überall die AX 3.0 SP6 Version ohne Probleme läuft.
Hoffe ich konnte dir weiterhelfen!
Lesezeichen