19

Tengo una gran aplicación de .NET 4.0.3 que debe ejecutarse en XP. Construye bien usando Visual Studio 2010 SP1 y se ejecuta correctamente en XP.¿Cómo apunté a .NET 4.0.3 en XP usando Visual Studio 2012? La aplicación no se puede ejecutar con "una aplicación Win32 no válida"

Creación usando la orientación de Visual Studio 2012 .NET 4.0.3 también funciona bien y funciona bien en Windows 7 pero no se ejecuta en XP. Me aparece un error que dice que MyApp.exe no es una aplicación Win32 válida.

¿Cómo puedo seguir apuntando a .NET 4.0.3 con soporte para máquinas con XP usando Visual Studio 2012?

+1

Visual Studio 2012 no admite Windows XP como objetivo sin algunas soluciones (consulte http://www.microsoft.com/visualstudio/11/en-us/products/compatibility). – Dai

+1

Puedo construir una aplicación .NET 4.0 usando Visual Studio 2012 y funciona bien en XP. Simplemente parece tener un problema con .NET 4.0.3. – KTrace

+0

¿Funciona en la máquina XP después de instalar http://www.microsoft.com/en-gb/download/details.aspx?id=29053? – PhonicUK

Respuesta

7

No estoy seguro de que esto funcione, pero pruebe el truco shown here para configurar manualmente la versión del subsistema con EditBin.exe.

+0

hey, funciona! Gracias. – Sebastian

+1

En un entorno VS2012, use 'editbin.exe" $ (TargetPath) "/SUBSYSTEM:WINDOWS.5.01/OSVERSION: 5.1' – Sebastian

9

También estamos teniendo este problema. No se trata de a qué marco se dirige su aplicación (estamos apuntando al cliente 4.0).

El problema es que Visual Studio 2012 no producirá un clic una vez setup.exe que se ejecutará en XP. El error es engañoso ya que siempre informa que el programa no es una aplicación Win32 válida. Lo hace en cualquier versión de XP, incluidas las versiones de 64 bits.

No es su aplicación la que está causando el problema, es el setup.exe producido por VS2012. La única manera que hemos encontrado para evitarlo es publicar utilizando VS2010.

0

actualización VS2012 1 se supone que debe resolver este problema. Sin embargo, no estoy seguro de qué opciones usar, ¿es Toolset en Project Properties-> General-> Platform Toolset?

+1

Eso lo resuelve solo para aplicaciones nativas – Sebastian

+0

Tenga en cuenta que esto no es propiedades del proyecto, sino propiedades de la solución. – Mark

1

Es posible establecer los requisitos del sistema de destino en Propiedades del proyecto -> Publicar -> Panel de requisitos previos (VS2012 con actualización 1). A pesar de que está compilando para .NET 4 (Propiedades del proyecto -> Aplicación -> Marco de destino) tendrá que cambiar los requisitos previos de 4.5 a 4, ya que no soltará los requisitos automáticamente.

Edificio con un objetivo de 4, pero prerrequisito de 4,5 iniciará el instalador, pero fallar en las comprobaciones del sistema

+0

Gracias por esta información .. resuelto mi problema – gezzuzz

0

Esto funcionó para mí - sólo construir su solución en el estudio de 2012, y tomar una copia de los contenidos de la solución de la carpeta Debug Asegúrese de que el cliente XP tenga instalado .net 4.

Cuestiones relacionadas