Sintomi
Tenere presente lo scenario seguente in Microsoft Dynamics SL 7.0 Feature Pack 1 (FP1). È possibile creare un'applicazione usando il Software Development Kit (SDK) e quindi aggiungere una personalizzazione VBA con codice. Quando si avvia l'applicazione, viene visualizzato il messaggio di errore seguente:
"Microsoft Windows
<ApplicationName>. .. ha smesso di funzionare"
Dove <ApplicationName> è il nome dell'applicazione creata per Microsoft Dynamics SL 7.0 Feature Pack 1 (FP1).
Causa
Un'applicazione che usa componenti compilati con ATL versione 7.1 o precedente viene compilata con l'opzione /NXCOMPAT (http://msdn2.microsoft.com/en-us/library/ms235442.aspx) o viene altrimenti considerata dal sistema operativo come "Non compatibile con eXecute". L'Visual Studio 2008 può causare la successiva installazione di programmi creati con VS 2008 o VS 2005 per abilitare la compatibilità NX per impostazione predefinita. Inoltre, se i criteri di protezione esecuzione programmi per il sistema sono impostati su AlwaysOn, le applicazioni che incorporano il precedente codice thunk (usato per tradurre gli indirizzi di memoria (puntatori) tra codice a 16 bit e a 32 bit, potranno vedere questo problema.
Risoluzione
Compilare il Project con l'impostazione negli eventi di post-compilazione per rimuovere l'opzione /NXCOMPAT come indicato di seguito in Visual Studio 2008:
1) Aprire il progetto SDK 7.0 con Visual Studio 2008.
2) Fare clic con il pulsante destro del mouse e scegliere proprietà 3) Selezionare la scheda Compila 4) Fare clic sul pulsante "Eventi di compilazione" nella parte inferiore 5) Aggiungere quanto segue agli eventi
"Post-build" chiamata
"$(DevEnvDir)..\tools\vsvars32.bat"
editbin.exe /NXCOMPAT:NO "$(TargetPath)"
6) Salvare e compilare il progetto
Ulteriori informazioni
Per altre informazioni, vedere http://support.microsoft.com/kb/948468 informazioni.