Symptomen
Overweeg het volgende scenario in Microsoft Dynamics SL 7.0 Feature Pack 1 (FP1). U maakt een toepassing met behulp van de Software Development Kit (SDK) en voegt vervolgens een VBA-aanpassing met code toe. Wanneer u de toepassing start, ontvangt u het volgende foutbericht:
"Microsoft Windows
<ApplicationName>. .. werkt niet meer"
Waar <ApplicationName> de naam is van de toepassing die u hebt gemaakt voor Microsoft Dynamics SL 7.0 Feature Pack 1 (FP1).
Oorzaak
Een toepassing die onderdelen gebruikt die zijn gemaakt met ATL-versie 7.1 of eerder, is gemaakt met de schakelknop /NXCOMPAT (http://msdn2.microsoft.com/en-us/library/ms235442.aspx), of wordt door het besturingssysteem anders beschouwd als 'Geen eXecute Compatible'. Als u Visual Studio 2008 installeert, kunnen programma's die vervolgens zijn gemaakt met VS 2008 of VS 2005, standaard NX-compatibiliteit inschakelen. Als het DEP-beleid voor het systeem is ingesteld op AlwaysOn, zien toepassingen met de oudere thunking-code (die wordt gebruikt om geheugenadressen (aanwijzers) tussen 16-bits en 32-bits code te vertalen, dit probleem.
Oplossing
Bouw de Project met de instelling in de gebeurtenissen na de build om de schakelknop /NXCOMPAT als volgt te verwijderen in Visual Studio 2008:
1) Open het SDK 7.0-project met Visual Studio 2008.
2) Klik met de rechtermuisknop en selecteer eigenschappen 3) Selecteer het tabblad Compileren 4) Klik op de knop 'Gebeurtenissen bouwen' onderaan 5) Voeg het volgende toe aan de gebeurtenis 'Post-build' met de oproep
'$(DevEnvDir)..\tools\vsvars32.bat'
editbin.exe /NXCOMPAT:NO "$(TargetPath)"
6) Het project opslaan en bouwen
Meer informatie
Raadpleeg de http://support.microsoft.com/kb/948468 voor meer informatie.