ultimate todos professional pasar para los instalar formatear español desde descargar como cambiar booteable .net process 32bit-64bit syswow64

.net - todos - Cómo iniciar un proceso de 64 bits desde un proceso de 32 bits



instalar windows 7 64 bits desde usb (4)

Estoy intentando ejecutar un ejecutable de 64 bits (java.exe) desde nuestra aplicación .NET de 32 bits. Estoy usando la clase de Process e invocando cmd /c <command name> para admitir todos los comandos posibles (como dir , cd , etc.).

El problema es que en mi máquina instalé la versión de 64 bits de JRE y java.exe solo está disponible en la carpeta C:/Windows/System32 (x64). He intentado iniciar explícitamente la versión de 64 bits de cmd.exe llamando a C:/Windows/System32/cmd.exe pero se redirige a SysWOW64 debido a que el proceso de llamada es de 32 bits.

¿Hay algo más que pueda hacer para que esto funcione?

EDITAR Toda la cosa de cmd /c es un poco de una pista falsa. No es parte del problema, ser capaz de ejecutar ejecutables de 64 bits es.



Lo que hace es usar% windir% / sysnative para resolver CMD.EXE de 64 bits y luego iniciar su otro programa de 64 bits mediante la opción de línea de comandos "/ c".


Puede deshabilitar temporalmente la redirección del sistema de archivos alrededor de la llamada a Process.Start, las API apropiadas para P / Invoke son Wow64DisableWow64FsRedirection y Wow64RevertWow64FsRedirection .

Otra opción es usar% windir% / sysnative, que está disponible en Windows Vista y superior.


c:/>set proc PROCESSOR_ARCHITECTURE=x86 PROCESSOR_ARCHITEW6432=AMD64 PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 70 Stepping 1, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=4601 c:/>c:/windows/sysnative/cmd Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. c:/>set proc PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 70 Stepping 1, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=4601 c:/>