Síntomas
Considere el siguiente escenario en Microsoft Dynamics SL 7.0 Feature Pack 1 (FP1). Puede crear una aplicación con el Kit de desarrollo de software (SDK) y, a continuación, agregar una personalización de VBA con código. Cuando inicie la aplicación, recibirá el siguiente mensaje de error:
"Microsoft Windows
<ApplicationName>. .. ha dejado de funcionar"
Donde <ApplicationName> es el nombre de la aplicación que creó para Microsoft Dynamics SL 7.0 Feature Pack 1 (FP1).
Causa
Una aplicación que usa componentes creados con atl versión 7.1 o 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 considera "No compatible con eXecute". Instalar Visual Studio 2008 puede hacer que los programas creados posteriormente con VS 2008 o VS 2005 habiliten 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 de thunking anterior (usado para traducir direcciones de memoria (punteros) entre código de 16 bits y 32 bits) verán este problema.
Resolución
Cree el Project con la configuración en los eventos posteriores a la compilación para quitar el modificador /NXCOMPAT como se muestra en Visual Studio 2008:
1) Abra el proyecto SDK 7.0 con Visual Studio 2008.
2) Haga clic con el botón derecho y seleccione propiedades 3) Seleccione la pestaña Compilar 4) Haga clic en el botón "Generar eventos" en la parte inferior 5) Agregue lo siguiente a la llamada de eventos "Después de la
compilación" llamada
"$(DevEnvDir)..\tools\vsvars32.bat"
editbin.exe /NXCOMPAT:NO "$(TargetPath)"
6) Guardar y crear el proyecto
Más información
Consulte http://support.microsoft.com/kb/948468 para obtener más información.