Recibe el mensaje de error "XXXXX.. ha dejado de funcionar "al iniciar la aplicación SDK de 7,0 que incluye personalizaciones de VBA


Síntomas


Considere el siguiente escenario en Microsoft Dynamics SL 7,0 Feature Pack 1 (FP1).  Cree una aplicación con el kit de desarrollo de software (SDK) y, a continuación, agregue una personalización de VBA con código.  Cuando inicia la aplicación, recibe el siguiente mensaje de error:

"Microsoft Windows

<ApplicationName>. .. ha dejado de funcionar "

Donde <ApplicationName> es el nombre de la aplicación que ha creado para Microsoft Dynamics SL 7,0 Feature Pack 1 (FP1).

Causa


Una aplicación que usa componentes creados con la versión 7,1 de ATL (o una anterior) se ha creado con el modificador /NXCompat (http://msdn2.Microsoft.com/en-us/library/ms235442.aspx) o, de lo contrario, el sistema operativo lo trata como "no se pudo ejecutar.".  Instalar Visual Studio 2008 puede hacer que los programas se compilen posteriormente con VS 2008 o VS 2005 para habilitar la compatibilidad con NX de forma predeterminada.  Además, si la Directiva DEP para el sistema se establece en AlwaysOn, las aplicaciones que incorporan el código thunk anterior (que se usa para traducir las direcciones de memoria (punteros) entre el código de 16 bits y 32 bits) verán este problema.

 

Resolución


Genere el proyecto con la configuración en los eventos posteriores a la compilación para quitar el modificador de/NXCOMPAT de la siguiente manera en Visual Studio 2008:

1) Abra el proyecto 7,0 de SDK con Visual Studio 2008,2) haga clic con el botón secundario del mouse y seleccione properties3) Seleccione la tab4 de compilación) haga clic en el botón de eventos de compilación en el bottom5), agregue lo siguiente a "posterior a la compilación" eventscall "$ (DevEnvDir).. \tools\vsvars32.bat "EDITBIN. exe/NXCOMPAT: NO" $ (TargetPath) "6) guardar y compilar el proyecto

Más información


Para obtener más información, consulta http://support.Microsoft.com/kb/948468 .